diff options
-rw-r--r-- | doc/user.xml | 31 | ||||
-rw-r--r-- | src/decoder/fluidsynth_decoder_plugin.c | 13 |
2 files changed, 38 insertions, 6 deletions
diff --git a/doc/user.xml b/doc/user.xml index fdfbc4419..bb83674db 100644 --- a/doc/user.xml +++ b/doc/user.xml @@ -819,6 +819,37 @@ systemctl start mpd.socket</programlisting> </section> <section> + <title><varname>fluidsynth</varname></title> + + <para> + MIDI decoder based on libfluidsynth. + </para> + + <informaltable> + <tgroup cols="2"> + <thead> + <row> + <entry>Setting</entry> + <entry>Description</entry> + </row> + </thead> + <tbody> + <row> + <entry> + <varname>soundfont</varname> + </entry> + <entry> + The absolute path of the soundfont file. Defaults + to + <filename>/usr/share/sounds/sf2/FluidR3_GM.sf2</filename>. + </entry> + </row> + </tbody> + </tgroup> + </informaltable> + </section> + + <section> <title><varname>mikmod</varname></title> <para> diff --git a/src/decoder/fluidsynth_decoder_plugin.c b/src/decoder/fluidsynth_decoder_plugin.c index 1fef209bc..ed0efdd99 100644 --- a/src/decoder/fluidsynth_decoder_plugin.c +++ b/src/decoder/fluidsynth_decoder_plugin.c @@ -28,6 +28,8 @@ #undef G_LOG_DOMAIN #define G_LOG_DOMAIN "fluidsynth" +static const char *soundfont_path; + /** * Convert a fluidsynth log level to a GLib log level. */ @@ -65,8 +67,12 @@ fluidsynth_mpd_log_function(int level, char *message, G_GNUC_UNUSED void *data) } static bool -fluidsynth_init(G_GNUC_UNUSED const struct config_param *param) +fluidsynth_init(const struct config_param *param) { + soundfont_path = + config_get_block_string(param, "soundfont", + "/usr/share/sounds/sf2/FluidR3_GM.sf2"); + fluid_set_log_function(LAST_LOG_LEVEL, fluidsynth_mpd_log_function, NULL); @@ -86,17 +92,12 @@ fluidsynth_file_decode(struct decoder *decoder, const char *path_fs) char setting_verbose[] = "synth.verbose"; char setting_yes[] = "yes"; */ - const char *soundfont_path; fluid_settings_t *settings; fluid_synth_t *synth; fluid_player_t *player; int ret; enum decoder_command cmd; - soundfont_path = - config_get_string("soundfont", - "/usr/share/sounds/sf2/FluidR3_GM.sf2"); - /* set up fluid settings */ settings = new_fluid_settings(); |