1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-11-21 16:37:12 +01:00

Migrating the remaining effects

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.
This commit is contained in:
Leland Lucius
2015-04-16 22:53:42 -05:00
parent 40e6bcc56a
commit 8fbfa460c4
140 changed files with 17288 additions and 20367 deletions

View File

@@ -24,20 +24,6 @@
private:
void CreateMenusAndCommands();
#ifdef EFFECT_CATEGORIES
/** Generate submenus for the categories that contain more than one effect
and return the effects from the categories that do not contain more than
submenuThreshold effects so the caller can add them to the current menu. */
EffectSet CreateEffectSubmenus(CommandManager* c,
const CategorySet& categories, int flags,
unsigned submenuThreshold = 1);
/** Add the set of effects to the current menu. */
void AddEffectsToMenu(CommandManager* c, const EffectSet& effects);
#endif
void PopulateEffectsMenu(CommandManager *c, EffectType type, int batchflags, int realflags);
void AddEffectMenuItems(CommandManager *c, EffectPlugs & plugs, int batchflags, int realflags, bool isDefault);
void AddEffectMenuItemGroup(CommandManager *c, const wxArrayString & names, const PluginIDList & plugs, const wxArrayInt & flags, bool isDefault);
@@ -361,17 +347,22 @@ void OnEditLabels();
// Effect Menu
bool OnEffect(int type, const PluginID & ID, wxString params = wxEmptyString, bool saveState = true);
void OnEffect(const PluginID & pluginID);
void OnEffect(const PluginID & pluginID, bool configured = false);
class OnEffectFlags
{
public:
// No flags specified
static const int kNone = 0x00;
// Flag used to disable prompting for configuration parameteres.
static const int kConfigured = 0x01;
// Flag used to disable saving the state after processing.
static const int kSkipState = 0x02;
};
bool OnEffect(const PluginID & ID, int flags = OnEffectFlags::kNone);
void OnRepeatLastEffect(int index);
#ifdef EFFECT_CATEGORIES
void OnProcessAny(int index);
#endif
void OnApplyChain();
void OnEditChains();
void OnStereoToMono(int index);
wxString BuildCleanFileName(wxString fileName, wxString extension);
// Help Menu