Greetings :-) I've been trying to work out how to use ladspa plugins. I'd like to implement cc71 and cc74 (filter Q and Freq), and also to do The Great Missing Midi Controller namely whole-of-channel distortion, for which I have previously used cc87 controlling foverdrive_1196
Most of the relevant stuff seems to be in bindings/fluid_ladspa.h eg: fluid_LADSPA_FxUnit_t* new_fluid_LADSPA_FxUnit(fluid_synth_t* synth); int fluid_LADSPA_handle_start( fluid_synth_t* synth, int ac, char** av, fluid_ostream_t out ); void fluid_LADSPA_run( fluid_LADSPA_FxUnit_t* Fx_unit, fluid_real_t* left_buf[], fluid_real_t* right_buf[], fluid_real_t* fx_left_buf[], fluid_real_t* fx_right_buf[] ); fluid_LADSPA_Node_t* fluid_LADSPA_RetrieveNode( fluid_LADSPA_FxUnit_t* FxUnit, char * Name ); fluid_LADSPA_Node_t* fluid_LADSPA_CreateNode( fluid_LADSPA_FxUnit_t* FxUnit, char * Name, int flags ); void fluid_LADSPA_clear(fluid_LADSPA_FxUnit_t* FxUnit); One, er, feature of new_fluid_LADSPA_FxUnit is that the plugin will apply to all channels in the synth, which would make it necessary to start a separate synth for every channel. OTOH, I think I saw a comment somewhere about removing ladspa dependencies from the synth object, so maybe this is changing ? Is a 'Node' the plugin's control-parameter ? Eg: like the 3.0 in play chord.wav ladspa foverdrive_1196 3.0 or ecasound -i chord.wav -o alsa -el:foverdrive,3.0 ? There's doc/FluidSynth-LADSPA.pdf but that seems to be from 2002 and applies to the Iiwusynth... Could someone give a newbie a tour of the state of ladspa ? Is a hello-world example (at the C-API level) somewhere ? Regards, Peter Billam http://www.pjb.com.au p...@pjb.com.au (03) 6278 9410 "Follow the charge, not the particle." -- Richard Feynman from The Theory of Positrons, Physical Review, 1949 _______________________________________________ fluid-dev mailing list fluid-dev@nongnu.org https://lists.nongnu.org/mailman/listinfo/fluid-dev