13#ifndef _pluginstructures_h
14#define _pluginstructures_h
17#define MAX_CHANNEL_COUNT 128
24#include "readerwriterqueue.h"
32#import <CoreFoundation/CoreFoundation.h>
33#import <AudioUnit/AudioUnit.h>
34#import <AudioToolbox/AudioToolbox.h>
83 aaxPlugInCategory_None = 0x00000000,
284 , vectorBDMix(0.0) {}
286 VectorJoystickData(
double _vectorA,
double _vectorB,
double _vectorC,
double _vectorD,
double _vectorACMix,
double _vectorBDMix)
291 , vectorACMix(_vectorACMix)
292 , vectorBDMix(_vectorBDMix) {}
299 vectorA = vsData.vectorA;
300 vectorB = vsData.vectorB;
301 vectorC = vsData.vectorC;
302 vectorD = vsData.vectorD;
304 vectorACMix = vsData.vectorACMix;
305 vectorBDMix = vsData.vectorBDMix;
310 double vectorA = 0.0;
311 double vectorB = 0.0;
312 double vectorC = 0.0;
313 double vectorD = 0.0;
315 double vectorACMix = 0.0;
316 double vectorBDMix = 0.0;
408 PresetInfo(uint32_t _presetIndex,
const char* _name)
496 guiParameter = data.guiParameter;
497 guiUpdateData = data.guiUpdateData;
498 rafxStatusWndText = data.rafxStatusWndText;
508 std::string rafxStatusWndText;
530 uint32_t _outputChannelFormat)
563 midiEvent(uint32_t _midiMessage, uint32_t _midiChannel, uint32_t _midiData1, uint32_t _midiData2, uint32_t _midiSampleOffset)
581 midiEvent(uint32_t _midiMessage, uint32_t _midiChannel, uint32_t _midiData1, uint32_t _midiData2, uint32_t _midiSampleOffset,
double _audioTimeStamp)
674 PLUGINGUI_REGISTER_CUSTOMVIEW,
675 PLUGINGUI_DE_REGISTER_CUSTOMVIEW,
676 PLUGINGUI_REGISTER_SUBCONTROLLER,
677 PLUGINGUI_DE_REGISTER_SUBCONTROLLER,
678 PLUGINGUI_QUERY_HASUSERCUSTOM,
679 PLUGINGUI_USER_CUSTOMOPEN,
680 PLUGINGUI_USER_CUSTOMCLOSE,
681 PLUGINGUI_USER_CUSTOMSYNC,
682 PLUGINGUI_EXTERNAL_SET_NORMVALUE,
683 PLUGINGUI_EXTERNAL_SET_ACTUALVALUE,
684 PLUGINGUI_EXTERNAL_GET_NORMVALUE,
685 PLUGINGUI_EXTERNAL_GET_ACTUALVALUE,
686 PLUGINGUI_PARAMETER_CHANGED,
687 PLUGIN_QUERY_DESCRIPTION,
688 PLUGIN_QUERY_PARAMETER,
689 PLUGIN_QUERY_TRACKPAD_X,
690 PLUGIN_QUERY_TRACKPAD_Y,
887enum attributeType { isFloatAttribute, isDoubleAttribute, isIntAttribute, isUintAttribute, isBoolAttribute, isVoidPtrAttribute, isStringAttribute };
943 void setFloatAttribute(
float f) {
value.f = f; }
944 void setDoubleAttribute(
double d) {
value.d = d; }
945 void setIntAttribute(
int n) {
value.n = n; }
946 void setUintAttribute(
unsigned int u) {
value.u = u; }
947 void setBoolAttribute(
bool b) {
value.b = b; }
948 void setVoidPtrAttribute(
void* vp) {
value.vp = vp; }
950 float getFloatAttribute( ) {
return value.f; }
951 double getDoubleAttribute( ) {
return value.d; }
952 int getIntAttribute( ) {
return value.n; }
953 unsigned int getUintAttribute( ) {
return value.u; }
954 bool getBoolAttribute( ) {
return value.b; }
955 void* getVoidPtrAttribute( ) {
return value.vp; }
993 bool enableVSTSampleAccurateAutomation =
false;
1045const uint32_t DEFAULT_AUDIO_BLOCK_SIZE = 64;
1046const uint32_t WANT_WHOLE_BUFFER = 0;
1085 void clearMidiEvents() {
1088 uint32_t getMidiEventCount() {
1091 midiEvent* getMidiEvent(uint32_t index) {
1092 if (index >= getMidiEventCount())
1268 , supportedIOCombinations(0)
1270 , supportedAuxIOCombinations(0)
1296 switch(channelCount)
1368 case kCF7p1Proximity:
1419 if (
this == &aControl)
1500 virtual bool setWindowFrameSize(
double left = 0,
double top = 0,
double right = 0,
double bottom = 0) = 0;
1573 virtual void checkSendUpdateGUI(
int tag,
float actualValue,
bool loadingPreset,
void* data1 = 0,
void* data2 = 0) {}
1576 virtual void parameterChanged(int32_t controlID,
double actualValue,
double normalizedValue) {}
1657 virtual bool getValueAtOffset(
long int _sampleOffset,
double _previousValue,
double& _nextValue) = 0;
1678 std::ostringstream strm;
1680 std::string str = strm.str();
1695 std::ostringstream strm;
1697 std::string str = strm.str();
1712 std::ostringstream strm;
1714 std::string str = strm.str();
1729 std::ostringstream strm;
1731 std::string str = strm.str();
1746 std::string returnString;
1747 if (value) returnString.assign(
"true");
1748 else returnString.assign(
"false");
1749 return returnString;
Custom View interface to allow plugin core to create safe communication channels with GUI custom view...
Definition: pluginstructures.h:1462
virtual void updateView()=0
virtual void pushDataValue(double data)
Definition: pluginstructures.h:1472
virtual void sendMessage(void *data)
Definition: pluginstructures.h:1482
Custom interface so that GUI can pass information to plugin shell in a thread-safe manner.
Definition: pluginstructures.h:1540
virtual bool deRegisterCustomView(ICustomView *customViewConnector)=0
virtual void beginParameterChangeGesture(int controlTag)
Definition: pluginstructures.h:1591
virtual bool registerCustomView(std::string customViewName, ICustomView *customViewConnector)=0
virtual bool guiTimerPing()=0
virtual double getNormalizedPluginParameter(int32_t controlID)
Definition: pluginstructures.h:1579
virtual void setNormalizedPluginParameter(int32_t controlID, double value)
Definition: pluginstructures.h:1582
virtual void endParameterChangeGesture(int controlTag)
Definition: pluginstructures.h:1594
virtual void parameterChanged(int32_t controlID, double actualValue, double normalizedValue)
Definition: pluginstructures.h:1576
virtual void setActualPluginParameter(int32_t controlID, double value)
Definition: pluginstructures.h:1588
virtual double getActualPluginParameter(int32_t controlID)
Definition: pluginstructures.h:1585
virtual bool guiDidOpen()=0
virtual bool deRregisterSubcontroller(ICustomView *customViewConnector)
Definition: pluginstructures.h:1561
virtual bool checkNonBoundValueChange(int tag, float normalizedValue)
Definition: pluginstructures.h:1570
virtual bool guiWillClose()=0
virtual uint32_t getNextNonBoundVariableTag(int startTag)
Definition: pluginstructures.h:1567
virtual bool registerSubcontroller(std::string subcontrollerName, ICustomView *customViewConnector)
Definition: pluginstructures.h:1558
virtual uint32_t getNonBoundVariableCount()
Definition: pluginstructures.h:1564
virtual void checkSendUpdateGUI(int tag, float actualValue, bool loadingPreset, void *data1=0, void *data2=0)
Definition: pluginstructures.h:1573
Custom interface to allow resizing of GUI window; this is mainly used for the GUI designer.
Definition: pluginstructures.h:1521
virtual void setGUIWindowFrame(IGUIWindowFrame *frame)=0
Custom interface to allow resizing of GUI window; this is mainly used for the GUI designer.
Definition: pluginstructures.h:1497
virtual bool setWindowFrameSize(double left=0, double top=0, double right=0, double bottom=0)=0
virtual bool getWindowFrameSize(double &left, double &top, double &right, double &bottom)=0
virtual void enableGUIDesigner(bool enable)
Definition: pluginstructures.h:1506
Double buffered queue for MIDI messages.
Definition: pluginstructures.h:1628
virtual bool fireMidiEvents(uint32_t uSampleOffset)=0
virtual uint32_t getEventCount()=0
Interface for VST3 parameter value update queue (sample accurate automation)
Definition: pluginstructures.h:1650
virtual uint32_t getParameterIndex()=0
virtual bool getValueAtOffset(long int _sampleOffset, double _previousValue, double &_nextValue)=0
virtual bool getNextValue(double &_nextValue)=0
Custom interface to send the plugin shell a message from plugin core.
Definition: pluginstructures.h:1610
virtual void sendHostMessage(const HostMessageInfo &hostMessageInfo)=0
std::string numberToString(unsigned int number)
converts unsigned int value to std::string
Definition: pluginstructures.h:1676
std::string boolToStdString(bool value)
converts bool value to std::string
Definition: pluginstructures.h:1744
auxGUIIdentifier
Identifier enum for aux parameter information. Not used in ASPiK though is used for RAFX plugins (not...
Definition: pluginstructures.h:159
hostMessage
Use this enum to identify a message to send to the plugin shell (host)
Definition: pluginstructures.h:483
channelFormat
Use this enum to identify plugin channel formats. Steinberg calls these "speaker arrangements".
Definition: pluginstructures.h:115
messageType
Message identifier for ASPiK Core messaging system.
Definition: pluginstructures.h:670
pluginType
Use this enum to identify the plugin category.
Definition: pluginstructures.h:62
aaxPlugInCategory
Use this enum to identify the AAX plugin category.
Definition: pluginstructures.h:82
attributeType
AttributeType identifier for ASPiK PluginParameter auxilliary storage system. You are free to impleme...
Definition: pluginstructures.h:887
@ aaxPlugInCategory_Harmonic
Distortion, saturation, and harmonic enhancement.
Definition: pluginstructures.h:90
@ aaxPlugInCategory_SWGenerators
Virtual instruments, metronomes, and other software audio sources.
Definition: pluginstructures.h:95
@ aaxPlugInCategory_Effect
Special effects.
Definition: pluginstructures.h:97
@ aaxPlugInCategory_Dither
Dither, noise shaping, etc.
Definition: pluginstructures.h:92
@ aaxPlugInCategory_Modulation
Phasing, flanging, chorus, etc.
Definition: pluginstructures.h:89
@ aaxPlugInCategory_PitchShift
Pitch processing.
Definition: pluginstructures.h:86
@ aaxPlugInCategory_NoiseReduction
Noise reduction.
Definition: pluginstructures.h:91
@ aaxPlugInCategory_Reverb
Reverberation and room/space simulation.
Definition: pluginstructures.h:87
@ aaxPlugInCategory_WrappedPlugin
Plug-ins wrapped by a thrid party wrapper except synth plug-ins which = AAX_PlugInCategory_SWGenerato...
Definition: pluginstructures.h:96
@ aaxPlugInCategory_Dynamics
Compressor, expander, limiter, etc.
Definition: pluginstructures.h:85
@ aaxPlugInCategory_HWGenerators
Fixed hardware audio sources such as SampleCell.
Definition: pluginstructures.h:94
@ aaxPlugInCategory_SoundField
Pan, auto-pan, upmix and downmix, and surround handling.
Definition: pluginstructures.h:93
@ aaxPlugInCategory_EQ
Equalization.
Definition: pluginstructures.h:84
@ aaxPlugInCategory_Delay
Delay and echo.
Definition: pluginstructures.h:88
Identifiers, GUIDs and other strings and number id values, API specific.
Definition: pluginstructures.h:207
uint32_t aaxManufacturerID
aax manu ID
Definition: pluginstructures.h:244
std::string auBundleName
AU bundle name /* MacOS only: this MUST match the bundle name which is the same as the project name *...
Definition: pluginstructures.h:261
std::string auBundleID
AU bundle ID /* MacOS only: this MUST match the bundle identifier in your info.plist file */.
Definition: pluginstructures.h:260
uint32_t aaxProductID
aax ID
Definition: pluginstructures.h:245
std::string aaxEffectID
aax Effect ID
Definition: pluginstructures.h:246
std::string aaxBundleID
AAX bundle /* MacOS only: this MUST match the bundle identifier in your info.plist file */.
Definition: pluginstructures.h:247
uint32_t vst3SampleAccurateGranularity
sample accuracy granularity (update interval)
Definition: pluginstructures.h:256
uint32_t aaxPluginCategoryCode
aax plugin category
Definition: pluginstructures.h:248
std::string vst3BundleID
VST bundle ID /* MacOS only: this MUST match the bundle identifier in your info.plist file */.
Definition: pluginstructures.h:257
bool enableVST3SampleAccurateAutomation
flag for sample accurate automation
Definition: pluginstructures.h:255
int fourCharCode
the mystic and ancient 4-character code (oooh)
Definition: pluginstructures.h:251
std::string vst3FUID
VST GUID.
Definition: pluginstructures.h:254
Information package about the current DAW session. Sample rate and bit-depth of audio.
Definition: pluginstructures.h:1217
double sampleRate
sample rate
Definition: pluginstructures.h:1237
uint32_t bitDepth
wav file bit depth (not supported in all APIs)
Definition: pluginstructures.h:1238
Information about auxilliary parameter details - purely customizeable. This uses the attributeValue u...
Definition: pluginstructures.h:923
attributeValue value
value in union form
Definition: pluginstructures.h:957
uint32_t attributeID
attribute ID
Definition: pluginstructures.h:958
Structure of a pair of channel format enumerators that set an input/output channel I/O capability.
Definition: pluginstructures.h:524
uint32_t inputChannelFormat
input format for this I/O pair
Definition: pluginstructures.h:545
uint32_t outputChannelFormat
output format for this I/O pair
Definition: pluginstructures.h:546
Structure that is used during GUI creation to safely pass information about the GUI size and interfac...
Definition: pluginstructures.h:783
double width
GUI width in pixels.
Definition: pluginstructures.h:819
IGUIPluginConnector * guiPluginConnector
GUI-to-plugin-shell interface.
Definition: pluginstructures.h:815
void * window
window handle or NSView*
Definition: pluginstructures.h:814
IGUIWindowFrame * guiWindowFrame
GUI-to-frame interface (resizing)
Definition: pluginstructures.h:816
double height
GUI height in pixels.
Definition: pluginstructures.h:820
Information that defines a single GUI parameter's possible values and ID.
Definition: pluginstructures.h:332
double actualValue
actual value
Definition: pluginstructures.h:353
bool useCustomData
custom data flag (reserved for future use)
Definition: pluginstructures.h:354
void * customData
custom data (reserved for future use)
Definition: pluginstructures.h:357
uint32_t controlID
ID value.
Definition: pluginstructures.h:352
Information about a GUI update message; this is for sending GUI control information from the plugin c...
Definition: pluginstructures.h:444
bool useCustomData
unused
Definition: pluginstructures.h:467
void * customData
unused
Definition: pluginstructures.h:464
std::vector< GUIParameter > guiParameters
list of updates
Definition: pluginstructures.h:461
uint32_t guiUpdateCode
unused
Definition: pluginstructures.h:458
Information from the host that is updated on each buffer process cycle; includes BPM,...
Definition: pluginstructures.h:974
uint32_t samplesToNextClock
MIDI Clock Resolution (24 Per Quarter Note), can be negative (nearest)
Definition: pluginstructures.h:992
long long systemTime
system time in nanoseconds (optional)
Definition: pluginstructures.h:986
long long nLoopEndTick
end tick for loop
Definition: pluginstructures.h:1020
double projectTimeMusic
musical position in quarter notes (1.0 equals 1 quarter note)
Definition: pluginstructures.h:988
bool bIsPlayingAU
notorously incorrect in Logic - once set to true, stays stuck there
Definition: pluginstructures.h:1006
long long nTickPosition
"Tick" is represented here as 1/960000 of a quarter note
Definition: pluginstructures.h:1017
bool bTransportStateChanged
only notifies a change, but not what was changed to...
Definition: pluginstructures.h:1007
double barPositionMusic
last bar start position, in quarter notes
Definition: pluginstructures.h:989
bool bIsCycling
looping
Definition: pluginstructures.h:1010
double continousTimeSamples
project time, without loop (optional)
Definition: pluginstructures.h:987
uint32_t uTimeSigDenomintor
time signature denominator
Definition: pluginstructures.h:980
bool bIsPlayingAAX
flag if playing
Definition: pluginstructures.h:1016
float fTimeSigNumerator
time signature numerator
Definition: pluginstructures.h:979
uint32_t nDeltaSampleOffsetToNextBeat
samples to next beat
Definition: pluginstructures.h:1008
double dCycleStartBeat
loop start
Definition: pluginstructures.h:1011
long long nLoopStartTick
start tick for loop
Definition: pluginstructures.h:1019
double dCurrentMeasureDownBeat
current downbeat
Definition: pluginstructures.h:1009
double dBPM
beats per minute, aka "tempo"
Definition: pluginstructures.h:978
double cycleStartMusic
Definition: pluginstructures.h:990
double dCurrentBeat
current DAW beat value
Definition: pluginstructures.h:1005
double dCycleEndBeat
loop end
Definition: pluginstructures.h:1012
double dAbsoluteFrameBufferTime
the time in seconds of the sample index at top of buffer
Definition: pluginstructures.h:977
unsigned long long uAbsoluteFrameBufferIndex
the sample index at top of buffer
Definition: pluginstructures.h:976
uint32_t state
a combination of the values from StatesAndFlags; use to decode validity of other VST3 items in this s...
Definition: pluginstructures.h:985
double cycleEndMusic
cycle end in quarter notes
Definition: pluginstructures.h:991
bool bLooping
looping flag
Definition: pluginstructures.h:1018
Definition: pluginstructures.h:486
Information package a joystick or trackpad GUI interaction.
Definition: pluginstructures.h:1415
bool korgVectorJoystickOrientation
vector joystick orientation
Definition: pluginstructures.h:1440
uint32_t midiControlCommand
MIDI CC type.
Definition: pluginstructures.h:1436
uint32_t midiControlName
MIDI CC.
Definition: pluginstructures.h:1437
bool midiControl
MIDI enabled.
Definition: pluginstructures.h:1435
double joystickValue
joystick value as a double
Definition: pluginstructures.h:1439
bool enableParamSmoothing
param smoothing on joystick (can be CPU abusive)
Definition: pluginstructures.h:1441
int32_t trackpadIndex
trackpad or joystick index
Definition: pluginstructures.h:1434
double smoothingTimeInMs
JS smoothing time.
Definition: pluginstructures.h:1442
uint32_t midiControlChannel
MIDI CC Channel.
Definition: pluginstructures.h:1438
Information that includes the message code as well as the message data.
Definition: pluginstructures.h:706
void * inMessageData
incoming message data (interpretation depends on message)
Definition: pluginstructures.h:733
uint32_t message
message code
Definition: pluginstructures.h:732
std::string inMessageString
incoming message data as a std::string (interpretation depends on message)
Definition: pluginstructures.h:736
void * outMessageData
outgoing message data (interpretation depends on message)
Definition: pluginstructures.h:734
std::string outMessageString
outgoing message data as a std::string (interpretation depends on message)
Definition: pluginstructures.h:737
Information about a paraemeter being updated. Used when bound variables are updated....
Definition: pluginstructures.h:835
bool bufferProcUpdate
update at top of buffer process
Definition: pluginstructures.h:872
bool applyTaper
add tapering to udpate
Definition: pluginstructures.h:873
bool boundVariableUpdate
bound variable is being udpated
Definition: pluginstructures.h:871
bool isVSTSampleAccurateUpdate
param updated with VST sample accurate automation
Definition: pluginstructures.h:869
bool isSmoothing
param is being (bulk) smoothed
Definition: pluginstructures.h:868
bool loadingPreset
a preset is being loaded
Definition: pluginstructures.h:870
Information package about the plugin itself, consisting mainly of simple strings and ID values.
Definition: pluginstructures.h:1254
bool infiniteTailVST3
VST3 infinite tail flag.
Definition: pluginstructures.h:1285
bool processFrames
want frames (default)
Definition: pluginstructures.h:1280
uint32_t pluginTypeCode
FX or synth.
Definition: pluginstructures.h:1277
bool hasCustomGUI
default on
Definition: pluginstructures.h:1282
uint32_t numSupportedIOCombinations
should support at least main 3 combos
Definition: pluginstructures.h:1287
std::string shortPluginName
name (up to 15 chars)
Definition: pluginstructures.h:1275
double tailTimeInMSec
tail time
Definition: pluginstructures.h:1284
uint32_t getDefaultChannelIOConfigForChannelCount(uint32_t channelCount)
Definition: pluginstructures.h:1294
uint32_t getChannelCountForChannelIOConfig(uint32_t format)
Definition: pluginstructures.h:1336
std::string vendorName
manufacturer name
Definition: pluginstructures.h:1276
std::string pluginName
name (up to 31 chars)
Definition: pluginstructures.h:1274
bool wantsMIDI
want MIDI (don't need to actually use it)
Definition: pluginstructures.h:1281
bool hasSidechain
sidechain flag
Definition: pluginstructures.h:1279
uint32_t latencyInSamples
latency
Definition: pluginstructures.h:1283
uint32_t numSupportedAuxIOCombinations
should support at least main 3 combos
Definition: pluginstructures.h:1290
Structure that is used during the base class initilize( ) funciton call, after object instantiation i...
Definition: pluginstructures.h:754
PluginInfo & operator=(const PluginInfo &data)
Definition: pluginstructures.h:757
const char * pathToDLL
complete path to the DLL (component) without trailing backslash
Definition: pluginstructures.h:767
Definition: pluginstructures.h:407
uint32_t presetIndex
preset index
Definition: pluginstructures.h:424
std::string presetName
preset name
Definition: pluginstructures.h:425
std::vector< PresetParameter > presetParameters
list of parameters for this preset
Definition: pluginstructures.h:427
Information that defines a preset value as a control_ID::value data pair.
Definition: pluginstructures.h:372
uint32_t controlID
ID.
Definition: pluginstructures.h:391
double actualValue
value
Definition: pluginstructures.h:392
Structure for setting up block processing.
Definition: pluginstructures.h:1063
double BPM
beats per minute, aka "tempo"
Definition: pluginstructures.h:1100
uint32_t numAuxAudioInChannels
audio input channel count
Definition: pluginstructures.h:1073
uint32_t numAuxAudioOutChannels
audio input channel count
Definition: pluginstructures.h:1074
uint32_t blockSize
size of this block
Definition: pluginstructures.h:1077
float ** inputs
audio input buffers
Definition: pluginstructures.h:1066
float ** auxOutputs
aux outputs - for future use
Definition: pluginstructures.h:1069
float ** outputs
audio output buffers
Definition: pluginstructures.h:1067
uint32_t numAudioOutChannels
audio input channel count
Definition: pluginstructures.h:1072
float ** auxInputs
aux (sidechain) input buffers
Definition: pluginstructures.h:1068
uint32_t currentBlock
index of this block
Definition: pluginstructures.h:1076
double absoluteBufferTime_Sec
the time in seconds of the sample index at top of buffer
Definition: pluginstructures.h:1099
std::vector< midiEvent > midiEventList
queue
Definition: pluginstructures.h:1106
uint32_t numAudioInChannels
audio input channel count
Definition: pluginstructures.h:1071
uint32_t timeSigDenomintor
time signature denominator
Definition: pluginstructures.h:1102
uint32_t blockStartIndex
start
Definition: pluginstructures.h:1078
void pushMidiEvent(midiEvent event)
Definition: pluginstructures.h:1082
double timeSigNumerator
time signature numerator
Definition: pluginstructures.h:1101
uint32_t blockEndIndex
end
Definition: pluginstructures.h:1079
Information package that arrives with each new audio buffer process cycle. Contains everything needed...
Definition: pluginstructures.h:1123
float ** auxInputs
aux (sidechain) input buffers
Definition: pluginstructures.h:1143
uint32_t numAudioOutChannels
audio output channel count
Definition: pluginstructures.h:1146
ChannelIOConfig channelIOConfig
input/output channel I/O configuration pair
Definition: pluginstructures.h:1151
uint32_t numAuxAudioInChannels
aux input channel count
Definition: pluginstructures.h:1147
HostInfo * hostInfo
pointer to host data for this buffer
Definition: pluginstructures.h:1161
float * controlSignalInputs
control signals in (reserved for future use)
Definition: pluginstructures.h:1155
float ** auxOutputs
aux outputs - for future use
Definition: pluginstructures.h:1144
float ** inputs
audio input buffers
Definition: pluginstructures.h:1141
uint32_t numControlSignalInputs
num control signals in (reserved for future use)
Definition: pluginstructures.h:1157
float * controlSignalOutputs
control signals out (reserved for future use)
Definition: pluginstructures.h:1156
uint32_t numFramesToProcess
frame count in this buffer
Definition: pluginstructures.h:1150
ChannelIOConfig auxChannelIOConfig
aux input/output channel I/O configuration pair
Definition: pluginstructures.h:1152
uint32_t numAudioInChannels
audio input channel count
Definition: pluginstructures.h:1145
uint32_t numAuxAudioOutChannels
aux output channel count (not used)
Definition: pluginstructures.h:1148
uint32_t numControlSignalOutputs
num control signals out (reserved for future use)
Definition: pluginstructures.h:1158
IMidiEventQueue * midiEventQueue
MIDI event queue.
Definition: pluginstructures.h:1162
float ** outputs
audio output buffers
Definition: pluginstructures.h:1142
Information package that arrives with each new audio frame; called internally from the buffer process...
Definition: pluginstructures.h:1177
uint32_t numAudioOutChannels
audio input channel count
Definition: pluginstructures.h:1186
uint32_t numControlSignalInputs
num control signals in (reserved for future use)
Definition: pluginstructures.h:1197
IMidiEventQueue * midiEventQueue
MIDI event queue.
Definition: pluginstructures.h:1202
float * controlSignalInputs
control signals in (reserved for future use)
Definition: pluginstructures.h:1195
uint32_t numAuxAudioOutChannels
audio input channel count
Definition: pluginstructures.h:1188
ChannelIOConfig channelIOConfig
input/output channel I/O configuration pair
Definition: pluginstructures.h:1190
float * controlSignalOutputs
control signals out (reserved for future use)
Definition: pluginstructures.h:1196
ChannelIOConfig auxChannelIOConfig
aux input/output channel I/O configuration pair
Definition: pluginstructures.h:1191
uint32_t numControlSignalOutputs
num control signals out (reserved for future use)
Definition: pluginstructures.h:1198
float * auxAudioInputFrame
aux input frame (array)
Definition: pluginstructures.h:1182
uint32_t numAudioInChannels
audio input channel count
Definition: pluginstructures.h:1185
uint32_t numAuxAudioInChannels
audio input channel count
Definition: pluginstructures.h:1187
float * auxAudioOutputFrame
aux output frame (array) for future use
Definition: pluginstructures.h:1183
float * audioInputFrame
audio input frame (array)
Definition: pluginstructures.h:1180
uint32_t currentFrame
index of this frame
Definition: pluginstructures.h:1192
float * audioOutputFrame
audio output frame (array)
Definition: pluginstructures.h:1181
HostInfo * hostInfo
pointer to host data for this buffer
Definition: pluginstructures.h:1201
Sample rate and bit-depth information that is passed during the reset( ) function.
Definition: pluginstructures.h:181
uint32_t bitDepth
bit depth (not available in all APIs)
Definition: pluginstructures.h:192
double sampleRate
sample rate
Definition: pluginstructures.h:191
Incoming data from a vector joystick.
Definition: pluginstructures.h:277
Information about a MIDI event.
Definition: pluginstructures.h:562
double auxDoubleData2
aux data (double)
Definition: pluginstructures.h:651
int midiPitchBendValue
midi pitch bend value (14-bit)
Definition: pluginstructures.h:652
uint32_t auxUintData1
aux data (UINT)
Definition: pluginstructures.h:646
int32_t auxIntData1
aux data (INT)
Definition: pluginstructures.h:648
int32_t auxIntData2
aux data (INT)
Definition: pluginstructures.h:649
uint32_t midiData1
BYTE data 1 as UINT.
Definition: pluginstructures.h:643
float midiNormalizedPitchBendValue
normalized bitch bend value
Definition: pluginstructures.h:653
uint32_t midiMessage
BYTE message as UINT.
Definition: pluginstructures.h:641
double audioTimeStamp
time stamp (not all APIs)
Definition: pluginstructures.h:655
uint32_t auxUintData2
aux data (UINT)
Definition: pluginstructures.h:647
uint32_t midiChannel
BYTE channel as UINT.
Definition: pluginstructures.h:642
double auxDoubleData1
aux data (double)
Definition: pluginstructures.h:650
uint32_t midiSampleOffset
sample offset of midi event within audio buffer
Definition: pluginstructures.h:645
bool midiIsDirty
dirty flag
Definition: pluginstructures.h:654
uint32_t midiData2
BYTE data 2 as UINT.
Definition: pluginstructures.h:644
Attribute value smashed down into a union.
Definition: pluginstructures.h:901