* Additional high-pass filter
* ability to use a linear Q
* add custom sinus modulator mapping function
* add GEN_CUSTOM_FILTERFC and GEN_CUSTOM_FILTERQ generators
* introduce fluid_synth_custom_filter()
* make custom filter user adjustable by custom flags
The EMU8k/10k hardware applies a 0.4 factor to all initially set attenuation generator values. Do this once on soundfont load.
Remove the invalid -531.509 power factor that was computed from Timidiy's non-standard conversion table. And remove the synth.volenv switch again, as the "compliant" setting wasn't compliant at all.
This allows us to get rid of the atten2amp function and use cb2amp everywhere, with a range of 0 1440 centibels.
Fixes#70
Supersedes #71
Supersedes #318
FluidSynths overflow priority calculation, that determines which voice to
kill if the current polyphony limit has been reached, treats all channels
as equal. Only percussion channels can get a user defined score added to
their priority.
In certain use-cases there can be a number of MIDI channels that are much
more important than other ones, and not just percussion channels. For
example, a channel playing a constant pad sound which would be very
noticeable if killed.
This change adds two new synth.overflow settings:
- synth.overflow.important
- synth.overflow.important-channels
They add the ability to mark MIDI channels as "important" and have
the overflow calculation add a user defined score to voices on those
channels.
it provided functionality in between of fluid_synth_get_program() and fluid_synth_get_channel_preset(), which however was not visible from the user perspective
* Dsound driver is now making use of an already existing window handle: the desktop window
* Removing of fluid_dll.c because it has becoming useless
* avoid a potential deadlock when calling functions within DllMain()
* remove obsolete fluid_set_hinstance() and fluid_get_hinstance() from public API