Allow 2 decimal places in Normalize control (as requested by Gale).
I don't see any practical case where this is 'necessary', but it is a user request, there may be some obscure use case, and it does no harm.
Non-linear effects now process tracks before mixing.
This will be slower when multiple tracks are selected
but the preview should now match the applied effect.
SetLinearEffectFlag(true) allows linear effects to
preview more quickly when multiple tracks selected, by
pre-mixing selected tracks.
Simple generators like Tone and Noise may be marked as
'linear' so that they only preview a few seconds.
Generators that vary over time (such as Chirp) must use
the full duration that is set. As this currently
requires calculating the full duration, preview for
'non-linear' generators are not limited to the preview
length.
This brings the builtin, LV2, and VAMP effects inline with the
Audio Units, LADSPA, and VST effects. All effects now share
a common UI.
This gives all effects (though not implemented for all):
User and factory preset capability
Preset import/export capability
Shared or private configuration options
Builtin effects can now be migrated to RTP, depending on algorithm.
LV2 effects now support graphical interfaces if the plugin supplies one.
Nyquist prompt enhanced to provide some features of the Nyquist Workbench.
It may not look like it, but this was a LOT of work, so trust me, there
WILL be problems and everything effect related should be suspect. Keep
a sharp eye (or two) open.
Make default normalization level -1.0dB.
Disallow norm level >0dB.
If level read from pref is +ve, make it -ve.
Add checking for various illegal OK/Preview combinations.
Validate input on a numeric input field.
Allow stereo normalising.
Default to stereo normalising.
Speedup (maybe 20%) by use of track->GetMinMax instead of an expensive conditional in a tight loop.