12#ifndef __AUDACITY_EFFECTMANAGER__
13#define __AUDACITY_EFFECTMANAGER__
20#include <unordered_map>
39using EffectMap = std::unordered_map<wxString, EffectAndDefaultSettings>;
40using EffectOwnerMap = std::unordered_map< wxString, std::shared_ptr<EffectPlugin> >;
63 kDontRepeatLast = 0x04,
67 kRepeatNyquistPrompt = 0x10,
72 GetInstanceFactory(
const PluginID& ID);
91 const PluginID & RegisterEffect(std::unique_ptr<EffectPlugin> uEffect);
93 void UnregisterEffect(
const PluginID & ID);
100 bool HasPresets(
const PluginID & ID);
103 wxString GetDefaultPreset(
const PluginID & ID);
106 void SetSkipStateFlag(
bool flag);
107 bool GetSkipStateFlag();
120 std::pair<EffectPlugin*, EffectSettings*>
121 GetEffectAndDefaultSettings(
const PluginID& ID);
EffectDistortionSettings params
EFFECTS_API bool HasCurrentSettings(EffectPlugin &host)
EFFECTS_API bool HasFactoryDefaults(EffectPlugin &host)
std::unordered_map< wxString, std::shared_ptr< EffectPlugin > > EffectOwnerMap
std::unordered_map< wxString, EffectAndDefaultSettings > EffectMap
EFFECTS_API RegistryPaths GetUserPresets(EffectPlugin &host)
std::vector< RegistryPath > RegistryPaths
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
CommandContext provides additional information to an 'Apply()' command. It provides the project,...
ComponentInterfaceSymbol pairs a persistent string identifier used internally with an optional,...
Base class for many of the effects in Audacity.
Performs effect computation.
EffectManager is the class that handles effects and effect categories.
std::function< std::optional< wxString >(EffectPlugin &, const wxString &preset)> EffectPresetDialog
EffectOwnerMap mHostEffects
Factory of instances of an effect.
Holds a msgid for the translation catalog; may also bind format arguments.
Services * Get()
Fetch the global instance, or nullptr if none is yet installed.
Externalized state of a plug-in.