failed attempt to add a particular modulator
This commit is contained in:
parent
6c96994946
commit
370d599f62
|
@ -15,7 +15,8 @@ FluidSynthModel::FluidSynthModel(SharesParams& p)
|
||||||
currentSampleRate(44100),
|
currentSampleRate(44100),
|
||||||
initialised(false),
|
initialised(false),
|
||||||
sfont_id(0),
|
sfont_id(0),
|
||||||
channel(0)
|
channel(0),
|
||||||
|
mod(nullptr)
|
||||||
|
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
@ -26,6 +27,7 @@ FluidSynthModel::~FluidSynthModel() {
|
||||||
delete_fluid_settings(settings);
|
delete_fluid_settings(settings);
|
||||||
// delete driver;
|
// delete driver;
|
||||||
// delete settings;
|
// delete settings;
|
||||||
|
delete_fluid_mod(mod);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -61,6 +63,33 @@ void FluidSynthModel::initialise() {
|
||||||
|
|
||||||
// changePreset(128, 13);
|
// changePreset(128, 13);
|
||||||
|
|
||||||
|
mod = new_fluid_mod();
|
||||||
|
|
||||||
|
// modulator's primary source controller and flags
|
||||||
|
// fluid_mod_src:
|
||||||
|
// https://github.com/FluidSynth/fluidsynth/blob/master/include/fluidsynth/mod.h#L61
|
||||||
|
// fluid_mod_flags:
|
||||||
|
// https://github.com/FluidSynth/fluidsynth/blob/master/include/fluidsynth/mod.h#L41
|
||||||
|
// diagrams showing what negative and concave mean:
|
||||||
|
// https://musescore.org/en/user/527826/blog/2016/05/23/volume-fluidsynth
|
||||||
|
// fluid_gen_type:
|
||||||
|
// https://github.com/FluidSynth/fluidsynth/blob/master/include/fluidsynth/gen.h#L36
|
||||||
|
// https://github.com/FluidSynth/fluidsynth/blob/master/src/synth/fluid_gen.c#L27
|
||||||
|
fluid_mod_set_source1(mod,
|
||||||
|
FLUID_MOD_KEYPRESSURE,
|
||||||
|
FLUID_MOD_CC |
|
||||||
|
FLUID_MOD_POSITIVE |
|
||||||
|
FLUID_MOD_UNIPOLAR |
|
||||||
|
FLUID_MOD_CONCAVE);
|
||||||
|
// modulator's secondary source controller and flags
|
||||||
|
// MIDI CC 74
|
||||||
|
fluid_mod_set_source2(mod, 74, FLUID_MOD_CC);
|
||||||
|
// generator for filter cutoff
|
||||||
|
fluid_mod_set_dest(mod, GEN_FILTERFC);
|
||||||
|
fluid_mod_set_amount(mod, 13500.0f);
|
||||||
|
|
||||||
|
fluid_synth_add_default_mod(synth, mod, FLUID_SYNTH_ADD);
|
||||||
|
|
||||||
initialised = true;
|
initialised = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -88,6 +88,8 @@ private:
|
||||||
unsigned int sfont_id;
|
unsigned int sfont_id;
|
||||||
unsigned int channel;
|
unsigned int channel;
|
||||||
|
|
||||||
|
fluid_mod_t* mod;
|
||||||
|
|
||||||
ListenerList<Listener> eventListeners;
|
ListenerList<Listener> eventListeners;
|
||||||
|
|
||||||
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (FluidSynthModel)
|
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (FluidSynthModel)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user