Based on Robert's and Steve's suggestions, I removed the "Clear"
button, replaced FileDialog usage with wxFileDialog to restore
extension suffixing, and escaped newlines in save settings so
that chains work properly.
I also attempted to locate the issue where code isn't being
parsed and made a couple of changes, but I doubt I got it.
In particular, use an options structure for AudioIO::StartStream to simplify
calls
ControlToolBar::PlayPlayRegion also takes that structure as an argument, and a
SelectedRegion instead of two times
And other changes
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.
New project. New track. Generate sound -- do not cancel. Select all,
generate sound again -- this time, do cancel the progress dialog.
Undo, so you see one, empty track again. Save. Close. Reopen.
The cause of these orphans is different from the first case. The previous
commit is necessary but not sufficient to fix this.
This fixes the first of two related memory leak bugs:
New project. Make a new track. Select the track and use any generator, such
as white noise, specifying a long enough length that a progress dialog appears.
Cancel the progress dialog.
Save the project. Exit and restart Audacity. Reopen the project.
Orphans!