14#ifndef __AUDACITY_AUDIO_UNIT_EDITOR__
15#define __AUDACITY_AUDIO_UNIT_EDITOR__
17#include <AudioToolbox/AudioUnitUtilities.h>
18#include <unordered_map>
20#include "../EffectEditor.h"
32 static std::unique_ptr<EffectEditor>
Create(
34 const wxString &uiType,
49 void *inObject,
const AudioUnitEvent *inEvent,
50 UInt64 inEventHostTime, AudioUnitParameterValue inParameterValue);
52 AudioUnitParameterValue inParameterValue);
53 void OnIdle(wxIdleEvent &evt);
70 std::pair<AudioUnitParameterID, AudioUnitParameterValue>>
mToUpdate;
74 std::unordered_map<AudioUnitParameterID, AudioUnitParameterValue>
std::unique_ptr< T, AudioUnitCleaner< T, fn > > AudioUnitCleanup
RAII for cleaning up AU plugin state.
static Settings & settings()
static std::unique_ptr< EffectEditor > Create(const EffectUIServices &effect, ShuttleGui &S, const wxString &uiType, EffectInstance &instance, EffectSettingsAccess &access)
void OnIdle(wxIdleEvent &evt)
AUControl *const mpControl
AudioUnitInstance & mInstance
std::unordered_map< AudioUnitParameterID, AudioUnitParameterValue > mParameterValues
bool IsGraphicalUI() override
static void EventListenerCallback(void *inCallbackRefCon, void *inObject, const AudioUnitEvent *inEvent, UInt64 inEventHostTime, AudioUnitParameterValue inParameterValue)
bool ValidateUI() override
Get settings data from the panel; may make error dialogs and return false.
bool UpdateUI() override
Update appearance of the panel for changes in settings.
AudioUnitEditor(CreateToken, const EffectUIServices &effect, EffectSettingsAccess &access, AudioUnitInstance &instance, AUControl *pControl, bool isGraphical)
bool FetchSettingsFromInstance(EffectSettings &settings)
AudioUnitCleanup< AUEventListenerRef, AUListenerDispose > EventListenerPtr
const EventListenerPtr mEventListenerRef
EventListenerPtr MakeListener()
std::vector< std::pair< AudioUnitParameterID, AudioUnitParameterValue > > mToUpdate
void EventListener(const AudioUnitEvent *inEvent, AudioUnitParameterValue inParameterValue)
~AudioUnitEditor() override
bool StoreSettingsToInstance(const EffectSettings &settings)
Performs effect computation.
Derived from ShuttleGuiBase, an Audacity specific class for shuttling data to and from GUI.
Externalized state of a plug-in.