|
ASPiK SDK
|
The AUFXPlugin is the ASPiK plugin shell for Audio Units plugin. It contains the plugin kernel and all necessary intefaces, implemented as separate C++ obejcts. More...
#include <aufxplugin.h>
Public Member Functions | |
| AUFXPlugin (AudioUnit component) | |
| constructor for plugin object More... | |
| ~AUFXPlugin () | |
| destructor for plugin object More... | |
| virtual ComponentResult | Version () |
| virtual ComponentResult | Initialize () |
| the AU init function More... | |
| virtual OSStatus | GetPropertyInfo (AudioUnitPropertyID inID, AudioUnitScope nScope, AudioUnitElement inElement, UInt32 &outDataSize, Boolean &outWritable) |
| queries from host about plugin properties More... | |
| virtual OSStatus | GetProperty (AudioUnitPropertyID inID, AudioUnitScope inScope, AudioUnitElement inElement, void *outData) |
| queries from host to get property information More... | |
| virtual OSStatus | SetProperty (AudioUnitPropertyID inID, AudioUnitScope inScope, AudioUnitElement inElement, const void *inData, UInt32 inDataSize) |
| open and close the GUI object More... | |
| virtual ComponentResult | GetParameterInfo (AudioUnitScope inScope, AudioUnitParameterID inParameterID, AudioUnitParameterInfo &outParameterInfo) |
| get information about each AU parameter that was initialized More... | |
| virtual ComponentResult | GetPresets (CFArrayRef *outData) const |
| return a static array of preset information structures More... | |
| virtual OSStatus | NewFactoryPresetSet (const AUPreset &inNewFactoryPreset) |
| user has selected a new preset More... | |
| virtual bool | SupportsTail () |
| virtual Float64 | GetTailTime () |
| virtual Float64 | GetLatency () |
| virtual ComponentResult | SetParameter (AudioUnitParameterID inID, AudioUnitScope inScope, AudioUnitElement inElement, AudioUnitParameterValue inValue, UInt32 inBufferOffsetInFrames) |
| this just calls base class More... | |
| virtual OSStatus | Render (AudioUnitRenderActionFlags &ioActionFlags, const AudioTimeStamp &inTimeStamp, UInt32 inNumberFrames) |
| first function to be called during buffer process cycle More... | |
| virtual OSStatus | ProcessBufferLists (AudioUnitRenderActionFlags &ioActionFlags, const AudioBufferList &inBuffer, AudioBufferList &outBuffer, UInt32 inFramesToProcess) |
| process the de-interleaved channel buffers More... | |
| virtual ComponentResult | Reset (AudioUnitScope inScope, AudioUnitElement inElement) |
| reset function for AU and core More... | |
| virtual ComponentResult | GetParameterValueStrings (AudioUnitScope inScope, AudioUnitParameterID inParameterID, CFArrayRef *outStrings) |
| get parameter string-lists (for string-list params only) More... | |
| virtual ComponentResult | RestoreState (CFPropertyListRef inData) |
| called when a user preset is updated; may also be called during init; note the call sequence depends on the host and AULab calls early init functions in a different order that Logic. More... | |
| virtual UInt32 | SupportedNumChannels (const AUChannelInfo **outInfo) |
| return an array of AUChannelInfo structures with input and output channel combinations More... | |
| virtual OSStatus | HandleNoteOn (UInt8 inChannel, UInt8 inNoteNumber, UInt8 inVelocity, UInt32 inStartFrame) |
| specialized MIDI handler for only this message; CURRENTLY NOT USED, see HandleMidiEvent More... | |
| virtual OSStatus | HandleNoteOff (UInt8 inChannel, UInt8 inNoteNumber, UInt8 inVelocity, UInt32 inStartFrame) |
| specialized MIDI handler for only this message; CURRENTLY NOT USED, see HandleMidiEvent More... | |
| virtual OSStatus | HandlePitchWheel (UInt8 inChannel, UInt8 inPitch1, UInt8 inPitch2, UInt32 inStartFrame) |
| specialized MIDI handler for only this message; CURRENTLY NOT USED, see HandleMidiEvent More... | |
| virtual OSStatus | HandleControlChange (UInt8 inChannel, UInt8 inController, UInt8 inValue, UInt32 inStartFrame) |
| specialized MIDI handler for only this message; CURRENTLY NOT USED, see HandleMidiEvent More... | |
| virtual OSStatus | HandleMidiEvent (UInt8 status, UInt8 channel, UInt8 data1, UInt8 data2, UInt32 inStartFrame) |
| specialized MIDI handler to add events to the plugin's queue More... | |
| char * | getMyComponentDirectory (CFStringRef bundleID) |
| helper function to get a path to the location where THIS library is loaded More... | |
| void | setAUParameterChangeEvent (unsigned int controlID, double actualValue) |
| safely issue a parameter change event More... | |
| double | getAUParameter (unsigned int controlID) |
| safely get a parameter value More... | |
Public Attributes | |
| GUIPluginConnector * | guiPluginConnector = nullptr |
| GUI -> Plugin interface. | |
| PluginHostConnector * | pluginHostConnector = nullptr |
| Plugin -> Host interface. | |
| AUMIDIEventQueue * | midiEventQueue = nullptr |
| double-buffered-queue for MIDI messaging | |
Protected Member Functions | |
| void | initAUParametersWithPluginCore () |
| setup the AU parameter list with the plugin core's parameter list More... | |
| void | updateAUParametersWithPluginCore () |
| send parameter update info (metering, output) More... | |
| void | updatePluginCoreParameters () |
| set the plugin core parameters from the AU parameters (called during each buffer process cycle) More... | |
| void | updateHostInfo (HostInfo *hostInfo) |
| set the HostInfo for the core (varies by API) More... | |
Protected Attributes | |
| PluginCore * | pluginCore = nullptr |
| GUI the plugin core: alive for FULL lifecycle of shell. | |
| bool | hasSidechain = false |
| sidechain flag | |
| AudioBufferList * | sidechainBufferList = nullptr |
| sidechain buffers (if active) | |
| int | sidechainChannelCount = 0 |
| num sidechain channels | |
| AUChannelInfo * | auChannelInfo = nullptr |
| the current channel information | |
| float ** | inputBuffers = nullptr |
| de-interleaved incoming audio input buffers | |
| float ** | outputBuffers = nullptr |
| de-interleaved outgoing audio output buffers | |
| float ** | sidechainInputBuffers = nullptr |
| de-interleaved incoming audio sidechain buffers | |
| void * | presetsArrayData = nullptr |
| contiguous memory block for persistent preset data | |
| int | currentPreset = 0 |
| current preset's index value | |
| Float64 | latencyInSeconds = 0 |
| au latency (seconds!) More... | |
| PluginGUI * | pluginGUI = nullptr |
The AUFXPlugin is the ASPiK plugin shell for Audio Units plugin. It contains the plugin kernel and all necessary intefaces, implemented as separate C++ obejcts.
NOTES:
| AUFXPlugin::AUFXPlugin | ( | AudioUnit | component | ) |
constructor for plugin object
NOTES:
| AUFXPlugin::~AUFXPlugin | ( | ) |
destructor for plugin object
NOTES:
| double AUFXPlugin::getAUParameter | ( | unsigned int | controlID | ) |
safely get a parameter value
safely get an AU parameter's value
| controlID | the AU parameter identifier (same as PluginParameter's controlID) |
| controlID | the AU parameter ID value |
|
inlinevirtual |
AU override method
|
inline |
helper function to get a path to the location where THIS library is loaded
| bundleID | the bundle ID as a string |
|
virtual |
get information about each AU parameter that was initialized
AU override method
NOTES:
|
virtual |
get parameter string-lists (for string-list params only)
AU override method
NOTES:
|
virtual |
return a static array of preset information structures
AU override method
NOTES:
|
virtual |
queries from host to get property information
AU override method
NOTES:
|
virtual |
queries from host about plugin properties
AU override method
NOTES:
|
virtual |
specialized MIDI handler for only this message; CURRENTLY NOT USED, see HandleMidiEvent
AU override method
NOTES:
|
virtual |
specialized MIDI handler to add events to the plugin's queue
AU override method
NOTES:
|
virtual |
specialized MIDI handler for only this message; CURRENTLY NOT USED, see HandleMidiEvent
AU override method
NOTES:
|
virtual |
specialized MIDI handler for only this message; CURRENTLY NOT USED, see HandleMidiEvent
AU override method
NOTES:
|
virtual |
specialized MIDI handler for only this message; CURRENTLY NOT USED, see HandleMidiEvent
AU override method
NOTES:
|
protected |
setup the AU parameter list with the plugin core's parameter list
set up all AU parameters at once using plugin core's parameters; performed only once
|
virtual |
the AU init function
AU override method
NOTES:
|
virtual |
user has selected a new preset
AU override method
NOTES:
|
virtual |
process the de-interleaved channel buffers
AU override method
NOTES:
|
virtual |
first function to be called during buffer process cycle
AU override method
NOTES:
|
virtual |
reset function for AU and core
AU override method
NOTES:
|
virtual |
called when a user preset is updated; may also be called during init; note the call sequence depends on the host and AULab calls early init functions in a different order that Logic.
AU override method
NOTES:
| void AUFXPlugin::setAUParameterChangeEvent | ( | unsigned int | controlID, |
| double | actualValue | ||
| ) |
safely issue a parameter change event
safely set an AU parameter change event
| controlID | the AU parameter identifier (same as PluginParameter's controlID) |
| actualValue | the value to set |
NOTES:
|
virtual |
this just calls base class
AU override method
NOTES:
|
virtual |
open and close the GUI object
AU override method
NOTES:
|
virtual |
return an array of AUChannelInfo structures with input and output channel combinations
AU override method
NOTES:
|
inlinevirtual |
AU override method reply to host query
|
protected |
send parameter update info (metering, output)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
outoing transfer AU parameter changes (meter data) from the Core
|
protected |
|
protected |
set the plugin core parameters from the AU parameters (called during each buffer process cycle)
safely transfer AU parameter changes into the Core
|
inlinevirtual |
AU override method
|
protected |
au latency (seconds!)
VSTGUI4 Editor NOTE: this is only used to open and close the GUI