18#include <vamp-hostsdk/PluginLoader.h>
20#include <wx/weakref.h>
22#include "../StatefulEffectUIServices.h"
34#define VAMPEFFECTS_VERSION wxT("1.0.0.0")
37#define VAMPEFFECTS_FAMILY XO("Vamp")
42 VampEffect(std::unique_ptr<Vamp::Plugin> &&plugin,
100 Vamp::HostExt::PluginLoader::PluginKey
mKey;
118 DECLARE_EVENT_TABLE()
wxString PluginPath
type alias for identifying a Plugin supplied by a module, each module defining its own interpretation...
static Settings & settings()
CommandParameters, derived from wxFileConfig, is essentially doing the same things as the SettingsVis...
ComponentInterfaceSymbol pairs a persistent string identifier used internally with an optional,...
Performs effect computation.
Hold values to send to effect output meters.
A LabelTrack is a Track that holds labels (LabelStruct).
Derived from ShuttleGuiBase, an Audacity specific class for shuttling data to and from GUI.
Holds a msgid for the translation catalog; may also bind format arguments.
ArrayOf< wxCheckBox * > mToggles
void OnCheckBox(wxCommandEvent &evt)
bool IsDefault() const override
Whether the effect sorts "above the line" in the menus.
PluginPath GetPath() const override
bool TransferDataToWindow(const EffectSettings &settings) override
ComponentInterfaceSymbol GetSymbol() const override
bool TransferDataFromWindow(EffectSettings &settings) override
EffectFamilySymbol GetFamily() const override
Report identifier and user-visible name of the effect protocol.
bool IsInteractive() const override
Whether the effect needs a dialog for entry of settings.
void OnTextCtrl(wxCommandEvent &evt)
ArrayOf< wxSlider * > mSliders
VampEffect(std::unique_ptr< Vamp::Plugin > &&plugin, const PluginPath &path, int output, bool hasParameters)
EffectType GetType() const override
Type determines how it behaves.
VendorSymbol GetVendor() const override
Vamp::Plugin::ParameterList mParameters
ArrayOf< wxChoice * > mChoices
ArrayOf< wxStaticText * > mLabels
std::unique_ptr< Vamp::Plugin > mPlugin
TranslatableString GetDescription() const override
bool Process(EffectInstance &instance, EffectSettings &settings) override
ArrayOf< wxTextCtrl * > mFields
std::unique_ptr< EffectEditor > PopulateOrExchange(ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access, const EffectOutputs *pOutputs) override
Add controls to effect panel; always succeeds.
wxWeakRef< wxWindow > mUIParent
bool SaveSettings(const EffectSettings &settings, CommandParameters &parms) const override
Store settings as keys and values.
void OnSlider(wxCommandEvent &evt)
bool LoadSettings(const CommandParameters &parms, EffectSettings &settings) const override
Restore settings from keys and values.
unsigned GetAudioInCount() const override
How many input buffers to allocate at once.
Vamp::HostExt::PluginLoader::PluginKey mKey
wxString GetVersion() const override
void OnChoice(wxCommandEvent &evt)
void AddFeatures(LabelTrack *track, Vamp::Plugin::FeatureSet &features)
Externalized state of a plug-in.