And another idea.
This might be a lot of effort to implement. But in my opinion it could be very useful for users of Synth VSTs. And ReaLearn would be a good place to implement it. It cannot simply be programmed as a JSFX, because it needs access to the current values of VST parameters.
I think there is some technical overlap with #273 (Reset FX parameters to last value).
As a VST User, I would love to use my Performance Controllers (ModWheel etc) in a general (similar) way for all my VSTs and all their presets, without having to adapt all the presets, and without having to analyse or fully try out each preset "ah, in this preset ModWheel is used for X, and Aftertouch for Y, and Breath and Expression are ignored".
Example:
I would like to configure, in general, the ModWheel to affect the "Lowpass Filter Cutoff" parameter (either virtual, see #205 , or for specific VSTs) as follows:
At 20%, the VST preset sound would be just as programmed in the preset
Towards 0%, the cutoff would be reduced
Towards 100%, the cutoff would be increased
ReaLearn would adapt the parameter value in the VST according to the ModWheel setting (InitialVstValue + ModWheelValue*Scaling + Offset).
However, when the parameter value in the VST is changed by manually adjusting it (maybe through a normal ReaLearn mapping), or by changing the preset, the InitialVstValue in ReaLearn would be adjusted appropriately so that no jumps occur when moving the ModWheel (only when changing the VST preset, or "jumping" with the VST GUI parameter).
(To be able to do this, ReaLearn needs to memorize InitialVstValue, and it needs to be able to detect a preset change in the VST)
With Performance Controller I mean:
Modwheel (CC 1)
Breath Controller (CC 2)
Volume (CC 7)
Expression Pedal (CC 11)
Brilliance (CC74)
Aftertouch (Channel Pressure - I am not aiming at MPE here)
Related Requirement (maybe already possible, and can otherwise easily be implemented with a separate, small JSFX):
In my experience a keyboard player can only operate up to 2 Performance Controllers at once (in addition to velocity and occasional pitchbend or aftertouch).
To affect different instrument characteristics, it makes sense to be able to configure multiple targets for one source.
Example:
Source: Breath Controller
Targets:
up to 50%, the Volume of the sound increases
from 25% to 75%, the Brilliance (e.g. LowPass Filter Cutoff) of the sound increases
from 75% to 100%, something like Distortion sets in
(These targets would then correspond to three different Performance Controllers from the list above)
And another idea. This might be a lot of effort to implement. But in my opinion it could be very useful for users of Synth VSTs. And ReaLearn would be a good place to implement it. It cannot simply be programmed as a JSFX, because it needs access to the current values of VST parameters. I think there is some technical overlap with #273 (Reset FX parameters to last value).
As a VST User, I would love to use my Performance Controllers (ModWheel etc) in a general (similar) way for all my VSTs and all their presets, without having to adapt all the presets, and without having to analyse or fully try out each preset "ah, in this preset ModWheel is used for X, and Aftertouch for Y, and Breath and Expression are ignored".
Example: I would like to configure, in general, the ModWheel to affect the "Lowpass Filter Cutoff" parameter (either virtual, see #205 , or for specific VSTs) as follows:
With Performance Controller I mean:
Related Requirement (maybe already possible, and can otherwise easily be implemented with a separate, small JSFX): In my experience a keyboard player can only operate up to 2 Performance Controllers at once (in addition to velocity and occasional pitchbend or aftertouch). To affect different instrument characteristics, it makes sense to be able to configure multiple targets for one source. Example: Source: Breath Controller Targets: