From 7a95f400a32a258c39ac49eb71b51a84ac4a97c6 Mon Sep 17 00:00:00 2001 From: Jonathan Wilkes <jon.w.wilkes@gmail.com> Date: Fri, 3 Jun 2016 23:34:11 -0400 Subject: [PATCH] fuzzy port 1f2828f1f7620ded82263e4f9f920df4b31a388b from Pd-l2ork: we just copied from pd-l2ork HEAD for main.cpp here --- externals/footils/fluid/fluid/main.cpp | 71 ++++++++++++++------------ 1 file changed, 39 insertions(+), 32 deletions(-) diff --git a/externals/footils/fluid/fluid/main.cpp b/externals/footils/fluid/fluid/main.cpp index 37b46a043..2f83feb66 100644 --- a/externals/footils/fluid/fluid/main.cpp +++ b/externals/footils/fluid/fluid/main.cpp @@ -55,6 +55,7 @@ class fluid: AddInAnything(); // slurp anything AddOutSignal(2); // 2 audio out [ == AddOutSignal(2) ] fluid::fluid_init(argc, argv); + settings = NULL; } // end of constructor ~fluid() @@ -117,7 +118,7 @@ class fluid: private: fluid_synth_t *synth; - fluid_settings_t * settings = NULL; + fluid_settings_t * settings; FLEXT_CALLBACK_V(fluid_load) void fluid_load(int argc, t_atom *argv); @@ -265,42 +266,48 @@ void fluid::fluid_init(int argc, t_atom *argv) //fluid_settings_t * settings = NULL; settings = new_fluid_settings(); - - // fluid_settings_setstr(settings, "audio.driver", "float"); - - // settings: - fluid_settings_setnum(settings, "synth.midi-channels", 16); - fluid_settings_setnum(settings, "synth.polyphony", 256); - fluid_settings_setnum(settings, "synth.gain", 0.600000); - fluid_settings_setnum(settings, "synth.sample-rate", 44100.000000); - fluid_settings_setstr(settings, "synth.chorus.active", "no"); - fluid_settings_setstr(settings, "synth.reverb.active", "no"); - fluid_settings_setstr(settings, "synth.ladspa.active", "no"); - - if (sr != 0) + if ( settings == NULL ) { - fluid_settings_setnum(settings, "synth.sample-rate", sr); + post("fluid~: couldn't create synth settings\n"); } - + else + { + // fluid_settings_setstr(settings, "audio.driver", "float"); + + // settings: + fluid_settings_setnum(settings, "synth.midi-channels", 16); + fluid_settings_setnum(settings, "synth.polyphony", 256); + fluid_settings_setnum(settings, "synth.gain", 0.600000); + fluid_settings_setnum(settings, "synth.sample-rate", 44100.000000); + fluid_settings_setstr(settings, "synth.chorus.active", "no"); + fluid_settings_setstr(settings, "synth.reverb.active", "no"); + fluid_settings_setstr(settings, "synth.ladspa.active", "no"); + + if (sr != 0) + { + fluid_settings_setnum(settings, "synth.sample-rate", sr); + } + - // Create fluidsynth instance: - synth = new_fluid_synth(settings); - - if ( synth == NULL ) - { - post("fluid~: couldn't create synth\n"); - } - - // try to load argument as soundfont - fluid_load(argc, argv); + // Create fluidsynth instance: + synth = new_fluid_synth(settings); + + if ( synth == NULL ) + { + post("fluid~: couldn't create synth\n"); + } + + // try to load argument as soundfont + fluid_load(argc, argv); - //if (settings != NULL ) - // delete_fluid_settings(settings); - - // We're done constructing: - if (synth) - post("-- fluid~ with flext ---"); + //if (settings != NULL ) + // delete_fluid_settings(settings); + + // We're done constructing: + if (synth) + post("-- fluid~ with flext ---"); + } } -- GitLab