![]() |
Audacity 3.2.0
|
#include <VSTEffect.h>
Classes | |
struct | ResourceHandle |
Public Member Functions | |
VSTEffect (const PluginPath &path, VSTEffect *master=NULL) | |
virtual | ~VSTEffect () |
PluginPath | GetPath () const override |
ComponentInterfaceSymbol | GetSymbol () const override |
VendorSymbol | GetVendor () const override |
wxString | GetVersion () const override |
TranslatableString | GetDescription () const override |
EffectType | GetType () const override |
Type determines how it behaves. More... | |
EffectFamilySymbol | GetFamily () const override |
Report identifier and user-visible name of the effect protocol. More... | |
bool | IsInteractive () const override |
Whether the effect needs a dialog for entry of settings. More... | |
bool | IsDefault () const override |
Whether the effect sorts "above the line" in the menus. More... | |
bool | SupportsRealtime () const override |
Whether the effect supports realtime previewing (while audio is playing). More... | |
bool | SupportsAutomation () const override |
Whether the effect has any automatable controls. More... | |
bool | SaveSettings (const EffectSettings &settings, CommandParameters &parms) const override |
Store settings as keys and values. More... | |
bool | LoadSettings (const CommandParameters &parms, EffectSettings &settings) const override |
Restore settings from keys and values. More... | |
bool | LoadUserPreset (const RegistryPath &name, EffectSettings &settings) const override |
Change settings to a user-named preset. More... | |
bool | DoLoadUserPreset (const RegistryPath &name, EffectSettings &settings) |
bool | SaveUserPreset (const RegistryPath &name, const EffectSettings &settings) const override |
Save settings in the configuration file as a user-named preset. More... | |
RegistryPaths | GetFactoryPresets () const override |
Report names of factory presets. More... | |
bool | LoadFactoryPreset (int id, EffectSettings &settings) const override |
Change settings to the preset whose name is GetFactoryPresets()[id] More... | |
bool | DoLoadFactoryPreset (int id) |
unsigned | GetAudioInCount () const override |
How many input buffers to allocate at once. More... | |
unsigned | GetAudioOutCount () const override |
How many output buffers to allocate at once. More... | |
int | GetMidiInCount () const override |
Function that has not yet found a use. More... | |
int | GetMidiOutCount () const override |
Function that has not yet found a use. More... | |
sampleCount | GetLatency () override |
void | SetSampleRate (double rate) override |
size_t | SetBlockSize (size_t maxBlockSize) override |
size_t | GetBlockSize () const override |
bool | IsReady () |
bool | ProcessInitialize (EffectSettings &settings, sampleCount totalLen, ChannelNames chanMap) override |
bool | DoProcessInitialize (sampleCount totalLen, ChannelNames chanMap) |
bool | ProcessFinalize () override |
size_t | ProcessBlock (EffectSettings &settings, const float *const *inBlock, float *const *outBlock, size_t blockLen) override |
Called for destructive effect computation. More... | |
bool | RealtimeInitialize (EffectSettings &settings) override |
bool | RealtimeAddProcessor (EffectSettings &settings, unsigned numChannels, float sampleRate) override |
bool | RealtimeFinalize (EffectSettings &settings) noexcept override |
bool | RealtimeSuspend () override |
bool | RealtimeResume () noexcept override |
bool | RealtimeProcessStart (EffectSettings &settings) override |
size_t | RealtimeProcess (int group, EffectSettings &settings, const float *const *inbuf, float *const *outbuf, size_t numSamples) override |
bool | RealtimeProcessEnd (EffectSettings &settings) noexcept override |
int | ShowClientInterface (wxWindow &parent, wxDialog &dialog, bool forceModal) override |
bool | InitializePlugin () |
std::shared_ptr< EffectInstance > | MakeInstance () const override |
Make an object maintaining short-term state of an Effect. More... | |
std::shared_ptr< EffectInstance > | DoMakeInstance () |
std::unique_ptr< EffectUIValidator > | PopulateUI (ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access) override |
Adds controls to a panel that is given as the parent window of S More... | |
bool | IsGraphicalUI () override |
bool | ValidateUI (EffectSettings &) override |
bool | CloseUI () override |
bool | CanExportPresets () override |
void | ExportPresets (const EffectSettings &settings) const override |
void | ImportPresets (EffectSettings &settings) override |
bool | HasOptions () override |
void | ShowOptions () override |
void | OnTimer () |
std::shared_ptr< EffectInstance > | MakeInstance () const override |
Make an object maintaining short-term state of an Effect. More... | |
size_t | SetBlockSize (size_t maxBlockSize) override |
size_t | GetBlockSize () const override |
virtual sampleCount | GetLatency () |
virtual bool | ProcessInitialize (EffectSettings &settings, sampleCount totalLen, ChannelNames chanMap=nullptr) |
virtual bool | ProcessFinalize () |
virtual size_t | ProcessBlock (EffectSettings &settings, const float *const *inBlock, float *const *outBlock, size_t blockLen) |
Called for destructive effect computation. More... | |
![]() | |
virtual bool | Init () |
Call once to set up state for whole list of tracks to be processed. More... | |
virtual bool | Process (EffectInstance &instance, EffectSettings &settings)=0 |
Actually do the effect here. More... | |
virtual void | SetSampleRate (double rate) |
virtual bool | RealtimeInitialize (EffectSettings &settings) |
virtual bool | RealtimeAddProcessor (EffectSettings &settings, unsigned numChannels, float sampleRate) |
virtual bool | RealtimeSuspend () |
virtual bool | RealtimeResume () noexcept |
virtual bool | RealtimeProcessStart (EffectSettings &settings) |
virtual size_t | RealtimeProcess (int group, EffectSettings &settings, const float *const *inBuf, float *const *outBuf, size_t numSamples) |
virtual bool | RealtimeProcessEnd (EffectSettings &settings) noexcept |
virtual bool | RealtimeFinalize (EffectSettings &settings) noexcept |
virtual size_t | SetBlockSize (size_t maxBlockSize) |
virtual size_t | GetBlockSize () const |
virtual bool | Init () |
Call once to set up state for whole list of tracks to be processed. More... | |
virtual bool | Process (EffectInstance &instance, EffectSettings &settings)=0 |
Actually do the effect here. More... | |
virtual void | SetSampleRate (double rate) |
virtual bool | RealtimeInitialize (EffectSettings &settings) |
virtual bool | RealtimeAddProcessor (EffectSettings &settings, unsigned numChannels, float sampleRate) |
virtual bool | RealtimeSuspend () |
virtual bool | RealtimeResume () noexcept |
virtual bool | RealtimeProcessStart (EffectSettings &settings) |
virtual size_t | RealtimeProcess (int group, EffectSettings &settings, const float *const *inBuf, float *const *outBuf, size_t numSamples) |
virtual bool | RealtimeProcessEnd (EffectSettings &settings) noexcept |
virtual bool | RealtimeFinalize (EffectSettings &settings) noexcept |
virtual size_t | SetBlockSize (size_t maxBlockSize) |
virtual size_t | GetBlockSize () const |
![]() | |
~PerTrackEffect () override | |
![]() | |
Effect () | |
virtual | ~Effect () |
PluginPath | GetPath () const override |
bool | VisitSettings (SettingsVisitor &visitor, EffectSettings &settings) override |
bool | VisitSettings (ConstSettingsVisitor &visitor, const EffectSettings &settings) const override |
ComponentInterfaceSymbol | GetSymbol () const override |
VendorSymbol | GetVendor () const override |
wxString | GetVersion () const override |
TranslatableString | GetDescription () const override |
EffectType | GetType () const override |
Type determines how it behaves. More... | |
EffectFamilySymbol | GetFamily () const override |
Report identifier and user-visible name of the effect protocol. More... | |
bool | IsInteractive () const override |
Whether the effect needs a dialog for entry of settings. More... | |
bool | IsDefault () const override |
Whether the effect sorts "above the line" in the menus. More... | |
bool | SupportsRealtime () const override |
Whether the effect supports realtime previewing (while audio is playing). More... | |
bool | SupportsAutomation () const override |
Whether the effect has any automatable controls. More... | |
bool | SaveSettings (const EffectSettings &settings, CommandParameters &parms) const override |
Store settings as keys and values. More... | |
bool | LoadSettings (const CommandParameters &parms, EffectSettings &settings) const override |
Restore settings from keys and values. More... | |
bool | LoadUserPreset (const RegistryPath &name, EffectSettings &settings) const override |
Change settings to a user-named preset. More... | |
bool | SaveUserPreset (const RegistryPath &name, const EffectSettings &settings) const override |
Save settings in the configuration file as a user-named preset. More... | |
RegistryPaths | GetFactoryPresets () const override |
Report names of factory presets. More... | |
bool | LoadFactoryPreset (int id, EffectSettings &settings) const override |
Change settings to the preset whose name is GetFactoryPresets()[id] More... | |
bool | LoadFactoryDefaults (EffectSettings &settings) const override |
Change settings back to "factory default". More... | |
unsigned | GetAudioInCount () const override |
How many input buffers to allocate at once. More... | |
unsigned | GetAudioOutCount () const override |
How many output buffers to allocate at once. More... | |
virtual const EffectParameterMethods & | Parameters () const |
int | ShowClientInterface (wxWindow &parent, wxDialog &dialog, bool forceModal=false) override |
std::unique_ptr< EffectUIValidator > | PopulateUI (ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access) override |
Adds controls to a panel that is given as the parent window of S More... | |
bool | IsGraphicalUI () override |
bool | ValidateUI (EffectSettings &) override |
bool | CloseUI () override |
bool | CanExportPresets () override |
void | ExportPresets (const EffectSettings &settings) const override |
void | ImportPresets (EffectSettings &settings) override |
bool | HasOptions () override |
void | ShowOptions () override |
const EffectSettingsManager & | GetDefinition () const override |
virtual NumericFormatSymbol | GetSelectionFormat () |
int | ShowHostInterface (wxWindow &parent, const EffectDialogFactory &factory, EffectInstance &instance, EffectSettingsAccess &access, bool forceModal=false) override |
Usually applies factory to self and given access. More... | |
bool | SaveSettingsAsString (const EffectSettings &settings, wxString &parms) const override |
bool | LoadSettingsFromString (const wxString &parms, EffectSettings &settings) const override |
bool | IsBatchProcessing () const override |
void | SetBatchProcessing () override |
void | UnsetBatchProcessing () override |
bool | TransferDataToWindow (const EffectSettings &settings) override |
Update controls for the settings. More... | |
bool | TransferDataFromWindow (EffectSettings &settings) override |
Update the given settings from controls. More... | |
unsigned | TestUIFlags (unsigned mask) |
bool | Delegate (Effect &delegate, EffectSettings &settings) |
Re-invoke DoEffect on another Effect object that implements the work. More... | |
int | MessageBox (const TranslatableString &message, long style=DefaultMessageBoxStyle, const TranslatableString &titleStr={}) const |
bool | EnableApply (bool enable=true) |
wxWindow * | GetUIParent () |
![]() | |
EffectBase () | |
~EffectBase () override | |
![]() | |
virtual | ~EffectUIClientInterface () |
virtual int | ShowClientInterface (wxWindow &parent, wxDialog &dialog, bool forceModal=false)=0 |
virtual bool | IsGraphicalUI ()=0 |
virtual std::unique_ptr< EffectUIValidator > | PopulateUI (ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access)=0 |
Adds controls to a panel that is given as the parent window of S More... | |
virtual bool | CanExportPresets ()=0 |
virtual void | ExportPresets (const EffectSettings &settings) const =0 |
virtual void | ImportPresets (EffectSettings &settings)=0 |
virtual bool | HasOptions ()=0 |
virtual void | ShowOptions ()=0 |
![]() | |
EffectPlugin & | operator= (EffectPlugin &)=delete |
virtual | ~EffectPlugin () |
virtual const EffectSettingsManager & | GetDefinition () const =0 |
virtual int | ShowHostInterface (wxWindow &parent, const EffectDialogFactory &factory, EffectInstance &instance, EffectSettingsAccess &access, bool forceModal=false)=0 |
Usually applies factory to self and given access. More... | |
virtual void | Preview (EffectSettingsAccess &access, bool dryOnly)=0 |
virtual bool | SaveSettingsAsString (const EffectSettings &settings, wxString &parms) const =0 |
virtual bool | LoadSettingsFromString (const wxString &parms, EffectSettings &settings) const =0 |
virtual bool | IsBatchProcessing () const =0 |
virtual void | SetBatchProcessing ()=0 |
virtual void | UnsetBatchProcessing ()=0 |
virtual bool | DoEffect (EffectSettings &settings, double projectRate, TrackList *list, WaveTrackFactory *factory, NotifyingSelectedRegion &selectedRegion, unsigned flags, wxWindow *pParent=nullptr, const EffectDialogFactory &dialogFactory={}, const EffectSettingsAccessPtr &pAccess=nullptr)=0 |
Unfortunately complicated dual-use function. More... | |
virtual bool | TransferDataToWindow (const EffectSettings &settings)=0 |
Update controls for the settings. More... | |
virtual bool | TransferDataFromWindow (EffectSettings &settings)=0 |
Update the given settings from controls. More... | |
![]() | |
virtual | ~EffectInstanceFactory () |
virtual std::shared_ptr< EffectInstance > | MakeInstance () const =0 |
Make an object maintaining short-term state of an Effect. More... | |
virtual unsigned | GetAudioInCount () const =0 |
How many input buffers to allocate at once. More... | |
virtual unsigned | GetAudioOutCount () const =0 |
How many output buffers to allocate at once. More... | |
virtual int | GetMidiInCount () const |
Function that has not yet found a use. More... | |
virtual int | GetMidiOutCount () const |
Function that has not yet found a use. More... | |
![]() | |
virtual | ~EffectSettingsManager () |
virtual bool | VisitSettings (SettingsVisitor &visitor, EffectSettings &settings) |
virtual bool | VisitSettings (ConstSettingsVisitor &visitor, const EffectSettings &settings) const |
virtual EffectSettings | MakeSettings () const |
virtual bool | CopySettingsContents (const EffectSettings &src, EffectSettings &dst) const |
Update one settings object from another. More... | |
![]() | |
virtual | ~EffectDefinitionInterface () |
virtual EffectType | GetType () const =0 |
Type determines how it behaves. More... | |
virtual EffectType | GetClassification () const |
Determines which menu it appears in; default same as GetType(). More... | |
virtual EffectFamilySymbol | GetFamily () const =0 |
Report identifier and user-visible name of the effect protocol. More... | |
virtual bool | IsInteractive () const =0 |
Whether the effect needs a dialog for entry of settings. More... | |
virtual bool | IsDefault () const =0 |
Whether the effect sorts "above the line" in the menus. More... | |
virtual bool | SupportsRealtime () const =0 |
Whether the effect supports realtime previewing (while audio is playing). More... | |
virtual bool | SupportsAutomation () const =0 |
Whether the effect has any automatable controls. More... | |
virtual bool | EnablesDebug () const |
Whether the effect dialog should have a Debug button; default, always false. More... | |
virtual ManualPageID | ManualPage () const |
Name of a page in the Audacity alpha manual, default is empty. More... | |
virtual FilePath | HelpPage () const |
Fully qualified local help file name, default is empty. More... | |
virtual bool | IsHiddenFromMenus () const |
Default is false. More... | |
![]() | |
virtual | ~ComponentInterface () |
virtual PluginPath | GetPath () const =0 |
virtual ComponentInterfaceSymbol | GetSymbol () const =0 |
virtual VendorSymbol | GetVendor () const =0 |
virtual wxString | GetVersion () const =0 |
virtual TranslatableString | GetDescription () const =0 |
TranslatableString | GetName () const |
![]() | |
XMLTagHandler () | |
virtual | ~XMLTagHandler () |
virtual bool | HandleXMLTag (const std::string_view &tag, const AttributesList &attrs)=0 |
virtual void | HandleXMLEndTag (const std::string_view &WXUNUSED(tag)) |
virtual void | HandleXMLContent (const std::string_view &WXUNUSED(content)) |
virtual XMLTagHandler * | HandleXMLChild (const std::string_view &tag)=0 |
void | ReadXMLEndTag (const char *tag) |
void | ReadXMLContent (const char *s, int len) |
XMLTagHandler * | ReadXMLChild (const char *tag) |
![]() | |
virtual | ~VSTEffectLink () |
virtual intptr_t | callDispatcher (int opcode, int index, intptr_t value, void *ptr, float opt)=0 |
Static Public Member Functions | |
static intptr_t | AudioMaster (AEffect *effect, int32_t opcode, int32_t index, intptr_t value, void *ptr, float opt) |
![]() | |
static Effect * | FetchParameters (Effect &e, EffectSettings &) |
static void | IncEffectCounter () |
![]() | |
static Identifier | GetSquashedName (const Identifier &ident) |
A utility that strips spaces and CamelCases a name. More... | |
Private Types | |
using | ModuleHandle = std::unique_ptr< wxDynamicLibrary > |
using | BundleHandle = CF_ptr< CFBundleRef > |
Private Member Functions | |
bool | Load () |
void | Unload () |
std::vector< int > | GetEffectIDs () |
bool | LoadParameters (const RegistryPath &group, EffectSettings &settings) |
bool | SaveParameters (const RegistryPath &group, const EffectSettings &settings) const |
unsigned | GetChannelCount () |
void | SetChannelCount (unsigned numChannels) |
void | OnSlider (wxCommandEvent &evt) |
void | OnSizeWindow (wxCommandEvent &evt) |
void | OnUpdateDisplay (wxCommandEvent &evt) |
void | RemoveHandler () |
void | OnProgram (wxCommandEvent &evt) |
void | OnProgramText (wxCommandEvent &evt) |
void | OnLoad (wxCommandEvent &evt) |
void | OnSave (wxCommandEvent &evt) |
void | OnSettings (wxCommandEvent &evt) |
void | BuildPlain (EffectSettingsAccess &access) |
void | BuildFancy () |
wxSizer * | BuildProgramBar () |
void | RefreshParameters (int skip=-1) |
bool | LoadFXB (const wxFileName &fn) |
bool | LoadFXP (const wxFileName &fn) |
bool | LoadXML (const wxFileName &fn) |
bool | LoadFXProgram (unsigned char **bptr, ssize_t &len, int index, bool dryrun) |
void | SaveFXB (const wxFileName &fn) const |
void | SaveFXP (const wxFileName &fn) const |
void | SaveXML (const wxFileName &fn) const |
void | SaveFXProgram (wxMemoryBuffer &buf, int index) const |
bool | HandleXMLTag (const std::string_view &tag, const AttributesList &attrs) override |
void | HandleXMLEndTag (const std::string_view &tag) override |
void | HandleXMLContent (const std::string_view &content) override |
XMLTagHandler * | HandleXMLChild (const std::string_view &tag) override |
VstTimeInfo * | GetTimeInfo () |
float | GetSampleRate () |
int | GetProcessLevel () |
void | SetBufferDelay (int samples) |
void | NeedIdle () |
void | NeedEditIdle (bool state) |
void | SizeWindow (int w, int h) |
void | UpdateDisplay () |
void | Automate (int index, float value) |
void | PowerOn () |
void | PowerOff () |
int | GetString (wxString &outstr, int opcode, int index=0) const |
wxString | GetString (int opcode, int index=0) const |
void | SetString (int opcode, const wxString &str, int index=0) |
intptr_t | callDispatcher (int opcode, int index, intptr_t value, void *ptr, float opt) override |
intptr_t | constCallDispatcher (int opcode, int index, intptr_t value, void *ptr, float opt) const |
void | callProcessReplacing (const float *const *inputs, float *const *outputs, int sampleframes) |
void | callSetParameter (int index, float value) |
float | callGetParameter (int index) const |
void | callSetProgram (int index) |
void | callSetChunk (bool isPgm, int len, void *buf) |
void | callSetChunk (bool isPgm, int len, void *buf, VstPatchChunkInfo *info) |
wxCRIT_SECT_DECLARE_MEMBER (mDispatcherLock) | |
Private Attributes | |
PluginID | mID |
PluginPath | mPath |
unsigned | mAudioIns |
unsigned | mAudioOuts |
int | mMidiIns |
int | mMidiOuts |
bool | mAutomatable |
float | mSampleRate |
size_t | mUserBlockSize |
wxString | mName |
wxString | mVendor |
wxString | mDescription |
int | mVersion |
bool | mInteractive |
int | mVstVersion |
bool | mReady |
ModuleHandle | mModule |
BundleHandle | mBundleRef |
ResourceHandle | mResource |
AEffect * | mAEffect |
VstTimeInfo | mTimeInfo |
bool | mUseLatency |
int | mBufferDelay |
unsigned | mBlockSize |
int | mProcessLevel |
bool | mHasPower |
bool | mWantsIdle |
bool | mWantsEditIdle |
std::unique_ptr< VSTEffectTimer > | mTimer |
int | mTimerGuard |
VSTEffect * | mMaster |
VSTEffectArray | mSlaves |
unsigned | mNumChannels |
wxWeakRef< wxDialog > | mDialog |
wxWindow * | mParent |
wxSizerItem * | mContainer |
bool | mGui |
VSTControl * | mControl |
NumericTextCtrl * | mDuration |
ArrayOf< wxStaticText * > | mNames |
ArrayOf< wxSlider * > | mSliders |
ArrayOf< wxStaticText * > | mDisplays |
ArrayOf< wxStaticText * > | mLabels |
bool | mInSet |
bool | mInChunk |
wxString | mChunk |
long | mXMLVersion |
VstPatchChunkInfo | mXMLInfo |
Static Private Attributes | |
static intptr_t | mCurrentEffectID |
Friends | |
class | VSTEffectsModule |
Additional Inherited Members | |
![]() | |
enum | : long { DefaultMessageBoxStyle = wxOK | wxCENTRE } |
![]() | |
using | EffectSettingsAccessPtr = std::shared_ptr< EffectSettingsAccess > |
![]() | |
static const wxString | kUserPresetIdent = wxT("User Preset:") |
static const wxString | kFactoryPresetIdent = wxT("Factory Preset:") |
static const wxString | kCurrentSettingsIdent = wxT("<Current Settings>") |
static const wxString | kFactoryDefaultsIdent = wxT("<Factory Defaults>") |
![]() | |
bool | DoPass1 () const |
bool | DoPass2 () const |
bool | Process (EffectInstance &instance, EffectSettings &settings) const |
![]() | |
bool | EnablePreview (bool enable=true) |
bool | CheckWhetherSkipEffect (const EffectSettings &settings) const override |
Default implementation returns false. More... | |
double | CalcPreviewInputLength (const EffectSettings &settings, double previewLength) const override |
Default implementation returns previewLength More... | |
virtual std::unique_ptr< EffectUIValidator > | PopulateOrExchange (ShuttleGui &S, EffectInstance &instance, EffectSettingsAccess &access) |
Add controls to effect panel; always succeeds. More... | |
bool | TotalProgress (double frac, const TranslatableString &={}) const |
bool | TrackProgress (int whichTrack, double frac, const TranslatableString &={}) const |
bool | TrackGroupProgress (int whichGroup, double frac, const TranslatableString &={}) const |
int | GetNumWaveTracks () const |
int | GetNumWaveGroups () const |
void | GetBounds (const WaveTrack &track, const WaveTrack *pRight, sampleCount *start, sampleCount *len) |
void | CopyInputTracks (bool allSyncLockSelected=false) |
std::shared_ptr< AddedAnalysisTrack > | AddAnalysisTrack (const wxString &name=wxString()) |
ModifiedAnalysisTrack | ModifyAnalysisTrack (const LabelTrack *pOrigTrack, const wxString &name=wxString()) |
Track * | AddToOutputTracks (const std::shared_ptr< Track > &t) |
![]() | |
void | Preview (EffectSettingsAccess &access, bool dryOnly) override |
bool | DoEffect (EffectSettings &settings, double projectRate, TrackList *list, WaveTrackFactory *factory, NotifyingSelectedRegion &selectedRegion, unsigned flags, wxWindow *pParent, const EffectDialogFactory &dialogFactory, const EffectSettingsAccessPtr &pAccess) override |
Unfortunately complicated dual-use function. More... | |
virtual bool | CheckWhetherSkipEffect (const EffectSettings &settings) const =0 |
After Init(), tell whether Process() should be skipped. More... | |
virtual double | CalcPreviewInputLength (const EffectSettings &settings, double previewLength) const =0 |
void | SetLinearEffectFlag (bool linearEffectFlag) |
void | SetPreviewFullSelectionFlag (bool previewDurationFlag) |
bool | IsPreviewing () const |
void | IncludeNotSelectedPreviewTracks (bool includeNotSelected) |
void | ReplaceProcessedTracks (const bool bGoodResult) |
const TrackList * | inputTracks () const |
const AudacityProject * | FindProject () const |
virtual bool | ValidateUI (EffectSettings &settings)=0 |
virtual bool | CloseUI ()=0 |
![]() | |
double | mSampleRate {} |
![]() | |
sampleCount | mSampleCnt {} |
![]() | |
wxWeakRef< wxDialog > | mHostUIDialog |
This smart pointer tracks the lifetime of the dialog. More... | |
wxWindow * | mUIParent {} |
![]() | |
BasicUI::ProgressDialog * | mProgress {} |
double | mProjectRate {} |
WaveTrackFactory * | mFactory {} |
std::shared_ptr< TrackList > | mOutputTracks |
double | mT0 {} |
double | mT1 {} |
wxArrayString | mPresetNames |
unsigned | mUIFlags { 0 } |
![]() | |
friend | EffectUIValidator |
friend | DefaultEffectUIValidator |
![]() | |
static int | nEffectsDone = 0 |
VSTEffect is an Audacity effect that forwards actual audio processing via a VSTEffectLink
Definition at line 93 of file VSTEffect.h.
|
private |
Definition at line 318 of file VSTEffect.h.
|
private |
Definition at line 285 of file VSTEffect.h.
VSTEffect::VSTEffect | ( | const PluginPath & | path, |
VSTEffect * | master = NULL |
||
) |
Definition at line 792 of file VSTEffect.cpp.
References VstTimeInfo::flags, kVstNanosValid, kVstTempoValid, Load(), mAEffect, mAudioIns, mAudioOuts, mBlockSize, mBufferDelay, mContainer, mGui, mHasPower, mInteractive, mMaster, mMidiIns, mMidiOuts, mModule, mProcessLevel, mReady, mSampleRate, mTimeInfo, mTimer, mTimerGuard, mUseLatency, mUserBlockSize, mWantsEditIdle, mWantsIdle, VstTimeInfo::nanoSeconds, VstTimeInfo::samplePos, VstTimeInfo::sampleRate, VstTimeInfo::tempo, VstTimeInfo::timeSigDenominator, and VstTimeInfo::timeSigNumerator.
|
virtual |
Definition at line 838 of file VSTEffect.cpp.
References Unload().
|
static |
Definition at line 610 of file VSTEffect.cpp.
References audioMasterAutomate, audioMasterBeginEdit, audioMasterCanDo, audioMasterCurrentId, audioMasterEndEdit, audioMasterGetCurrentProcessLevel, audioMasterGetLanguage, audioMasterGetProductString, audioMasterGetSampleRate, audioMasterGetTime, audioMasterGetVendorString, audioMasterGetVendorVersion, audioMasterIdle, audioMasterIOChanged, audioMasterNeedIdle, audioMasterPinConnected, audioMasterProcessEvents, audioMasterSizeWindow, audioMasterUpdateDisplay, audioMasterVersion, audioMasterWantMidi, audioMasterWillReplaceOrAccumulate, Automate(), GetProcessLevel(), GetSampleRate(), GetTimeInfo(), kVstLangEnglish, NeedIdle(), SetBufferDelay(), SizeWindow(), and UpdateDisplay().
Referenced by Load().
|
private |
Definition at line 2110 of file VSTEffect.cpp.
References mMaster, and mSlaves.
Referenced by AudioMaster().
|
private |
Definition at line 2279 of file VSTEffect.cpp.
References mControl, mDialog, mParent, NeedEditIdle(), OnSize(), PowerOn(), and safenew.
Referenced by PopulateUI().
|
private |
Definition at line 2317 of file VSTEffect.cpp.
References _, NumericTextCtrl::Options::AutoPos(), EffectTypeGenerate, effGetParamName, EffectSettings::extra, EffectSettingsAccess::Get(), GetString(), GetType(), ID_Duration, ID_Sliders, mAEffect, mDisplays, mDuration, mLabels, mNames, mParent, mSampleRate, mSliders, AEffect::numParams, RefreshParameters(), ArrayOf< X >::reinit(), safenew, NumericTextCtrl::SetName(), NumericConverter::TIME, and XO.
Referenced by PopulateUI().
|
private |
|
overrideprivatevirtual |
Implements VSTEffectLink.
Definition at line 2166 of file VSTEffect.cpp.
References AEffect::dispatcher, and mAEffect.
Referenced by callSetChunk(), callSetParameter(), callSetProgram(), constCallDispatcher(), DoProcessInitialize(), GetEffectIDs(), HandleXMLEndTag(), HandleXMLTag(), Load(), LoadFXB(), LoadFXProgram(), LoadXML(), OnTimer(), PowerOff(), PowerOn(), RealtimeAddProcessor(), SetString(), and Unload().
|
private |
Definition at line 2190 of file VSTEffect.cpp.
References AEffect::getParameter, and mAEffect.
Referenced by RealtimeAddProcessor(), RefreshParameters(), SaveFXProgram(), and SaveSettings().
|
private |
Definition at line 2182 of file VSTEffect.cpp.
References mAEffect, and AEffect::processReplacing.
Referenced by ProcessBlock().
|
private |
Definition at line 2217 of file VSTEffect.cpp.
References callSetChunk(), mAEffect, VstPatchChunkInfo::numElements, AEffect::numParams, AEffect::numPrograms, VstPatchChunkInfo::pluginUniqueID, VstPatchChunkInfo::pluginVersion, AEffect::uniqueID, AEffect::version, and VstPatchChunkInfo::version.
Referenced by callSetChunk(), HandleXMLEndTag(), LoadFXB(), LoadFXProgram(), LoadParameters(), and RealtimeAddProcessor().
|
private |
Definition at line 2230 of file VSTEffect.cpp.
References callDispatcher(), effBeginLoadBank, effBeginLoadProgram, effBeginSetProgram, effEndSetProgram, effSetChunk, and mSlaves.
|
private |
Definition at line 2195 of file VSTEffect.cpp.
References callDispatcher(), effCanBeAutomated, mAEffect, mSlaves, mVstVersion, and AEffect::setParameter.
Referenced by HandleXMLTag(), LoadFXProgram(), LoadSettings(), OnSlider(), and RealtimeAddProcessor().
|
private |
Definition at line 2206 of file VSTEffect.cpp.
References callDispatcher(), effBeginSetProgram, effEndSetProgram, effSetProgram, and mSlaves.
Referenced by DoLoadFactoryPreset(), Load(), and LoadFXB().
|
overridevirtual |
Reimplemented from Effect.
Definition at line 1439 of file VSTEffect.cpp.
|
overridevirtual |
Reimplemented from Effect.
Definition at line 1411 of file VSTEffect.cpp.
References VSTControl::Close(), mControl, mDialog, mDisplays, mLabels, mNames, mParent, mSliders, NeedEditIdle(), PowerOff(), and RemoveHandler().
Referenced by Unload().
|
private |
Definition at line 2174 of file VSTEffect.cpp.
References callDispatcher().
Referenced by GetString(), LoadSettings(), SaveFXB(), SaveFXP(), SaveFXProgram(), and SaveParameters().
bool VSTEffect::DoLoadFactoryPreset | ( | int | id | ) |
Definition at line 1350 of file VSTEffect.cpp.
References callSetProgram(), and RefreshParameters().
Referenced by LoadFactoryPreset().
bool VSTEffect::DoLoadUserPreset | ( | const RegistryPath & | name, |
EffectSettings & | settings | ||
) |
Definition at line 1307 of file VSTEffect.cpp.
References LoadParameters(), name, RefreshParameters(), and settings().
Referenced by LoadUserPreset().
std::shared_ptr< EffectInstance > VSTEffect::DoMakeInstance | ( | ) |
Definition at line 968 of file VSTEffect.cpp.
References PluginSettings::GetConfig(), mBlockSize, mUseLatency, mUserBlockSize, and PluginSettings::Shared.
Referenced by MakeInstance().
bool VSTEffect::DoProcessInitialize | ( | sampleCount | totalLen, |
ChannelNames | chanMap | ||
) |
Definition at line 1040 of file VSTEffect.cpp.
References callDispatcher(), effSetBlockSize, effSetSampleRate, VstTimeInfo::flags, AEffect::initialDelay, kVstNanosValid, kVstTempoValid, kVstTransportPlaying, mAEffect, mBlockSize, mReady, mSampleRate, mTimeInfo, VstTimeInfo::nanoSeconds, PowerOn(), VstTimeInfo::sampleRate, SetBufferDelay(), VstTimeInfo::tempo, VstTimeInfo::timeSigDenominator, and VstTimeInfo::timeSigNumerator.
Referenced by ProcessInitialize(), and ShowClientInterface().
|
overridevirtual |
Reimplemented from Effect.
Definition at line 1445 of file VSTEffect.cpp.
References AudacityMessageBox(), fn, mParent, SaveFXB(), SaveFXP(), SaveXML(), SelectFile(), and XO.
|
overridevirtual |
How many input buffers to allocate at once.
If the effect ALWAYS processes channels independently, this can return 1
Reimplemented from Effect.
Definition at line 980 of file VSTEffect.cpp.
References mAudioIns.
|
overridevirtual |
How many output buffers to allocate at once.
Reimplemented from Effect.
Definition at line 985 of file VSTEffect.cpp.
References mAudioOuts.
|
overridevirtual |
Default implementation returns mEffectBlockSize
Reimplemented from StatefulPerTrackEffect.
Definition at line 1006 of file VSTEffect.cpp.
References mBlockSize.
|
private |
|
overridevirtual |
Reimplemented from Effect.
Definition at line 881 of file VSTEffect.cpp.
References mAudioIns, mAudioOuts, and XO.
|
private |
Definition at line 1883 of file VSTEffect.cpp.
References callDispatcher(), effGetPlugCategory, effShellGetNextPlugin, kPlugCategShell, mVstVersion, and name.
Referenced by VSTEffectsModule::DiscoverPluginsAtPath().
|
overridevirtual |
Report names of factory presets.
Reimplemented from Effect.
Definition at line 1326 of file VSTEffect.cpp.
References effGetProgramNameIndexed, GetString(), mAEffect, mVstVersion, and AEffect::numPrograms.
|
overridevirtual |
Report identifier and user-visible name of the effect protocol.
Reimplemented from Effect.
Definition at line 914 of file VSTEffect.cpp.
References VSTPLUGINTYPE.
|
overridevirtual |
Called for destructive, non-realtime effect computation Default implementation returns zero
Reimplemented from StatefulPerTrackEffect.
Definition at line 1016 of file VSTEffect.cpp.
References mBufferDelay, and mUseLatency.
|
overridevirtual |
Function that has not yet found a use.
Reimplemented from EffectInstanceFactory.
Definition at line 990 of file VSTEffect.cpp.
References mMidiIns.
|
overridevirtual |
Function that has not yet found a use.
Reimplemented from EffectInstanceFactory.
Definition at line 995 of file VSTEffect.cpp.
References mMidiOuts.
|
overridevirtual |
|
private |
Definition at line 2042 of file VSTEffect.cpp.
References mProcessLevel.
Referenced by AudioMaster().
|
private |
Definition at line 2037 of file VSTEffect.cpp.
References mTimeInfo, and VstTimeInfo::sampleRate.
Referenced by AudioMaster().
|
private |
Definition at line 2149 of file VSTEffect.cpp.
References GetString(), and str.
|
private |
Definition at line 2135 of file VSTEffect.cpp.
References constCallDispatcher().
Referenced by BuildPlain(), GetFactoryPresets(), GetString(), Load(), LoadSettings(), RefreshParameters(), and SaveSettings().
|
overridevirtual |
Reimplemented from Effect.
Definition at line 852 of file VSTEffect.cpp.
References mName.
Referenced by HandleXMLTag().
|
private |
Definition at line 2031 of file VSTEffect.cpp.
References mTimeInfo, and VstTimeInfo::nanoSeconds.
Referenced by AudioMaster().
|
overridevirtual |
Type determines how it behaves.
Reimplemented from Effect.
Definition at line 893 of file VSTEffect.cpp.
References EffectTypeAnalyze, EffectTypeGenerate, EffectTypeProcess, EffectTypeTool, mAudioIns, mAudioOuts, mMidiIns, and mMidiOuts.
Referenced by BuildPlain(), and ValidateUI().
|
overridevirtual |
|
overridevirtual |
Reimplemented from Effect.
Definition at line 862 of file VSTEffect.cpp.
References mVersion.
|
overrideprivatevirtual |
Implements XMLTagHandler.
Definition at line 3430 of file VSTEffect.cpp.
|
overrideprivate |
Definition at line 3422 of file VSTEffect.cpp.
|
overrideprivate |
Definition at line 3392 of file VSTEffect.cpp.
References callDispatcher(), callSetChunk(), Base64::Decode(), effEndSetProgram, mChunk, mInChunk, mInSet, and mXMLInfo.
|
overrideprivatevirtual |
Implements XMLTagHandler.
Definition at line 3184 of file VSTEffect.cpp.
References AudacityMessageBox(), callDispatcher(), callSetParameter(), effBeginLoadProgram, effBeginSetProgram, effSetProgramName, GetSymbol(), Internal, mAEffect, mInChunk, mInSet, mParent, mXMLInfo, mXMLVersion, VstPatchChunkInfo::numElements, AEffect::numParams, VstPatchChunkInfo::pluginUniqueID, VstPatchChunkInfo::pluginVersion, SetString(), AEffect::uniqueID, AEffect::version, VstPatchChunkInfo::version, and XO.
|
overridevirtual |
Reimplemented from Effect.
Definition at line 1572 of file VSTEffect.cpp.
|
overridevirtual |
Reimplemented from Effect.
Definition at line 1505 of file VSTEffect.cpp.
References AudacityMessageBox(), fn, LoadFXB(), LoadFXP(), LoadXML(), mParent, RefreshParameters(), SelectFile(), and XO.
bool VSTEffect::InitializePlugin | ( | ) |
Definition at line 941 of file VSTEffect.cpp.
References Load(), mAEffect, and mMaster.
Referenced by VSTEffectsModule::DiscoverPluginsAtPath().
|
overridevirtual |
Whether the effect sorts "above the line" in the menus.
Reimplemented from Effect.
Definition at line 924 of file VSTEffect.cpp.
|
overridevirtual |
|
overridevirtual |
Whether the effect needs a dialog for entry of settings.
Reimplemented from Effect.
Definition at line 919 of file VSTEffect.cpp.
References mInteractive.
bool VSTEffect::IsReady | ( | ) |
Definition at line 1029 of file VSTEffect.cpp.
References mReady.
Referenced by ShowClientInterface().
|
private |
Definition at line 1596 of file VSTEffect.cpp.
References AudioMaster(), callDispatcher(), callSetProgram(), effCanBeAutomated, effFlagsCanReplacing, effFlagsHasEditor, effFlagsIsSynth, effGetEffectName, effGetProductString, effGetVendorString, effGetVendorVersion, effGetVstVersion, effIdentify, effOpen, effSetBlockSize, effSetSampleRate, AEffect::flags, GetString(), kEffectMagic, mAEffect, AEffect::magic, mAudioIns, mAudioOuts, mAutomatable, mBundleRef, mCurrentEffectID, mInteractive, mMidiIns, mMidiOuts, mModule, mName, mPath, mResource, mVendor, mVersion, mVstVersion, AEffect::numInputs, AEffect::numOutputs, AEffect::numParams, PLATFORM_MAX_PATH, AEffect::ptr2, Unload(), and AEffect::version.
Referenced by InitializePlugin(), and VSTEffect().
|
overridevirtual |
Change settings to the preset whose name is GetFactoryPresets()[id]
Reimplemented from Effect.
Definition at line 1344 of file VSTEffect.cpp.
References DoLoadFactoryPreset().
|
private |
Definition at line 2529 of file VSTEffect.cpp.
References AudacityMessageBox(), callDispatcher(), callSetChunk(), callSetProgram(), CCONST, effBeginLoadBank, effFlagsProgramChunks, AEffect::flags, fn, LoadFXProgram(), mAEffect, mParent, VstPatchChunkInfo::numElements, AEffect::numPrograms, VstPatchChunkInfo::pluginUniqueID, VstPatchChunkInfo::pluginVersion, size, AEffect::uniqueID, AEffect::version, and XO.
Referenced by ImportPresets().
|
private |
Definition at line 2702 of file VSTEffect.cpp.
References AudacityMessageBox(), fn, LoadFXProgram(), mParent, and XO.
Referenced by ImportPresets().
|
private |
Definition at line 2754 of file VSTEffect.cpp.
References callDispatcher(), callSetChunk(), callSetParameter(), CCONST, effBeginLoadProgram, effBeginSetProgram, effEndSetProgram, effFlagsProgramChunks, effSetProgramName, AEffect::flags, mAEffect, VstPatchChunkInfo::numElements, AEffect::numParams, VstPatchChunkInfo::pluginUniqueID, VstPatchChunkInfo::pluginVersion, reinterpretAsFloat(), SetString(), size, AEffect::uniqueID, and AEffect::version.
Referenced by LoadFXB(), and LoadFXP().
|
private |
Definition at line 1904 of file VSTEffect.cpp.
References callSetChunk(), Base64::Decode(), PluginSettings::GetConfig(), LoadSettings(), mAEffect, VstPatchChunkInfo::numElements, AEffect::numParams, VstPatchChunkInfo::pluginUniqueID, VstPatchChunkInfo::pluginVersion, PluginSettings::Private, CommandParameters::SetParameters(), settings(), AEffect::uniqueID, and AEffect::version.
Referenced by DoLoadUserPreset().
|
overridevirtual |
Restore settings from keys and values.
Reimplemented from Effect.
Definition at line 1270 of file VSTEffect.cpp.
References callSetParameter(), constCallDispatcher(), effBeginSetProgram, effEndSetProgram, effGetParamName, TranslatableString::empty(), GetString(), mAEffect, mSlaves, name, and AEffect::numParams.
Referenced by LoadParameters().
|
overridevirtual |
Change settings to a user-named preset.
Reimplemented from Effect.
Definition at line 1300 of file VSTEffect.cpp.
References DoLoadUserPreset(), name, and settings().
|
private |
Definition at line 2908 of file VSTEffect.cpp.
References AudacityMessageBox(), callDispatcher(), effEndSetProgram, fn, XMLFileReader::GetErrorStr(), mInChunk, mInSet, mParent, XMLFileReader::Parse(), and XO.
Referenced by ImportPresets().
|
overridevirtual |
Make an object maintaining short-term state of an Effect.
One effect may have multiple instances extant simultaneously. Instances have state, may be implemented in foreign code, and are temporary, whereas EffectSettings represents persistent effect state that can be saved and reloaded from files.
settings | may be assumed to have a lifetime enclosing the instance's |
Reimplemented from StatefulPerTrackEffect.
Definition at line 963 of file VSTEffect.cpp.
References DoMakeInstance().
|
private |
Definition at line 2025 of file VSTEffect.cpp.
References mTimer, and mWantsEditIdle.
Referenced by BuildFancy(), and CloseUI().
|
private |
Definition at line 2019 of file VSTEffect.cpp.
References mTimer, and mWantsIdle.
Referenced by AudioMaster().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Definition at line 2497 of file VSTEffect.cpp.
|
private |
Definition at line 2519 of file VSTEffect.cpp.
References callSetParameter(), ID_Sliders, and RefreshParameters().
void VSTEffect::OnTimer | ( | ) |
Definition at line 1994 of file VSTEffect.cpp.
References callDispatcher(), effEditIdle, effIdle, mTimerGuard, mVstVersion, mWantsEditIdle, and mWantsIdle.
Referenced by VSTEffectTimer::Notify().
|
private |
|
overridevirtual |
Adds controls to a panel that is given as the parent window of S
S | interface for adding controls to a panel in a dialog |
instance | guaranteed to have a lifetime containing that of the returned object |
access | guaranteed to have a lifetime containing that of the returned object |
Reimplemented from Effect.
Definition at line 1363 of file VSTEffect.cpp.
References BuildFancy(), BuildPlain(), effFlagsHasEditor, AEffect::flags, PluginSettings::GetConfig(), mAEffect, mDialog, mGui, mParent, AEffect::numParams, S, and PluginSettings::Shared.
|
private |
Definition at line 2065 of file VSTEffect.cpp.
References callDispatcher(), effMainsChanged, effStopProcess, mHasPower, and mVstVersion.
Referenced by CloseUI(), ProcessFinalize(), RealtimeSuspend(), and Unload().
|
private |
Definition at line 2047 of file VSTEffect.cpp.
References callDispatcher(), effMainsChanged, effStartProcess, mHasPower, and mVstVersion.
Referenced by BuildFancy(), DoProcessInitialize(), and RealtimeResume().
|
overridevirtual |
Called for destructive effect computation.
Reimplemented from StatefulPerTrackEffect.
Definition at line 1075 of file VSTEffect.cpp.
References callProcessReplacing(), mTimeInfo, and VstTimeInfo::samplePos.
|
overridevirtual |
Called at end of destructive processing, for each (mono/stereo) track Default implementation does nothing, returns true This may be called during stack unwinding:
Reimplemented from StatefulPerTrackEffect.
Definition at line 1066 of file VSTEffect.cpp.
References mReady, and PowerOff().
|
overridevirtual |
Called at start of destructive processing, for each (mono/stereo) track Default implementation does nothing, returns true
Reimplemented from StatefulPerTrackEffect.
Definition at line 1034 of file VSTEffect.cpp.
References DoProcessInitialize(), and names.
Referenced by RealtimeAddProcessor(), and RealtimeInitialize().
|
overridevirtual |
Default implementation does nothing, returns true
Reimplemented from StatefulEffectBase.
Definition at line 1106 of file VSTEffect.cpp.
References callDispatcher(), callGetParameter(), callSetChunk(), callSetParameter(), effBeginSetProgram, effEndSetProgram, effFlagsProgramChunks, effGetChunk, AEffect::flags, mAEffect, mBlockSize, mPath, mSlaves, AEffect::numParams, ProcessInitialize(), SetBlockSize(), SetChannelCount(), SetSampleRate(), and settings().
|
overridevirtualnoexcept |
Default implementation does nothing, returns false
Reimplemented from StatefulEffectBase.
Definition at line 1143 of file VSTEffect.cpp.
|
overridevirtual |
Default implementation does nothing, returns false
Reimplemented from StatefulEffectBase.
Definition at line 1101 of file VSTEffect.cpp.
References ProcessInitialize(), and settings().
|
overridevirtual |
Default implementation does nothing, returns 0
Reimplemented from StatefulEffectBase.
Definition at line 1181 of file VSTEffect.cpp.
References mBlockSize, mSlaves, and settings().
|
overridevirtualnoexcept |
Default implementation does nothing, returns true
Reimplemented from StatefulEffectBase.
Definition at line 1188 of file VSTEffect.cpp.
|
overridevirtual |
Default implementation does nothing, returns true
Reimplemented from StatefulEffectBase.
Definition at line 1176 of file VSTEffect.cpp.
|
overridevirtualnoexcept |
Default implementation does nothing, returns true
Reimplemented from StatefulEffectBase.
Definition at line 1164 of file VSTEffect.cpp.
References mSlaves, and PowerOn().
|
overridevirtual |
Default implementation does nothing, returns true
Reimplemented from StatefulEffectBase.
Definition at line 1154 of file VSTEffect.cpp.
References mSlaves, and PowerOff().
|
private |
Definition at line 2446 of file VSTEffect.cpp.
References callGetParameter(), effGetParamDisplay, effGetParamLabel, effGetParamName, GetString(), mAEffect, mDisplays, mLabels, mNames, mSliders, name, and AEffect::numParams.
Referenced by BuildPlain(), DoLoadFactoryPreset(), DoLoadUserPreset(), ImportPresets(), and OnSlider().
|
private |
Definition at line 2257 of file VSTEffect.cpp.
Referenced by CloseUI().
|
private |
Definition at line 2940 of file VSTEffect.cpp.
References AudacityMessageBox(), CCONST, constCallDispatcher(), effFlagsProgramChunks, effGetChunk, AEffect::flags, fn, mAEffect, mParent, AEffect::numPrograms, SaveFXProgram(), size, AEffect::uniqueID, AEffect::version, and XO.
Referenced by ExportPresets().
|
private |
Definition at line 3028 of file VSTEffect.cpp.
References AudacityMessageBox(), constCallDispatcher(), effGetProgram, fn, mParent, SaveFXProgram(), and XO.
Referenced by ExportPresets().
|
private |
Definition at line 3064 of file VSTEffect.cpp.
References callGetParameter(), CCONST, constCallDispatcher(), effFlagsProgramChunks, effGetChunk, effGetProgramNameIndexed, AEffect::flags, mAEffect, AEffect::numParams, reinterpretAsUint32(), size, AEffect::uniqueID, and AEffect::version.
Referenced by SaveFXB(), and SaveFXP().
|
private |
Definition at line 1954 of file VSTEffect.cpp.
References constCallDispatcher(), effFlagsProgramChunks, effGetChunk, Base64::Encode(), AEffect::flags, CommandParameters::GetParameters(), mAEffect, AEffect::numParams, PluginSettings::Private, SaveSettings(), PluginSettings::SetConfig(), settings(), AEffect::uniqueID, and AEffect::version.
Referenced by SaveUserPreset().
|
overridevirtual |
Store settings as keys and values.
Reimplemented from Effect.
Definition at line 1249 of file VSTEffect.cpp.
References callGetParameter(), effGetParamName, TranslatableString::empty(), GetString(), mAEffect, name, and AEffect::numParams.
Referenced by SaveParameters().
|
overridevirtual |
Save settings in the configuration file as a user-named preset.
Reimplemented from Effect.
Definition at line 1320 of file VSTEffect.cpp.
References name, SaveParameters(), and settings().
|
private |
Definition at line 3125 of file VSTEffect.cpp.
References effFlagsProgramChunks, effGetChunk, effGetParamName, Base64::Encode(), fn, Internal, and XO.
Referenced by ExportPresets().
|
overridevirtual |
Default implementation assigns mEffectBlockSize, returns it
Reimplemented from StatefulPerTrackEffect.
Definition at line 1000 of file VSTEffect.cpp.
References mBlockSize, min(), and mUserBlockSize.
Referenced by RealtimeAddProcessor().
|
private |
Definition at line 2124 of file VSTEffect.cpp.
References mBufferDelay, and mUseLatency.
Referenced by AudioMaster(), and DoProcessInitialize().
|
private |
Definition at line 1096 of file VSTEffect.cpp.
References mNumChannels.
Referenced by RealtimeAddProcessor().
|
overridevirtual |
Default implementation assigns mSampleRate
Reimplemented from StatefulEffectBase.
Definition at line 1011 of file VSTEffect.cpp.
References mSampleRate.
Referenced by RealtimeAddProcessor().
|
private |
Definition at line 2158 of file VSTEffect.cpp.
References callDispatcher(), and str.
Referenced by HandleXMLTag(), and LoadFXProgram().
|
overridevirtual |
Some history...
Before we ran into the Antress plugin problem with buffer size limitations, (see below) we just had a plain old effect loop...get the input samples, pass them to the effect, save the output samples.
But, the hack I put in to limit the buffer size to only 8k (normally 512k or so) severely impacted performance. So, Michael C. added some intermediate buffering that sped things up quite a bit and this is how things have worked for quite a while. It still didn't get the performance back to the pre-hack stage, but it was a definite benefit.
History over...
I've recently (May 2014) tried newer versions of the Antress effects and they no longer seem to have a problem with buffer size. So, I've made a bit of a compromise...I've made the buffer size user configurable. Should have done this from the beginning. I've left the default 8k, just in case, but now the user can set the buffering based on their specific setup and needs.
And at the same time I added buffer delay compensation, which allows Audacity to account for latency introduced by some effects. This is based on information provided by the effect, so it will not work with all effects since they don't all provide the information (kn0ck0ut is one).
Reimplemented from Effect.
Definition at line 1219 of file VSTEffect.cpp.
References DoProcessInitialize(), IsReady(), mBlockSize, mDialog, mSampleRate, and SupportsRealtime().
|
overridevirtual |
Reimplemented from Effect.
Definition at line 1577 of file VSTEffect.cpp.
References PluginSettings::GetConfig(), mParent, mUseLatency, mUserBlockSize, and PluginSettings::Shared.
|
private |
Definition at line 2083 of file VSTEffect.cpp.
References mParent.
Referenced by AudioMaster().
|
overridevirtual |
Whether the effect has any automatable controls.
Reimplemented from Effect.
Definition at line 936 of file VSTEffect.cpp.
References mAutomatable.
|
overridevirtual |
Whether the effect supports realtime previewing (while audio is playing).
Reimplemented from Effect.
Definition at line 929 of file VSTEffect.cpp.
Referenced by ShowClientInterface().
|
private |
Definition at line 1854 of file VSTEffect.cpp.
References callDispatcher(), CloseUI(), effClose, mAEffect, mBundleRef, mDialog, mModule, mResource, PowerOff(), and VSTEffect::ResourceHandle::reset().
Referenced by Load(), and ~VSTEffect().
|
private |
Definition at line 2097 of file VSTEffect.cpp.
References mParent.
Referenced by AudioMaster().
|
overridevirtual |
Reimplemented from Effect.
Definition at line 1403 of file VSTEffect.cpp.
References EffectTypeGenerate, GetType(), NumericConverter::GetValue(), mDuration, and settings().
|
private |
|
friend |
Definition at line 392 of file VSTEffect.h.
|
private |
Definition at line 346 of file VSTEffect.h.
Referenced by BuildPlain(), callDispatcher(), callGetParameter(), callProcessReplacing(), callSetChunk(), callSetParameter(), DoProcessInitialize(), GetFactoryPresets(), HandleXMLTag(), InitializePlugin(), Load(), LoadFXB(), LoadFXProgram(), LoadParameters(), LoadSettings(), PopulateUI(), RealtimeAddProcessor(), RefreshParameters(), SaveFXB(), SaveFXProgram(), SaveParameters(), SaveSettings(), Unload(), and VSTEffect().
|
private |
Definition at line 295 of file VSTEffect.h.
Referenced by GetAudioInCount(), GetDescription(), GetType(), Load(), and VSTEffect().
|
private |
Definition at line 296 of file VSTEffect.h.
Referenced by GetAudioOutCount(), GetDescription(), GetType(), Load(), and VSTEffect().
|
private |
Definition at line 299 of file VSTEffect.h.
Referenced by Load(), and SupportsAutomation().
|
private |
Definition at line 353 of file VSTEffect.h.
Referenced by DoMakeInstance(), DoProcessInitialize(), GetBlockSize(), RealtimeAddProcessor(), RealtimeProcess(), SetBlockSize(), ShowClientInterface(), and VSTEffect().
|
private |
Definition at line 351 of file VSTEffect.h.
Referenced by GetLatency(), SetBufferDelay(), and VSTEffect().
|
private |
Definition at line 320 of file VSTEffect.h.
|
private |
Definition at line 386 of file VSTEffect.h.
Referenced by HandleXMLContent(), and HandleXMLEndTag().
|
private |
Definition at line 373 of file VSTEffect.h.
Referenced by VSTEffect().
|
private |
Definition at line 376 of file VSTEffect.h.
Referenced by BuildFancy(), CloseUI(), and OnSizeWindow().
|
staticprivate |
Definition at line 309 of file VSTEffect.h.
Referenced by Load().
|
private |
Definition at line 304 of file VSTEffect.h.
|
private |
Definition at line 371 of file VSTEffect.h.
Referenced by BuildFancy(), CloseUI(), OnSizeWindow(), PopulateUI(), ShowClientInterface(), and Unload().
|
private |
Definition at line 381 of file VSTEffect.h.
Referenced by BuildPlain(), CloseUI(), and RefreshParameters().
|
private |
Definition at line 378 of file VSTEffect.h.
Referenced by BuildPlain(), and ValidateUI().
|
private |
Definition at line 374 of file VSTEffect.h.
Referenced by IsGraphicalUI(), PopulateUI(), and VSTEffect().
|
private |
Definition at line 356 of file VSTEffect.h.
Referenced by PowerOff(), PowerOn(), and VSTEffect().
|
private |
Definition at line 293 of file VSTEffect.h.
|
private |
Definition at line 385 of file VSTEffect.h.
Referenced by HandleXMLContent(), HandleXMLEndTag(), HandleXMLTag(), and LoadXML().
|
private |
Definition at line 384 of file VSTEffect.h.
Referenced by HandleXMLEndTag(), HandleXMLTag(), and LoadXML().
|
private |
Definition at line 306 of file VSTEffect.h.
Referenced by IsInteractive(), Load(), and VSTEffect().
|
private |
Definition at line 382 of file VSTEffect.h.
Referenced by BuildPlain(), CloseUI(), and RefreshParameters().
|
private |
Definition at line 366 of file VSTEffect.h.
Referenced by Automate(), InitializePlugin(), and VSTEffect().
|
private |
Definition at line 297 of file VSTEffect.h.
Referenced by GetMidiInCount(), GetType(), Load(), and VSTEffect().
|
private |
Definition at line 298 of file VSTEffect.h.
Referenced by GetMidiOutCount(), GetType(), Load(), and VSTEffect().
|
private |
Definition at line 313 of file VSTEffect.h.
Referenced by Load(), Unload(), and VSTEffect().
|
private |
Definition at line 302 of file VSTEffect.h.
Referenced by GetSymbol(), and Load().
|
private |
Definition at line 379 of file VSTEffect.h.
Referenced by BuildPlain(), CloseUI(), and RefreshParameters().
|
private |
Definition at line 368 of file VSTEffect.h.
Referenced by GetChannelCount(), and SetChannelCount().
|
private |
Definition at line 372 of file VSTEffect.h.
Referenced by BuildFancy(), BuildPlain(), CloseUI(), ExportPresets(), HandleXMLTag(), ImportPresets(), LoadFXB(), LoadFXP(), LoadXML(), PopulateUI(), SaveFXB(), SaveFXP(), ShowOptions(), SizeWindow(), and UpdateDisplay().
|
private |
Definition at line 294 of file VSTEffect.h.
Referenced by GetPath(), Load(), and RealtimeAddProcessor().
|
private |
Definition at line 355 of file VSTEffect.h.
Referenced by GetProcessLevel(), and VSTEffect().
|
private |
Definition at line 311 of file VSTEffect.h.
Referenced by DoProcessInitialize(), IsReady(), ProcessFinalize(), and VSTEffect().
|
private |
Definition at line 343 of file VSTEffect.h.
|
private |
Definition at line 300 of file VSTEffect.h.
Referenced by BuildPlain(), DoProcessInitialize(), SetSampleRate(), ShowClientInterface(), and VSTEffect().
|
private |
Definition at line 367 of file VSTEffect.h.
Referenced by Automate(), callSetChunk(), callSetParameter(), callSetProgram(), LoadSettings(), RealtimeAddProcessor(), RealtimeProcess(), RealtimeResume(), and RealtimeSuspend().
|
private |
Definition at line 380 of file VSTEffect.h.
Referenced by BuildPlain(), CloseUI(), and RefreshParameters().
|
private |
Definition at line 348 of file VSTEffect.h.
Referenced by DoProcessInitialize(), GetSampleRate(), GetTimeInfo(), ProcessBlock(), and VSTEffect().
|
private |
Definition at line 362 of file VSTEffect.h.
Referenced by NeedEditIdle(), NeedIdle(), and VSTEffect().
|
private |
Definition at line 363 of file VSTEffect.h.
Referenced by OnTimer(), and VSTEffect().
|
private |
Definition at line 350 of file VSTEffect.h.
Referenced by DoMakeInstance(), GetLatency(), SetBufferDelay(), ShowOptions(), and VSTEffect().
|
private |
Definition at line 301 of file VSTEffect.h.
Referenced by DoMakeInstance(), SetBlockSize(), ShowOptions(), and VSTEffect().
|
private |
Definition at line 303 of file VSTEffect.h.
Referenced by GetVendor(), and Load().
|
private |
Definition at line 305 of file VSTEffect.h.
Referenced by GetVersion(), and Load().
|
private |
Definition at line 307 of file VSTEffect.h.
Referenced by callSetParameter(), GetEffectIDs(), GetFactoryPresets(), Load(), OnTimer(), PowerOff(), and PowerOn().
|
private |
Definition at line 358 of file VSTEffect.h.
Referenced by NeedEditIdle(), OnTimer(), and VSTEffect().
|
private |
Definition at line 357 of file VSTEffect.h.
Referenced by NeedIdle(), OnTimer(), and VSTEffect().
|
private |
Definition at line 388 of file VSTEffect.h.
Referenced by HandleXMLEndTag(), and HandleXMLTag().
|
private |
Definition at line 387 of file VSTEffect.h.
Referenced by HandleXMLTag().