From 2fcee83de3667953b8100ea3255471a0144b4243 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torbj=C3=B6rn=20Andersson?= Date: Wed, 13 Jan 2021 09:44:44 +0100 Subject: [PATCH 1/2] FLUIDSYNTH: Make FluidSynth logging less noisy by default --- audio/softsynth/fluidsynth.cpp | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/audio/softsynth/fluidsynth.cpp b/audio/softsynth/fluidsynth.cpp index e0d7c4e3df33..fe2b0689c283 100644 --- a/audio/softsynth/fluidsynth.cpp +++ b/audio/softsynth/fluidsynth.cpp @@ -46,6 +46,29 @@ #include "backends/platform/ios7/ios7_common.h" #endif +static void logHandler(int level, const char *message, void *data) { + switch (level) { + case FLUID_PANIC: + error("FluidSynth: %s", message); + break; + case FLUID_ERR: + warning("FluidSynth: %s", message); + break; + case FLUID_WARN: + debug(2, "FluidSynth: %s", message); + break; + case FLUID_INFO: + debug(1, "FluidSynth: %s", message); + break; + case FLUID_DBG: + debug(3, "FluidSynth: %s", message); + break; + default: + fluid_default_log_function(level, message, data); + break; + } +} + class MidiDriver_FluidSynth : public MidiDriver_Emulated { private: MidiChannel_MPU401 _midiChannels[16]; @@ -166,6 +189,12 @@ int MidiDriver_FluidSynth::open() { if (_isOpen) return MERR_ALREADY_OPEN; + fluid_set_log_function(FLUID_PANIC, logHandler, NULL); + fluid_set_log_function(FLUID_ERR, logHandler, NULL); + fluid_set_log_function(FLUID_WARN, logHandler, NULL); + fluid_set_log_function(FLUID_INFO, logHandler, NULL); + fluid_set_log_function(FLUID_DBG, logHandler, NULL); + #if defined(FLUIDSYNTH_VERSION_MAJOR) && FLUIDSYNTH_VERSION_MAJOR > 1 // When provided with in-memory SoundFont data, only use the configured // SoundFont instead if it's explicitly configured on the current game. From 37cab4597ce5678fd8bd6e01d56fa8d68b3294b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torbj=C3=B6rn=20Andersson?= Date: Mon, 8 Mar 2021 20:19:22 +0100 Subject: [PATCH 2/2] FLUIDSYNTH: Swapped debug levels for FLUID_WARN and FLUID_INFO If FLUID_INFO is "verbose informational messages", perhaps they should be better hidden from the average user than warnings. Particularly since warnings are the only kind I've actually seen in the wild. (Change suggested by criezy.) --- audio/softsynth/fluidsynth.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/audio/softsynth/fluidsynth.cpp b/audio/softsynth/fluidsynth.cpp index fe2b0689c283..e41a7515b205 100644 --- a/audio/softsynth/fluidsynth.cpp +++ b/audio/softsynth/fluidsynth.cpp @@ -55,10 +55,10 @@ static void logHandler(int level, const char *message, void *data) { warning("FluidSynth: %s", message); break; case FLUID_WARN: - debug(2, "FluidSynth: %s", message); + debug(1, "FluidSynth: %s", message); break; case FLUID_INFO: - debug(1, "FluidSynth: %s", message); + debug(2, "FluidSynth: %s", message); break; case FLUID_DBG: debug(3, "FluidSynth: %s", message);