#pragma pack(push, 8)
#endif
+#define VSTCALLBACK VSTINTERFACECALL
+
const int32 juceVstInterfaceVersion = 2400;
#define kVstVersion 2400
const int32 juceVstInterfaceIdentifier = 0x56737450; // The "magic" identifier in the SDK is 'VstP'.
, effGetNumMidiInputChannels = pluginOpcodeGetNumMidiInputChannels
, effGetNumMidiOutputChannels = pluginOpcodeGetNumMidiOutputChannels
+ , effConnectInput = plugInOpcodeConnectInput
+ , effConnectOutput = plugInOpcodeConnectOutput
+ , effEditIdle = plugInOpcodeEditorIdle
+ , effIdle = plugInOpcodeIdle
+ , effShellGetNextPlugin = plugInOpcodeNextPlugInUniqueID
+ , effStartProcess = plugInOpcodeStartProcess
+ , effStopProcess = plugInOpcodeStopProcess
};
, audioMasterGetTime = hostOpcodeGetTimingInfo
, audioMasterSizeWindow = hostOpcodeWindowSize
, audioMasterVersion = hostOpcodeVstVersion
+
+ , audioMasterCloseWindow = hostOpcodeCloseEditorWindow
+ , audioMasterCurrentId = hostOpcodeCurrentId
+ , audioMasterGetAutomationState = hostOpcodeGetAutomationState
+ , audioMasterGetBlockSize = hostOpcodeGetBlockSize
+ , audioMasterGetDirectory = hostOpcodeGetDirectory
+ , audioMasterGetInputLatency = hostOpcodeGetInputLatency
+ , audioMasterGetLanguage = hostOpcodeGetLanguage
+ , audioMasterGetNextPlug = hostOpcodeGetNextPlugIn
+ , audioMasterGetNumAutomatableParameters = hostOpcodeGetNumberOfAutomatableParameters
+ , audioMasterGetOutputLatency = hostOpcodeGetOutputLatency
+ , audioMasterGetOutputSpeakerArrangement = hostOpcodeGetOutputSpeakerConfiguration
+ , audioMasterGetParameterQuantization = hostOpcodeGetParameterInterval
+ , audioMasterGetPreviousPlug = hostOpcodeGetPreviousPlugIn
+ , audioMasterGetProductString = hostOpcodeGetProductName
+ , audioMasterGetSampleRate = hostOpcodeGetSampleRate
+ , audioMasterGetVendorString = hostOpcodeGetManufacturerName
+ , audioMasterGetVendorVersion = hostOpcodeGetManufacturerVersion
+ , audioMasterIdle = hostOpcodeIdle
+ , audioMasterNeedIdle = hostOpcodeNeedsIdle
+ , audioMasterOfflineGetCurrentMetaPass = hostOpcodeOfflineGetCurrentMetaPass
+ , audioMasterOfflineGetCurrentPass = hostOpcodeOfflineGetCurrentPass
+ , audioMasterOfflineRead = hostOpcodeOfflineReadSource
+ , audioMasterOfflineStart = hostOpcodeOfflineStart
+ , audioMasterOfflineWrite = hostOpcodeOfflineWrite
+ , audioMasterOpenWindow = hostOpcodeOpenEditorWindow
+ , audioMasterPinConnected = hostOpcodePinConnected
+ , audioMasterSetIcon = hostOpcodeSetIcon
+ , audioMasterSetOutputSampleRate = hostOpcodeSetOutputSampleRate
+ , audioMasterSetTime = hostOpcodeSetTime
+ , audioMasterTempoAt = hostOpcodeTempoAt
+ , audioMasterWillReplaceOrAccumulate = hostOpcodeWillReplace
+
};
//==============================================================================
vstProcessingSampleTypeFloat,
vstProcessingSampleTypeDouble
+ , kVstProcessPrecision32 = vstProcessingSampleTypeFloat
, kVstProcessPrecision64 = vstProcessingSampleTypeDouble
};
//==============================================================================
// These names must be identical to the Steinberg SDK so JUCE users can set
// exactly what they want.
-enum VstPlugInCategory
+typedef enum VstPlugInCategory
{
kPlugCategUnknown,
kPlugCategEffect,
kPlugCategOfflineProcess,
kPlugCategShell,
kPlugCategGenerator
-};
+} VstPlugCategory;
//==============================================================================
/** Structure used for VSTs
, kVstMaxLabelLen = vstMaxParameterOrPinLabelLength
, kVstMaxShortLabelLen = vstMaxParameterOrPinShortLabelLength
+ , kVstMaxProductStrLen = vstMaxPlugInNameStringLength
+ , kVstMaxVendorStrLen = vstMaxManufacturerStringLength
};
//==============================================================================
, kVstTimeSigValid = vstTimingInfoFlagTimeSignatureValid
, kVstSmpteValid = vstTimingInfoFlagSmpteValid
, kVstClockValid = vstTimingInfoFlagNearestClockValid
+
+ , kVstAutomationReading = vstTimingInfoFlagAutomationReadModeActive
+ , kVstAutomationWriting = vstTimingInfoFlagAutomationWriteModeActive
+ , kVstNanosValid = vstTimingInfoFlagNanosecondsValid
+ , kVstTransportChanged = vstTimingInfoFlagTransportChanged
};
//==============================================================================