![]() |
Audacity 3.2.0
|
An Effect class that handles a wide range of effects. ??Mac only?? More...
#include <AudioUnitEffect.h>
Public Types | |
using | Parameters = PackedArray::Ptr< const AudioUnitParameterID > |
![]() | |
enum | : long { DefaultMessageBoxStyle = wxOK | wxCENTRE } |
![]() | |
using | EffectSettingsAccessPtr = std::shared_ptr< EffectSettingsAccess > |
![]() | |
using | Parameters = PackedArray::Ptr< const AudioUnitParameterID > |
using | ParameterVisitor = std::function< bool(const ParameterInfo &pi, AudioUnitParameterID ID) > |
Return value: if true, continue visiting. More... | |
Public Member Functions | |
AudioUnitEffect (const PluginPath &path, const wxString &name, AudioComponent component, Parameters *pParameters=nullptr, AudioUnitEffect *master=nullptr) | |
virtual | ~AudioUnitEffect () |
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 | 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... | |
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... | |
void | SetSampleRate (double rate) override |
size_t | SetBlockSize (size_t maxBlockSize) override |
size_t | GetBlockSize () const override |
sampleCount | GetLatency () override |
bool | ProcessInitialize (EffectSettings &settings, sampleCount totalLen, ChannelNames chanMap) override |
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 | InitializeInstance () |
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 | CloseUI () override |
bool | CanExportPresets () override |
void | ExportPresets (const EffectSettings &settings) const override |
void | ImportPresets (EffectSettings &settings) override |
bool | HasOptions () override |
void | ShowOptions () override |
AudioUnitEffectSettings & | GetSettings (EffectSettings &) const |
This function will be rewritten when the effect is really stateless. More... | |
const AudioUnitEffectSettings & | GetSettings (const EffectSettings &) const |
This function will be rewritten when the effect is really stateless. More... | |
![]() | |
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 |
![]() | |
AudioUnitWrapper (AudioComponent component, Parameters *pParameters) | |
template<typename T > | |
OSStatus | GetFixedSizeProperty (AudioUnitPropertyID inID, T &property, AudioUnitScope inScope=kAudioUnitScope_Global, AudioUnitElement inElement=0) const |
template<typename T > | |
OSStatus | GetVariableSizeProperty (AudioUnitPropertyID inID, PackedArray::Ptr< T > &pObject, AudioUnitScope inScope=kAudioUnitScope_Global, AudioUnitElement inElement=0) const |
template<typename T > | |
OSStatus | SetProperty (AudioUnitPropertyID inID, const T &property, AudioUnitScope inScope=kAudioUnitScope_Global, AudioUnitElement inElement=0) const |
void | ForEachParameter (ParameterVisitor visitor) const |
std::pair< CF_ptr< CFDataRef >, TranslatableString > | MakeBlob (const AudioUnitEffectSettings &settings, const wxCFStringRef &cfname, bool binary) const |
Obtain dump of the setting state of an AudioUnit instance. More... | |
TranslatableString | InterpretBlob (AudioUnitEffectSettings &settings, const wxString &group, const wxMemoryBuffer &buf) const |
Interpret the dump made before by MakeBlob. More... | |
bool | FetchSettings (AudioUnitEffectSettings &settings) const |
bool | StoreSettings (const AudioUnitEffectSettings &settings) const |
bool | CreateAudioUnit () |
AudioUnit | GetAudioUnit () const |
AudioComponent | GetComponent () const |
const Parameters & | GetParameters () const |
Public Attributes | |
AudioUnitEffectArray | mSlaves |
Private Member Functions | |
bool | SetRateAndChannels () |
TranslatableString | Export (const AudioUnitEffectSettings &settings, const wxString &path) const |
TranslatableString | Import (AudioUnitEffectSettings &settings, const wxString &path) const |
TranslatableString | SaveBlobToConfig (const RegistryPath &group, const wxString &path, const void *blob, size_t len, bool allowEmpty=true) const |
OSStatus | Render (AudioUnitRenderActionFlags *inActionFlags, const AudioTimeStamp *inTimeStamp, UInt32 inBusNumber, UInt32 inNumFrames, AudioBufferList *ioData) |
void | GetChannelCounts () |
bool | MigrateOldConfigFile (const RegistryPath &group, EffectSettings &settings) const |
bool | LoadPreset (const RegistryPath &group, EffectSettings &settings) const |
bool | SavePreset (const RegistryPath &group, const AudioUnitEffectSettings &settings) const |
bool | BypassEffect (bool bypass) |
Static Private Member Functions | |
static OSStatus | RenderCallback (void *inRefCon, AudioUnitRenderActionFlags *inActionFlags, const AudioTimeStamp *inTimeStamp, UInt32 inBusNumber, UInt32 inNumFrames, AudioBufferList *ioData) |
Private Attributes | |
AudioUnitEffectSettings | mSettings |
const PluginPath | mPath |
const wxString | mName |
const wxString | mVendor |
AudioUnitCleanup< AudioUnit, AudioUnitUninitialize > | mInitialization |
unsigned | mAudioIns { 2 } |
unsigned | mAudioOuts { 2 } |
bool | mInteractive { false } |
bool | mLatencyDone { false } |
UInt32 | mBlockSize { 0 } |
Float64 | mSampleRate { 44100.0 } |
bool | mUseLatency { true } |
AudioTimeStamp | mTimeStamp {} |
PackedArray::Ptr< AudioBufferList > | mInputList |
PackedArray::Ptr< AudioBufferList > | mOutputList |
wxWindow * | mParent {} |
wxString | mUIType |
bool | mIsGraphical { false } |
AudioUnitEffect *const | mMaster |
Additional Inherited Members | |
![]() | |
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... | |
![]() | |
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 |
![]() | |
const AudioComponent | mComponent |
AudioUnitCleanup< AudioUnit, AudioComponentInstanceDispose > | mUnit |
Parameters | mOwnParameters |
Parameters & | mParameters |
![]() | |
static int | nEffectsDone = 0 |
An Effect class that handles a wide range of effects. ??Mac only??
Definition at line 42 of file AudioUnitEffect.h.
using AudioUnitEffect::Parameters = PackedArray::Ptr<const AudioUnitParameterID> |
Definition at line 47 of file AudioUnitEffect.h.
AudioUnitEffect::AudioUnitEffect | ( | const PluginPath & | path, |
const wxString & | name, | ||
AudioComponent | component, | ||
Parameters * | pParameters = nullptr , |
||
AudioUnitEffect * | master = nullptr |
||
) |
Definition at line 95 of file AudioUnitEffect.cpp.
|
virtual |
Definition at line 106 of file AudioUnitEffect.cpp.
|
private |
Definition at line 1332 of file AudioUnitEffect.cpp.
References AudioUnitWrapper::SetProperty().
Referenced by ProcessInitialize(), RealtimeResume(), and RealtimeSuspend().
|
overridevirtual |
Implements EffectUIClientInterface.
Definition at line 877 of file AudioUnitEffect.cpp.
|
overridevirtual |
Implements EffectUIClientInterface.
Definition at line 866 of file AudioUnitEffect.cpp.
References mParent.
std::shared_ptr< EffectInstance > AudioUnitEffect::DoMakeInstance | ( | ) |
Definition at line 256 of file AudioUnitEffect.cpp.
References InitializeInstance(), AudioUnitWrapper::mComponent, mMaster, and AudioUnitWrapper::mParameters.
Referenced by MakeInstance().
|
private |
Definition at line 1115 of file AudioUnitEffect.cpp.
References ComponentInterface::GetName(), AudioUnitWrapper::MakeBlob(), settings(), and XO.
Referenced by ExportPresets().
|
overridevirtual |
Implements EffectUIClientInterface.
Definition at line 882 of file AudioUnitEffect.cpp.
References AudacityMessageBox(), Export(), fn, GetSettings(), mName, mParent, mVendor, PRESET_USER_PATH, SelectFile(), settings(), and XO.
|
overridevirtual |
How many input buffers to allocate at once.
If the effect ALWAYS processes channels independently, this can return 1
Implements EffectInstanceFactory.
Definition at line 410 of file AudioUnitEffect.cpp.
References mAudioIns.
|
overridevirtual |
How many output buffers to allocate at once.
Implements EffectInstanceFactory.
Definition at line 415 of file AudioUnitEffect.cpp.
References mAudioOuts.
|
overridevirtual |
Default implementation returns mEffectBlockSize
Reimplemented from StatefulEffectBase.
Definition at line 440 of file AudioUnitEffect.cpp.
References mBlockSize.
|
private |
Definition at line 1233 of file AudioUnitEffect.cpp.
References AudioUnitWrapper::GetVariableSizeProperty(), mAudioIns, and mAudioOuts.
Referenced by InitializeInstance().
|
overridevirtual |
Implements ComponentInterface.
Definition at line 141 of file AudioUnitEffect.cpp.
References XO.
|
overridevirtual |
Report names of factory presets.
Implements EffectSettingsManager.
Definition at line 770 of file AudioUnitEffect.cpp.
References AudioUnitWrapper::GetFixedSizeProperty().
|
overridevirtual |
Report identifier and user-visible name of the effect protocol.
Implements EffectDefinitionInterface.
Definition at line 171 of file AudioUnitEffect.cpp.
References AUDIOUNITEFFECTS_FAMILY.
|
overridevirtual |
Called for destructive, non-realtime effect computation Default implementation returns zero
Reimplemented from StatefulPerTrackEffect.
Definition at line 445 of file AudioUnitEffect.cpp.
References AudioUnitWrapper::GetFixedSizeProperty(), mLatencyDone, mSampleRate, and mUseLatency.
|
overridevirtual |
Function that has not yet found a use.
Reimplemented from EffectInstanceFactory.
Definition at line 420 of file AudioUnitEffect.cpp.
|
overridevirtual |
Function that has not yet found a use.
Reimplemented from EffectInstanceFactory.
Definition at line 425 of file AudioUnitEffect.cpp.
|
overridevirtual |
Implements ComponentInterface.
Definition at line 114 of file AudioUnitEffect.cpp.
References mPath.
|
inline |
This function will be rewritten when the effect is really stateless.
Definition at line 191 of file AudioUnitEffect.h.
References mSettings.
|
inline |
This function will be rewritten when the effect is really stateless.
Definition at line 188 of file AudioUnitEffect.h.
References mSettings.
Referenced by ExportPresets(), ImportPresets(), LoadFactoryPreset(), LoadPreset(), LoadSettings(), MigrateOldConfigFile(), RealtimeAddProcessor(), SaveSettings(), and SaveUserPreset().
|
overridevirtual |
Implements ComponentInterface.
Definition at line 119 of file AudioUnitEffect.cpp.
References mName.
Referenced by SetRateAndChannels().
|
overridevirtual |
Type determines how it behaves.
Implements EffectDefinitionInterface.
Definition at line 151 of file AudioUnitEffect.cpp.
References EffectTypeAnalyze, EffectTypeGenerate, EffectTypeNone, EffectTypeProcess, mAudioIns, and mAudioOuts.
Referenced by ShowClientInterface().
|
overridevirtual |
Implements ComponentInterface.
Definition at line 124 of file AudioUnitEffect.cpp.
References mVendor.
|
overridevirtual |
Implements ComponentInterface.
Definition at line 129 of file AudioUnitEffect.cpp.
References AudioUnitWrapper::mComponent.
|
overridevirtual |
Implements EffectUIClientInterface.
Definition at line 961 of file AudioUnitEffect.cpp.
|
private |
Definition at line 1139 of file AudioUnitEffect.cpp.
References AudioUnitWrapper::InterpretBlob(), settings(), and XO.
Referenced by ImportPresets().
|
overridevirtual |
Implements EffectUIClientInterface.
Definition at line 925 of file AudioUnitEffect.cpp.
References AudacityMessageBox(), fn, GetSettings(), Import(), mName, mParent, mVendor, PRESET_USER_PATH, SelectFile(), settings(), and XO.
bool AudioUnitEffect::InitializeInstance | ( | ) |
Definition at line 234 of file AudioUnitEffect.cpp.
References AudioUnitWrapper::CreateAudioUnit(), GetChannelCounts(), AudioUnitWrapper::GetFixedSizeProperty(), mBlockSize, mSampleRate, and SetRateAndChannels().
Referenced by DoMakeInstance(), and InitializePlugin().
bool AudioUnitEffect::InitializePlugin | ( | ) |
Definition at line 268 of file AudioUnitEffect.cpp.
References PackedArray::Count(), FullValue, PluginSettings::GetConfig(), AudioUnitWrapper::GetFixedSizeProperty(), InitializeInstance(), mInteractive, AudioUnitWrapper::mParameters, mUIType, mUseLatency, OptionsKey, PluginSettings::Shared, UITypeKey, and UseLatencyKey.
Referenced by AudioUnitEffectsModule::DiscoverPluginsAtPath().
|
overridevirtual |
Whether the effect sorts "above the line" in the menus.
Implements EffectDefinitionInterface.
Definition at line 181 of file AudioUnitEffect.cpp.
|
overridevirtual |
Implements EffectUIClientInterface.
Definition at line 853 of file AudioUnitEffect.cpp.
References mUIType.
|
overridevirtual |
Whether the effect needs a dialog for entry of settings.
Implements EffectDefinitionInterface.
Definition at line 176 of file AudioUnitEffect.cpp.
References mInteractive.
|
overridevirtual |
Change settings to the preset whose name is GetFactoryPresets()[id]
Implements EffectSettingsManager.
Definition at line 751 of file AudioUnitEffect.cpp.
References AudioUnitWrapper::FetchSettings(), AudioUnitWrapper::GetFixedSizeProperty(), GetSettings(), AudioUnitWrapper::SetProperty(), and settings().
|
private |
Definition at line 1001 of file AudioUnitEffect.cpp.
References PluginSettings::GetConfig(), GetSettings(), AudioUnitWrapper::InterpretBlob(), MigrateOldConfigFile(), PRESET_KEY, PluginSettings::Private, and settings().
Referenced by LoadUserPreset().
|
overridevirtual |
Restore settings from keys and values.
Implements EffectSettingsManager.
Definition at line 669 of file AudioUnitEffect.cpp.
References PackedArray::end(), AudioUnitWrapper::ForEachParameter(), GetSettings(), AudioUnitWrapper::ParameterInfo::mName, and settings().
Referenced by MigrateOldConfigFile().
|
overridevirtual |
Change settings to a user-named preset.
Implements EffectSettingsManager.
Definition at line 738 of file AudioUnitEffect.cpp.
References LoadPreset(), name, and settings().
|
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 |
Implements EffectInstanceFactory.
Definition at line 251 of file AudioUnitEffect.cpp.
References DoMakeInstance().
|
private |
Definition at line 981 of file AudioUnitEffect.cpp.
References PluginSettings::GetConfig(), GetSettings(), LoadSettings(), PluginSettings::Private, PluginSettings::RemoveConfig(), SavePreset(), CommandParameters::SetParameters(), and settings().
Referenced by LoadPreset().
|
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 |
Implements EffectUIClientInterface.
Definition at line 846 of file AudioUnitEffect.cpp.
References AudioUnitValidator::Create(), mParent, mUIType, and S.
|
overridevirtual |
Called for destructive effect computation.
Reimplemented from StatefulPerTrackEffect.
Definition at line 510 of file AudioUnitEffect.cpp.
References PackedArray::Count(), mAudioIns, mAudioOuts, mInputList, mOutputList, mTimeStamp, and AudioUnitWrapper::mUnit.
|
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 503 of file AudioUnitEffect.cpp.
References mInputList, and mOutputList.
|
overridevirtual |
Called at start of destructive processing, for each (mono/stereo) track Default implementation does nothing, returns true
Reimplemented from StatefulPerTrackEffect.
Definition at line 470 of file AudioUnitEffect.cpp.
References BypassEffect(), mAudioIns, mAudioOuts, mInputList, mLatencyDone, mOutputList, mTimeStamp, AudioUnitWrapper::mUnit, RenderCallback(), AudioUnitWrapper::SetProperty(), and SetRateAndChannels().
Referenced by RealtimeInitialize().
|
overridevirtual |
Default implementation does nothing, returns true
Reimplemented from StatefulEffectBase.
Definition at line 550 of file AudioUnitEffect.cpp.
References GetSettings(), mBlockSize, AudioUnitWrapper::mComponent, mName, AudioUnitWrapper::mParameters, mPath, mSlaves, and settings().
|
overridevirtualnoexcept |
Default implementation does nothing, returns false
Reimplemented from StatefulEffectBase.
Definition at line 570 of file AudioUnitEffect.cpp.
|
overridevirtual |
Default implementation does nothing, returns false
Reimplemented from StatefulEffectBase.
Definition at line 545 of file AudioUnitEffect.cpp.
References ProcessInitialize(), and settings().
|
overridevirtual |
Default implementation does nothing, returns 0
Reimplemented from StatefulEffectBase.
Definition at line 625 of file AudioUnitEffect.cpp.
References mBlockSize, mSlaves, and settings().
|
overridevirtualnoexcept |
Default implementation does nothing, returns true
Reimplemented from StatefulEffectBase.
Definition at line 632 of file AudioUnitEffect.cpp.
|
overridevirtual |
Default implementation does nothing, returns true
Reimplemented from StatefulEffectBase.
Definition at line 620 of file AudioUnitEffect.cpp.
|
overridevirtualnoexcept |
Default implementation does nothing, returns true
Reimplemented from StatefulEffectBase.
Definition at line 600 of file AudioUnitEffect.cpp.
References BypassEffect(), and mSlaves.
|
overridevirtual |
Default implementation does nothing, returns true
Reimplemented from StatefulEffectBase.
Definition at line 582 of file AudioUnitEffect.cpp.
References BypassEffect(), and mSlaves.
|
private |
Definition at line 1170 of file AudioUnitEffect.cpp.
References PackedArray::Count(), for(), mInputList, and size.
Referenced by RenderCallback().
|
staticprivate |
Definition at line 1189 of file AudioUnitEffect.cpp.
References Render().
Referenced by ProcessInitialize().
|
private |
path | only for formatting error messages |
Definition at line 74 of file AudioUnitEffect.cpp.
References PRESET_KEY, PluginSettings::Private, PluginSettings::SetConfig(), and XO.
Referenced by SavePreset().
|
private |
Definition at line 1028 of file AudioUnitEffect.cpp.
References _, AudioUnitWrapper::MakeBlob(), SaveBlobToConfig(), and settings().
Referenced by MigrateOldConfigFile(), and SaveUserPreset().
|
overridevirtual |
Store settings as keys and values.
Implements EffectSettingsManager.
Definition at line 648 of file AudioUnitEffect.cpp.
References PackedArray::end(), AudioUnitWrapper::ForEachParameter(), GetSettings(), AudioUnitWrapper::ParameterInfo::mName, settings(), and AudioUnitEffectSettings::values.
|
overridevirtual |
Save settings in the configuration file as a user-named preset.
Implements EffectSettingsManager.
Definition at line 745 of file AudioUnitEffect.cpp.
References GetSettings(), name, SavePreset(), and settings().
|
overridevirtual |
Default implementation assigns mEffectBlockSize, returns it
Reimplemented from StatefulEffectBase.
Definition at line 435 of file AudioUnitEffect.cpp.
References mBlockSize.
|
private |
Definition at line 1046 of file AudioUnitEffect.cpp.
References GetSymbol(), Internal, mAudioIns, mAudioOuts, mInitialization, mSampleRate, AudioUnitWrapper::mUnit, scope, and AudioUnitWrapper::SetProperty().
Referenced by InitializeInstance(), and ProcessInitialize().
|
overridevirtual |
Default implementation assigns mSampleRate
Reimplemented from StatefulEffectBase.
Definition at line 430 of file AudioUnitEffect.cpp.
References mSampleRate.
|
overridevirtual |
Implements EffectUIClientInterface.
Definition at line 637 of file AudioUnitEffect.cpp.
References EffectTypeAnalyze, GetType(), and SupportsRealtime().
|
overridevirtual |
Implements EffectUIClientInterface.
Definition at line 966 of file AudioUnitEffect.cpp.
References mParent, mUIType, mUseLatency, OptionsKey, PluginSettings::SetConfig(), PluginSettings::Shared, UITypeKey, and UseLatencyKey.
|
overridevirtual |
Whether the effect has any automatable controls.
Implements EffectDefinitionInterface.
Definition at line 194 of file AudioUnitEffect.cpp.
References AudioUnitWrapper::ForEachParameter(), and AudioUnitWrapper::ParameterInfo::mInfo.
|
overridevirtual |
Whether the effect supports realtime previewing (while audio is playing).
Implements EffectDefinitionInterface.
Definition at line 186 of file AudioUnitEffect.cpp.
Referenced by ShowClientInterface().
|
private |
Definition at line 202 of file AudioUnitEffect.h.
Referenced by GetAudioInCount(), GetChannelCounts(), GetType(), ProcessBlock(), ProcessInitialize(), and SetRateAndChannels().
|
private |
Definition at line 203 of file AudioUnitEffect.h.
Referenced by GetAudioOutCount(), GetChannelCounts(), GetType(), ProcessBlock(), ProcessInitialize(), and SetRateAndChannels().
|
private |
Definition at line 207 of file AudioUnitEffect.h.
Referenced by GetBlockSize(), InitializeInstance(), RealtimeAddProcessor(), RealtimeProcess(), and SetBlockSize().
|
private |
Definition at line 199 of file AudioUnitEffect.h.
Referenced by SetRateAndChannels().
|
private |
Definition at line 214 of file AudioUnitEffect.h.
Referenced by ProcessBlock(), ProcessFinalize(), ProcessInitialize(), and Render().
|
private |
Definition at line 205 of file AudioUnitEffect.h.
Referenced by InitializePlugin(), and IsInteractive().
|
private |
Definition at line 219 of file AudioUnitEffect.h.
|
private |
Definition at line 206 of file AudioUnitEffect.h.
Referenced by GetLatency(), and ProcessInitialize().
|
private |
Definition at line 221 of file AudioUnitEffect.h.
Referenced by DoMakeInstance().
|
private |
Definition at line 196 of file AudioUnitEffect.h.
Referenced by ExportPresets(), GetSymbol(), ImportPresets(), and RealtimeAddProcessor().
|
private |
Definition at line 215 of file AudioUnitEffect.h.
Referenced by ProcessBlock(), ProcessFinalize(), and ProcessInitialize().
|
private |
Definition at line 217 of file AudioUnitEffect.h.
Referenced by CloseUI(), ExportPresets(), ImportPresets(), PopulateUI(), and ShowOptions().
|
private |
Definition at line 195 of file AudioUnitEffect.h.
Referenced by GetPath(), and RealtimeAddProcessor().
|
private |
Definition at line 208 of file AudioUnitEffect.h.
Referenced by GetLatency(), InitializeInstance(), SetRateAndChannels(), and SetSampleRate().
|
private |
Definition at line 184 of file AudioUnitEffect.h.
Referenced by GetSettings().
AudioUnitEffectArray AudioUnitEffect::mSlaves |
Definition at line 223 of file AudioUnitEffect.h.
Referenced by RealtimeAddProcessor(), RealtimeProcess(), RealtimeResume(), and RealtimeSuspend().
|
private |
Definition at line 212 of file AudioUnitEffect.h.
Referenced by ProcessBlock(), and ProcessInitialize().
|
private |
Definition at line 218 of file AudioUnitEffect.h.
Referenced by InitializePlugin(), IsGraphicalUI(), PopulateUI(), and ShowOptions().
|
private |
Definition at line 210 of file AudioUnitEffect.h.
Referenced by GetLatency(), InitializePlugin(), and ShowOptions().
|
private |
Definition at line 197 of file AudioUnitEffect.h.
Referenced by ExportPresets(), GetVendor(), and ImportPresets().