Audacity  3.0.3
AudioUnitEffect.h
Go to the documentation of this file.
1 /**********************************************************************
2 
3  Audacity: A Digital Audio Editor
4 
5  AudioUnitEffect.h
6 
7  Dominic Mazzoni
8  Leland Lucius
9 
10 **********************************************************************/
11 #ifndef AUDACITY_AUDIOUNIT_EFFECT_H
12 
13 
14 
15 #if USE_AUDIO_UNITS
16 
17 #include "MemoryX.h"
18 #include <vector>
19 
20 #include <AudioToolbox/AudioUnitUtilities.h>
21 #include <AudioUnit/AudioUnit.h>
22 #include <AudioUnit/AudioUnitProperties.h>
23 
24 #include "EffectInterface.h"
25 #include "ModuleInterface.h"
26 #include "PluginInterface.h"
27 
28 #include "AUControl.h"
29 
30 #define AUDIOUNITEFFECTS_VERSION wxT("1.0.0.0")
31 /* i18n-hint: the name of an Apple audio software protocol */
32 #define AUDIOUNITEFFECTS_FAMILY EffectFamilySymbol{ wxT("AudioUnit"), XO("Audio Unit") }
33 class AudioUnitEffect;
34 
35 using AudioUnitEffectArray = std::vector<std::unique_ptr<AudioUnitEffect>>;
36 
37 class AudioUnitEffectExportDialog;
39 
40 class AudioUnitEffect : public wxEvtHandler,
41  public EffectClientInterface,
43 {
44 public:
45  AudioUnitEffect(const PluginPath & path,
46  const wxString & name,
47  AudioComponent component,
48  AudioUnitEffect *master = NULL);
49  virtual ~AudioUnitEffect();
50 
51  // ComponentInterface implementation
52 
53  PluginPath GetPath() override;
55  VendorSymbol GetVendor() override;
56  wxString GetVersion() override;
58 
59  // EffectComponentInterface implementation
60 
61  EffectType GetType() override;
62  EffectFamilySymbol GetFamily() override;
63  bool IsInteractive() override;
64  bool IsDefault() override;
65  bool IsLegacy() override;
66  bool SupportsRealtime() override;
67  bool SupportsAutomation() override;
68 
69  // EffectClientInterface implementation
70 
71  bool SetHost(EffectHostInterface *host) override;
72 
73  unsigned GetAudioInCount() override;
74  unsigned GetAudioOutCount() override;
75 
76  int GetMidiInCount() override;
77  int GetMidiOutCount() override;
78 
79  void SetSampleRate(double rate) override;
80  size_t SetBlockSize(size_t maxBlockSize) override;
81  size_t GetBlockSize() const override;
82 
83  sampleCount GetLatency() override;
84  size_t GetTailSize() override;
85 
86  bool IsReady() override;
87  bool ProcessInitialize(sampleCount totalLen, ChannelNames chanMap = NULL) override;
88  bool ProcessFinalize() override;
89  size_t ProcessBlock(float **inBlock, float **outBlock, size_t blockLen) override;
90 
91  bool RealtimeInitialize() override;
92  bool RealtimeAddProcessor(unsigned numChannels, float sampleRate) override;
93  bool RealtimeFinalize() override;
94  bool RealtimeSuspend() override;
95  bool RealtimeResume() override;
96  bool RealtimeProcessStart() override;
97  size_t RealtimeProcess(int group,
98  float **inbuf,
99  float **outbuf,
100  size_t numSamples) override;
101  bool RealtimeProcessEnd() override;
102 
103  bool ShowInterface( wxWindow &parent,
104  const EffectDialogFactory &factory, bool forceModal = false) override;
105 
106  bool GetAutomationParameters(CommandParameters & parms) override;
107  bool SetAutomationParameters(CommandParameters & parms) override;
108 
109  bool LoadUserPreset(const RegistryPath & name) override;
110  bool SaveUserPreset(const RegistryPath & name) override;
111 
112  bool LoadFactoryPreset(int id) override;
113  bool LoadFactoryDefaults() override;
114  RegistryPaths GetFactoryPresets() override;
115 
116  // EffectUIClientInterface implementation
117 
118  void SetHostUI(EffectUIHostInterface *host) override;
119  bool PopulateUI(ShuttleGui &S) override;
120  bool IsGraphicalUI() override;
121  bool ValidateUI() override;
122  bool HideUI() override;
123  bool CloseUI() override;
124 
125  bool CanExportPresets() override;
126  void ExportPresets() override;
127  void ImportPresets() override;
128 
129  bool HasOptions() override;
130  void ShowOptions() override;
131 
132  // AudioUnitEffect implementation
133 
134 private:
135  bool SetRateAndChannels();
136 
137  bool CopyParameters(AudioUnit srcUnit, AudioUnit dstUnit);
138  TranslatableString Export(const wxString & path);
139  TranslatableString Import(const wxString & path);
140  void Notify(AudioUnit unit, AudioUnitParameterID parm);
141 
142  // Realtime
143  unsigned GetChannelCount();
144  void SetChannelCount(unsigned numChannels);
145 
146  static OSStatus RenderCallback(void *inRefCon,
147  AudioUnitRenderActionFlags *inActionFlags,
148  const AudioTimeStamp *inTimeStamp,
149  UInt32 inBusNumber,
150  UInt32 inNumFrames,
151  AudioBufferList *ioData);
152  OSStatus Render(AudioUnitRenderActionFlags *inActionFlags,
153  const AudioTimeStamp *inTimeStamp,
154  UInt32 inBusNumber,
155  UInt32 inNumFrames,
156  AudioBufferList *ioData);
157 
158  static void EventListenerCallback(void *inCallbackRefCon,
159  void *inObject,
160  const AudioUnitEvent *inEvent,
161  UInt64 inEventHostTime,
162  AudioUnitParameterValue inParameterValue);
163  void EventListener(const AudioUnitEvent *inEvent,
164  AudioUnitParameterValue inParameterValue);
165 
166  void GetChannelCounts();
167 
168  bool LoadPreset(const RegistryPath & group);
169  bool SavePreset(const RegistryPath & group);
170 
171 #if defined(HAVE_AUDIOUNIT_BASIC_SUPPORT)
172  bool CreatePlain(wxWindow *parent);
173 #endif
174 
175  bool BypassEffect(bool bypass);
176 
177 private:
178 
180  wxString mName;
181  wxString mVendor;
182  AudioComponent mComponent;
183  AudioUnit mUnit;
185 
188 
190  unsigned mAudioIns;
191  unsigned mAudioOuts;
194  UInt32 mBlockSize;
195  double mSampleRate;
196 
199 
200  AudioTimeStamp mTimeStamp;
201  bool mReady;
202 
205 
207  wxWindow *mParent;
208  wxDialog *mDialog;
209  wxString mUIType; // NOT translated, "Full", "Generic", or "Basic"
211 
212  AudioUnitEffect *mMaster; // non-NULL if a slave
214  unsigned mNumChannels;
216  size_t mNumSamples;
217 
218  AUEventListenerRef mEventListenerRef;
219 
221 
224 };
225 
227 //
228 // AudioUnitEffectsModule
229 //
231 
233 {
234 public:
236  virtual ~AudioUnitEffectsModule();
237 
238  // ComponentInterface implementation
239 
240  PluginPath GetPath() override;
242  VendorSymbol GetVendor() override;
243  wxString GetVersion() override;
245 
246  // ModuleInterface implementation
247 
248  bool Initialize() override;
249  void Terminate() override;
251 
252  const FileExtensions &GetFileExtensions() override;
253  FilePath InstallPath() override { return {}; }
254 
255  bool AutoRegisterPlugins(PluginManagerInterface & pm) override;
257  unsigned DiscoverPluginsAtPath(
258  const PluginPath & path, TranslatableString &errMsg,
259  const RegistrationCallback &callback)
260  override;
261 
262  bool IsPluginValid(const PluginPath & path, bool bFast) override;
263 
264  std::unique_ptr<ComponentInterface>
265  CreateInstance(const PluginPath & path) override;
266 
267  // AudioUnitEffectModule implementation
268 
269  void LoadAudioUnitsOfType(OSType inAUType, PluginPaths & effects);
270  AudioComponent FindAudioUnit(const PluginPath & path, wxString & name);
271 
272  wxString FromOSType(OSType type);
273  OSType ToOSType(const wxString & type);
274 };
275 
276 #endif
277 
278 #endif
EffectUIClientInterface
EffectUIClientInterface is an abstract base class to populate a UI and validate UI values....
Definition: EffectInterface.h:271
AudioUnitEffect::GetFamily
EffectFamilySymbol GetFamily() override
Definition: AudioUnitEffect.cpp:932
AudioUnitEffect::LoadUserPreset
bool LoadUserPreset(const RegistryPath &name) override
Definition: AudioUnitEffect.cpp:1623
AudioUnitEffect::GetChannelCounts
void GetChannelCounts()
Definition: AudioUnitEffect.cpp:2522
TranslatableString
Holds a msgid for the translation catalog; may also bind format arguments.
Definition: TranslatableString.h:32
AudioUnitEffectsModule::GetOptionalFamilySymbol
EffectFamilySymbol GetOptionalFamilySymbol() override
Definition: AudioUnitEffect.cpp:313
CommandParameters
CommandParameters, derived from wxFileConfig, is essentially doing the same things as the Shuttle cla...
Definition: EffectAutomationParameters.h:67
AudioUnitEffect::mPath
PluginPath mPath
Definition: AudioUnitEffect.h:179
AudioUnitEffectsModule::GetSymbol
ComponentInterfaceSymbol GetSymbol() override
Definition: AudioUnitEffect.cpp:269
AudioUnitEffectsModule::LoadAudioUnitsOfType
void LoadAudioUnitsOfType(OSType inAUType, PluginPaths &effects)
Definition: AudioUnitEffect.cpp:395
AudioUnitEffect::SetSampleRate
void SetSampleRate(double rate) override
Definition: AudioUnitEffect.cpp:1184
AudioUnitEffect::mDialog
wxDialog * mDialog
Definition: AudioUnitEffect.h:208
AudioUnitEffectsModule::GetPath
PluginPath GetPath() override
Definition: AudioUnitEffect.cpp:264
AudioUnitEffect::EventListenerCallback
static void EventListenerCallback(void *inCallbackRefCon, void *inObject, const AudioUnitEvent *inEvent, UInt64 inEventHostTime, AudioUnitParameterValue inParameterValue)
Definition: AudioUnitEffect.cpp:2512
AudioUnitEffect::RealtimeSuspend
bool RealtimeSuspend() override
Definition: AudioUnitEffect.cpp:1384
AudioUnitEffect::ExportPresets
void ExportPresets() override
Definition: AudioUnitEffect.cpp:1848
EffectHostInterface
EffectHostInterface is a decorator of a EffectUIClientInterface. It adds virtual (abstract) functions...
Definition: EffectInterface.h:121
AudioUnitEffect::ShowOptions
void ShowOptions() override
Definition: AudioUnitEffect.cpp:1943
AudioUnitEffect::IsInteractive
bool IsInteractive() override
Definition: AudioUnitEffect.cpp:937
AudioUnitEffectsModule::AutoRegisterPlugins
bool AutoRegisterPlugins(PluginManagerInterface &pm) override
Definition: AudioUnitEffect.cpp:322
AudioUnitEffect::SetHost
bool SetHost(EffectHostInterface *host) override
Definition: AudioUnitEffect.cpp:1009
AudioUnitEffect::mIsGraphical
bool mIsGraphical
Definition: AudioUnitEffect.h:210
AudioUnitEffectsModule::FindAudioUnit
AudioComponent FindAudioUnit(const PluginPath &path, wxString &name)
Definition: AudioUnitEffect.cpp:453
AudioUnitEffect::IsReady
bool IsReady() override
Definition: AudioUnitEffect.cpp:1236
AudioUnitEffect::mInteractive
bool mInteractive
Definition: AudioUnitEffect.h:192
AudioUnitEffect::GetAudioInCount
unsigned GetAudioInCount() override
Definition: AudioUnitEffect.cpp:1164
EffectInterface.h
AudioUnitEffect::RealtimeProcess
size_t RealtimeProcess(int group, float **inbuf, float **outbuf, size_t numSamples) override
Definition: AudioUnitEffect.cpp:1432
AudioUnitEffect::SavePreset
bool SavePreset(const RegistryPath &group)
Definition: AudioUnitEffect.cpp:2054
RegistryPaths
std::vector< RegistryPath > RegistryPaths
Definition: Identifier.h:219
PluginPath
wxString PluginPath
type alias for identifying a Plugin supplied by a module, each module defining its own interpretation...
Definition: Identifier.h:214
AudioUnitEffect::SetRateAndChannels
bool SetRateAndChannels()
Definition: AudioUnitEffect.cpp:2114
AudioUnitEffect::mpControl
AUControl * mpControl
Definition: AudioUnitEffect.h:220
AudioUnitEffect::GetBlockSize
size_t GetBlockSize() const override
Definition: AudioUnitEffect.cpp:1194
ModuleInterface.h
AudioUnitEffect::AudioUnitEffect
AudioUnitEffect(const PluginPath &path, const wxString &name, AudioComponent component, AudioUnitEffect *master=NULL)
Definition: AudioUnitEffect.cpp:824
AudioUnitEffect::mParent
wxWindow * mParent
Definition: AudioUnitEffect.h:207
AudioUnitEffect::GetLatency
sampleCount GetLatency() override
Definition: AudioUnitEffect.cpp:1199
AudioUnitEffect::EventListener
void EventListener(const AudioUnitEvent *inEvent, AudioUnitParameterValue inParameterValue)
Definition: AudioUnitEffect.cpp:2473
AudioUnitEffectsModule::IsPluginValid
bool IsPluginValid(const PluginPath &path, bool bFast) override
Definition: AudioUnitEffect.cpp:371
AudioUnitEffect::GetAutomationParameters
bool GetAutomationParameters(CommandParameters &parms) override
Definition: AudioUnitEffect.cpp:1499
AudioUnitEffectsModule
Definition: AudioUnitEffect.h:233
AudioUnitEffect::mOutputList
ArrayOf< AudioBufferList > mOutputList
Definition: AudioUnitEffect.h:204
AudioUnitEffect::mUIHost
EffectUIHostInterface * mUIHost
Definition: AudioUnitEffect.h:206
AudioUnitEffect::GetDescription
TranslatableString GetDescription() override
Definition: AudioUnitEffect.cpp:902
AudioUnitEffect::IsLegacy
bool IsLegacy() override
Definition: AudioUnitEffect.cpp:947
AudioUnitEffect::RenderCallback
static OSStatus RenderCallback(void *inRefCon, AudioUnitRenderActionFlags *inActionFlags, const AudioTimeStamp *inTimeStamp, UInt32 inBusNumber, UInt32 inNumFrames, AudioBufferList *ioData)
Definition: AudioUnitEffect.cpp:2459
AudioUnitEffectsModule::CreateInstance
std::unique_ptr< ComponentInterface > CreateInstance(const PluginPath &path) override
Definition: AudioUnitEffect.cpp:383
AudioUnitEffect::ValidateUI
bool ValidateUI() override
Definition: AudioUnitEffect.cpp:1786
AudioUnitEffect::mAudioOuts
unsigned mAudioOuts
Definition: AudioUnitEffect.h:191
AudioUnitEffect::SetBlockSize
size_t SetBlockSize(size_t maxBlockSize) override
Definition: AudioUnitEffect.cpp:1189
AudioUnitEffect::IsDefault
bool IsDefault() override
Definition: AudioUnitEffect.cpp:942
AudioUnitEffect::mUseLatency
bool mUseLatency
Definition: AudioUnitEffect.h:198
wxArrayStringEx
Extend wxArrayString with move operations and construction and insertion fromstd::initializer_list.
Definition: wxArrayStringEx.h:18
AudioUnitEffectsModule::FromOSType
wxString FromOSType(OSType type)
Definition: AudioUnitEffect.cpp:470
AudioUnitEffect::GetMidiInCount
int GetMidiInCount() override
Definition: AudioUnitEffect.cpp:1174
AudioUnitEffect::RealtimeInitialize
bool RealtimeInitialize() override
Definition: AudioUnitEffect.cpp:1340
AudioUnitEffect::CanExportPresets
bool CanExportPresets() override
Definition: AudioUnitEffect.cpp:1843
ComponentInterfaceSymbol
ComponentInterfaceSymbol pairs a persistent string identifier used internally with an optional,...
Definition: ComponentInterfaceSymbol.h:27
AudioUnitEffect::RealtimeProcessEnd
bool RealtimeProcessEnd() override
Definition: AudioUnitEffect.cpp:1451
AudioUnitEffect::ImportPresets
void ImportPresets() override
Definition: AudioUnitEffect.cpp:1896
AUControl.h
AudioUnitEffect::GetAudioOutCount
unsigned GetAudioOutCount() override
Definition: AudioUnitEffect.cpp:1169
AudioUnitEffect::SetHostUI
void SetHostUI(EffectUIHostInterface *host) override
Definition: AudioUnitEffect.cpp:1710
AudioUnitEffect::HideUI
bool HideUI() override
Definition: AudioUnitEffect.cpp:1810
AudioUnitEffect::Import
TranslatableString Import(const wxString &path)
Definition: AudioUnitEffect.cpp:2371
AudioUnitEffect::ShowInterface
bool ShowInterface(wxWindow &parent, const EffectDialogFactory &factory, bool forceModal=false) override
Definition: AudioUnitEffect.cpp:1460
ModuleInterface
Definition: ModuleInterface.h:70
AudioUnitEffect::mMasterOut
ArraysOf< float > mMasterOut
Definition: AudioUnitEffect.h:215
AudioUnitEffect::mBufferSize
int mBufferSize
Definition: AudioUnitEffect.h:197
AudioUnitEffect::mSupportsStereo
bool mSupportsStereo
Definition: AudioUnitEffect.h:187
AudioUnitEffectsModule::~AudioUnitEffectsModule
virtual ~AudioUnitEffectsModule()
Definition: AudioUnitEffect.cpp:256
AudioUnitEffect::mSlaves
AudioUnitEffectArray mSlaves
Definition: AudioUnitEffect.h:213
AudioUnitEffectsModule::DiscoverPluginsAtPath
unsigned DiscoverPluginsAtPath(const PluginPath &path, TranslatableString &errMsg, const RegistrationCallback &callback) override
Definition: AudioUnitEffect.cpp:341
AudioUnitEffect::RealtimeAddProcessor
bool RealtimeAddProcessor(unsigned numChannels, float sampleRate) override
Definition: AudioUnitEffect.cpp:1347
AudioUnitEffect::PopulateUI
bool PopulateUI(ShuttleGui &S) override
Definition: AudioUnitEffect.cpp:1715
AudioUnitEffect::LoadFactoryPreset
bool LoadFactoryPreset(int id) override
Definition: AudioUnitEffect.cpp:1633
FilePath
wxString FilePath
Definition: Project.h:20
PluginManagerInterface
Definition: PluginInterface.h:55
AudioUnitEffect::mSupportsMono
bool mSupportsMono
Definition: AudioUnitEffect.h:186
factory
static RegisteredToolbarFactory factory
Definition: ControlToolBar.cpp:817
AudioUnitEffect::GetChannelCount
unsigned GetChannelCount()
Definition: AudioUnitEffect.cpp:2284
AudioUnitEffect::mHost
EffectHostInterface * mHost
Definition: AudioUnitEffect.h:189
ArraysOf< float >
AudioUnitEffect::LoadPreset
bool LoadPreset(const RegistryPath &group)
Definition: AudioUnitEffect.cpp:1958
AudioUnitEffectsModule::GetFileExtensions
const FileExtensions & GetFileExtensions() override
Definition: AudioUnitEffect.cpp:295
AudioUnitEffect::CopyParameters
bool CopyParameters(AudioUnit srcUnit, AudioUnit dstUnit)
Definition: AudioUnitEffect.cpp:2245
AudioUnitEffect::RealtimeFinalize
bool RealtimeFinalize() override
Definition: AudioUnitEffect.cpp:1370
AudioUnitEffect::Render
OSStatus Render(AudioUnitRenderActionFlags *inActionFlags, const AudioTimeStamp *inTimeStamp, UInt32 inBusNumber, UInt32 inNumFrames, AudioBufferList *ioData)
Definition: AudioUnitEffect.cpp:2446
name
const TranslatableString name
Definition: Distortion.cpp:98
AudioUnitEffectsModule::FindPluginPaths
PluginPaths FindPluginPaths(PluginManagerInterface &pm) override
Definition: AudioUnitEffect.cpp:328
AudioUnitEffectsModule::GetDescription
TranslatableString GetDescription() override
Definition: AudioUnitEffect.cpp:286
AudioUnitEffect::SupportsRealtime
bool SupportsRealtime() override
Definition: AudioUnitEffect.cpp:952
AudioUnitEffect::SetAutomationParameters
bool SetAutomationParameters(CommandParameters &parms) override
Definition: AudioUnitEffect.cpp:1562
EffectClientInterface::EffectDialogFactory
std::function< wxDialog *(wxWindow &parent, EffectHostInterface *, EffectUIClientInterface *) > EffectDialogFactory
Definition: EffectInterface.h:190
AudioUnitEffect::mBlockSize
UInt32 mBlockSize
Definition: AudioUnitEffect.h:194
ChannelNames
enum ChannelName * ChannelNames
AudioUnitEffect::mReady
bool mReady
Definition: AudioUnitEffect.h:201
AudioUnitEffect::mAudioIns
unsigned mAudioIns
Definition: AudioUnitEffect.h:190
EffectUIHostInterface
EffectUIHostInterface has nothing in it. It is provided so that an Effect can call SetHostUI passing ...
Definition: EffectInterface.h:257
AudioUnitEffectsModule::Initialize
bool Initialize() override
Definition: AudioUnitEffect.cpp:301
AudioUnitEffectArray
std::vector< std::unique_ptr< AudioUnitEffect > > AudioUnitEffectArray
Definition: AudioUnitEffect.h:35
AudioUnitEffect::GetSymbol
ComponentInterfaceSymbol GetSymbol() override
Definition: AudioUnitEffect.cpp:880
RegistryPath
wxString RegistryPath
Definition: Identifier.h:218
AudioUnitEffect::mSampleRate
double mSampleRate
Definition: AudioUnitEffect.h:195
AudioUnitEffect::Notify
void Notify(AudioUnit unit, AudioUnitParameterID parm)
Definition: AudioUnitEffect.cpp:2435
EffectClientInterface
EffectClientInterface provides the ident interface to Effect, and is what makes Effect into a plug-in...
Definition: EffectInterface.h:185
AudioUnitEffect::mUnitInitialized
bool mUnitInitialized
Definition: AudioUnitEffect.h:184
AudioUnitEffect::GetVersion
wxString GetVersion() override
Definition: AudioUnitEffect.cpp:890
AudioUnitEffect
An Effect class that handles a wide range of effects. ??Mac only??
Definition: AudioUnitEffect.h:43
PluginPaths
std::vector< PluginPath > PluginPaths
Definition: Identifier.h:215
AudioUnitEffectsModule::InstallPath
FilePath InstallPath() override
Definition: AudioUnitEffect.h:253
AUControl
a wxControl with Cocoa/Carbon support
Definition: AUControl.h:40
AudioUnitEffect::mUnit
AudioUnit mUnit
Definition: AudioUnitEffect.h:183
AudioUnitEffect::GetFactoryPresets
RegistryPaths GetFactoryPresets() override
Definition: AudioUnitEffect.cpp:1679
MemoryX.h
sampleCount
Positions or offsets within audio files need a wide type.
Definition: SampleCount.h:18
AudioUnitEffect::GetTailSize
size_t GetTailSize() override
Definition: AudioUnitEffect.cpp:1221
AudioUnitEffect::mUIType
wxString mUIType
Definition: AudioUnitEffect.h:209
AudioUnitEffect::SaveUserPreset
bool SaveUserPreset(const RegistryPath &name) override
Definition: AudioUnitEffect.cpp:1628
AudioUnitEffect::HasOptions
bool HasOptions() override
Definition: AudioUnitEffect.cpp:1938
AudioUnitEffect::mComponent
AudioComponent mComponent
Definition: AudioUnitEffect.h:182
AudioUnitEffect::ProcessInitialize
bool ProcessInitialize(sampleCount totalLen, ChannelNames chanMap=NULL) override
Definition: AudioUnitEffect.cpp:1241
AudioUnitEffect::mMaster
AudioUnitEffect * mMaster
Definition: AudioUnitEffect.h:212
AudioUnitEffect::ProcessFinalize
bool ProcessFinalize() override
Definition: AudioUnitEffect.cpp:1294
AudioUnitEffect::mInputList
ArrayOf< AudioBufferList > mInputList
Definition: AudioUnitEffect.h:203
AudioUnitEffect::mMasterIn
ArraysOf< float > mMasterIn
Definition: AudioUnitEffect.h:215
AudioUnitEffectsModule::ToOSType
OSType ToOSType(const wxString &type)
Definition: AudioUnitEffect.cpp:480
AudioUnitEffect::mLatencyDone
bool mLatencyDone
Definition: AudioUnitEffect.h:193
AudioUnitEffect::ProcessBlock
size_t ProcessBlock(float **inBlock, float **outBlock, size_t blockLen) override
Definition: AudioUnitEffect.cpp:1304
AudioUnitEffect::mVendor
wxString mVendor
Definition: AudioUnitEffect.h:181
AudioUnitEffect::mNumChannels
unsigned mNumChannels
Definition: AudioUnitEffect.h:214
PluginInterface.h
AudioUnitEffect::CloseUI
bool CloseUI() override
Definition: AudioUnitEffect.cpp:1821
AudioUnitEffect::BypassEffect
bool BypassEffect(bool bypass)
Definition: AudioUnitEffect.cpp:2682
AudioUnitEffect::GetVendor
VendorSymbol GetVendor() override
Definition: AudioUnitEffect.cpp:885
AudioUnitEffect::SupportsAutomation
bool SupportsAutomation() override
Definition: AudioUnitEffect.cpp:957
AudioUnitEffect::mNumSamples
size_t mNumSamples
Definition: AudioUnitEffect.h:216
AudioUnitEffect::~AudioUnitEffect
virtual ~AudioUnitEffect()
Definition: AudioUnitEffect.cpp:853
AudioUnitEffect::mTimeStamp
AudioTimeStamp mTimeStamp
Definition: AudioUnitEffect.h:200
ModuleInterface::RegistrationCallback
std::function< const PluginID &(ModuleInterface *, ComponentInterface *) > RegistrationCallback
Definition: ModuleInterface.h:123
AudioUnitEffectsModule::GetVersion
wxString GetVersion() override
Definition: AudioUnitEffect.cpp:280
EffectType
EffectType
Definition: EffectInterface.h:55
AudioUnitEffect::RealtimeProcessStart
bool RealtimeProcessStart() override
Definition: AudioUnitEffect.cpp:1420
AudioUnitEffect::GetType
EffectType GetType() override
Definition: AudioUnitEffect.cpp:912
AudioUnitEffect::GetPath
PluginPath GetPath() override
Definition: AudioUnitEffect.cpp:875
AudioUnitEffect::RealtimeResume
bool RealtimeResume() override
Definition: AudioUnitEffect.cpp:1402
ArrayOf< AudioBufferList >
AudioUnitEffectsModule::AudioUnitEffectsModule
AudioUnitEffectsModule()
Definition: AudioUnitEffect.cpp:252
AudioUnitEffectsModule::GetVendor
VendorSymbol GetVendor() override
Definition: AudioUnitEffect.cpp:275
AudioUnitEffect::Export
TranslatableString Export(const wxString &path)
Definition: AudioUnitEffect.cpp:2294
AudioUnitEffectImportDialog
Definition: AudioUnitEffect.cpp:634
ShuttleGui
Derived from ShuttleGuiBase, an Audacity specific class for shuttling data to and from GUI.
Definition: ShuttleGui.h:631
AudioUnitEffect::SetChannelCount
void SetChannelCount(unsigned numChannels)
Definition: AudioUnitEffect.cpp:2289
AudioUnitEffect::LoadFactoryDefaults
bool LoadFactoryDefaults() override
Definition: AudioUnitEffect.cpp:1674
AudioUnitEffect::IsGraphicalUI
bool IsGraphicalUI() override
Definition: AudioUnitEffect.cpp:1781
AudioUnitEffect::mName
wxString mName
Definition: AudioUnitEffect.h:180
AudioUnitEffect::AudioUnitEffectExportDialog
friend class AudioUnitEffectExportDialog
Definition: AudioUnitEffect.h:222
AudioUnitEffect::GetMidiOutCount
int GetMidiOutCount() override
Definition: AudioUnitEffect.cpp:1179
AudioUnitEffectsModule::Terminate
void Terminate() override
Definition: AudioUnitEffect.cpp:307
AudioUnitEffect::mEventListenerRef
AUEventListenerRef mEventListenerRef
Definition: AudioUnitEffect.h:218