Discovered a sizing problem when working on the effect registration
dialog and then found that others had mentioned a similar sizing
issue with the TimerRecordingDialog.
Since we don't actually change the locale when we change languages,
we can't use whatever is defined in the locale for the decimal and
thousands separator.
This is because standard library functions are used to format and
parse numbers and since these library functions use whatever is
set for the current locale, we can use comma for the fraction
separator or the period for the thousands separator.
When the dialog yielded, it opened up a window that allowed events
to flow to other parts of the app that shouldn't be receiving them
while the action is in progress. This could cause odd behavior
or crashes.
I've removed the yields and hopefully the darn thing will still
work right.
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.
When building for wx3 on Linux, the backported number validators
and formatter conflicts with the wx3 version because I never
renamed them. Crashes during termination would occur because
the wx3 version and our version had different vtables.
I was thinking that we would just be able to delete the
backported version when upgrading to wx3, but since
we've made Audacity specific changes to them we can't
simply start using the real wx3 versions anymore.
Therefore, I needed to rename then to prevent the crashes.
This will fix the clipping indicator turning on after a toolbar reset
and, as a bonus, the timers now only run if playing, capturing, or
monitoring. Will (slightly) reduce the CPU consumption.