22 #include <CoreAudio/CoreAudioTypes.h> 24 #include "wdlstring.h" 25 #include "assocarray.h" 46 IPlugAUv3(
const InstanceInfo& info,
const Config& config);
49 void BeginInformHostOfParamChange(
int idx)
override;
50 void InformHostOfParamChange(
int idx,
double normalizedValue)
override;
51 void EndInformHostOfParamChange(
int idx)
override;
55 bool SendMidiMsg(
const IMidiMsg& msg)
override;
57 bool SendSysEx(
const ISysEx& msg)
override;
60 void ProcessWithEvents(AudioTimeStamp
const* timestamp, uint32_t frameCount, AURenderEvent
const* events,
ITimeInfo& timeInfo);
61 void SetParameterFromValueObserver(uint64_t address,
float value);
62 void SendParameterValueFromObserver(uint64_t address,
float value);
63 float GetParameter(uint64_t address);
64 const char* GetParamDisplay(uint64_t address,
float value);
65 float GetParamStringToValue(uint64_t address,
const char* str);
66 void SetBuffers(AudioBufferList* pInBufferList, AudioBufferList* pOutBufferList, uint32_t outBusNumber);
67 void Prepare(
double sampleRate, uint32_t blockSize);
68 void AddParamAddress(
int paramIdx, uint64_t paramAddress) { mParamAddressMap.Insert(paramIdx, paramAddress); }
69 uint64_t GetParamAddress(
int paramIdx) {
return mParamAddressMap.Get(paramIdx); }
70 int GetParamIdx(uint64_t paramAddress) {
return mParamAddressMap.ReverseLookup(paramAddress); }
72 void SetAUAudioUnit(
void* pAUAudioUnit);
74 void SetOffline(
bool renderingOffline) { IPlugProcessor::SetRenderingOffline(renderingOffline); }
79 WDL_IntKeyedArray<uint64_t> mParamAddressMap;
80 void* mAUAudioUnit =
nullptr;
81 AudioTimeStamp mLastTimeStamp;
84 IPlugAUv3* MakePlug(
const InstanceInfo& info);
The base class for IPlug Audio Processing.
The base class of an IPlug plug-in, which interacts with the different plug-in APIs.
Encapsulates a MIDI message and provides helper functions.
AudioUnit v3 API base class for an IPlug plug-in.
void InformHostOfPresetChange() override
Implemented by the API class, called by the UI (etc) when the plug-in initiates a program/preset chan...
The base class for IPlug Audio Processing.
The base class of an IPlug plug-in, which interacts with the different plug-in APIs.
A struct for dealing with SysEx messages.
Encapsulates information about the host transport state.