JUCE  v5.3.1-155-g0b973fd92
JUCE API
Looking for a senior C++ dev?
I'm looking for work. Hire me!
juce_VSTInterface.h File Reference

Classes

struct  vst2FxBank
 Structure used for VSTs. More...
 
struct  VstEditorBounds
 Structure used for VSTs. More...
 
struct  VstEffectInterface
 Structure used for VSTs. More...
 
struct  VstEvent
 Structure used for VSTs. More...
 
struct  VstEventBlock
 Structure used for VSTs. More...
 
struct  VstIndividualSpeakerInfo
 Structure used for VSTs. More...
 
struct  VstMidiEvent
 Structure used for VSTs. More...
 
struct  VstPinInfo
 Structure used for VSTs. More...
 
struct  VstSpeakerConfiguration
 Structure used for VSTs. More...
 
struct  VstSysExEvent
 Structure used for VSTs. More...
 
struct  VstTimingInformation
 Structure used for VSTs. More...
 

Macros

#define JUCE_MULTICHAR_CONSTANT(a, b, c, d)   (d | (((uint32) c) << 8) | (((uint32) b) << 16) | (((uint32) a) << 24))
 
#define JUCE_VSTINTERFACE_H_INCLUDED
 
#define VSTINTERFACECALL
 

Typedefs

typedef pointer_sized_int(VSTINTERFACECALLVstHostCallback) (VstEffectInterface *, int32 op, int32 index, pointer_sized_int value, void *ptr, float opt)
 

Enumerations

enum  PresonusExtensionConstants {
  presonusVendorID = JUCE_MULTICHAR_CONSTANT ('P', 'r', 'e', 'S'),
  presonusSetContentScaleFactor = JUCE_MULTICHAR_CONSTANT ('A', 'e', 'C', 's')
}
 
enum  VstEffectInterfaceFlags {
  vstEffectFlagHasEditor = 1,
  vstEffectFlagInplaceAudio = 16,
  vstEffectFlagDataInChunks = 32,
  vstEffectFlagIsSynth = 256,
  vstEffectFlagInplaceDoubleAudio = 4096
}
 
enum  VstEventTypes {
  vstMidiEventType = 1,
  vstSysExEventType = 6
}
 
enum  VstHostToPlugInOpcodes {
  plugInOpcodeOpen,
  plugInOpcodeClose,
  plugInOpcodeSetCurrentProgram,
  plugInOpcodeGetCurrentProgram,
  plugInOpcodeSetCurrentProgramName,
  plugInOpcodeGetCurrentProgramName,
  plugInOpcodeGetParameterLabel,
  plugInOpcodeGetParameterText,
  plugInOpcodeGetParameterName,
  plugInOpcodeSetSampleRate = plugInOpcodeGetParameterName + 2,
  plugInOpcodeSetBlockSize,
  plugInOpcodeResumeSuspend,
  plugInOpcodeGetEditorBounds,
  plugInOpcodeOpenEditor,
  plugInOpcodeCloseEditor,
  plugInOpcodeDrawEditor,
  plugInOpcodeGetMouse,
  plugInOpcodeEditorIdle = plugInOpcodeGetMouse + 2,
  plugInOpcodeeffEditorTop,
  plugInOpcodeSleepEditor,
  plugInOpcodeIdentify,
  plugInOpcodeGetData,
  plugInOpcodeSetData,
  plugInOpcodePreAudioProcessingEvents,
  plugInOpcodeIsParameterAutomatable,
  plugInOpcodeParameterValueForText,
  plugInOpcodeGetProgramName = plugInOpcodeParameterValueForText + 2,
  plugInOpcodeConnectInput = plugInOpcodeGetProgramName + 2,
  plugInOpcodeConnectOutput,
  plugInOpcodeGetInputPinProperties,
  plugInOpcodeGetOutputPinProperties,
  plugInOpcodeGetPlugInCategory,
  plugInOpcodeSetSpeakerConfiguration = plugInOpcodeGetPlugInCategory + 7,
  plugInOpcodeSetBypass = plugInOpcodeSetSpeakerConfiguration + 2,
  plugInOpcodeGetPlugInName,
  plugInOpcodeGetManufacturerName = plugInOpcodeGetPlugInName + 2,
  plugInOpcodeGetManufacturerProductName,
  plugInOpcodeGetManufacturerVersion,
  plugInOpcodeManufacturerSpecific,
  plugInOpcodeCanPlugInDo,
  plugInOpcodeGetTailSize,
  plugInOpcodeIdle,
  plugInOpcodeKeyboardFocusRequired = plugInOpcodeIdle + 4,
  plugInOpcodeGetVstInterfaceVersion,
  plugInOpcodeGetCurrentMidiProgram = plugInOpcodeGetVstInterfaceVersion + 5,
  plugInOpcodeGetSpeakerArrangement = plugInOpcodeGetCurrentMidiProgram + 6,
  plugInOpcodeNextPlugInUniqueID,
  plugInOpcodeStartProcess,
  plugInOpcodeStopProcess,
  plugInOpcodeSetNumberOfSamplesToProcess,
  plugInOpcodeSetSampleFloatType = plugInOpcodeSetNumberOfSamplesToProcess + 4,
  pluginOpcodeGetNumMidiInputChannels,
  pluginOpcodeGetNumMidiOutputChannels,
  plugInOpcodeMaximum = pluginOpcodeGetNumMidiOutputChannels
}
 
enum  VstIndividualSpeakerType {
  vstIndividualSpeakerTypeUndefined = 0x7fffffff,
  vstIndividualSpeakerTypeMono = 0,
  vstIndividualSpeakerTypeLeft,
  vstIndividualSpeakerTypeRight,
  vstIndividualSpeakerTypeCentre,
  vstIndividualSpeakerTypeLFE,
  vstIndividualSpeakerTypeLeftSurround,
  vstIndividualSpeakerTypeRightSurround,
  vstIndividualSpeakerTypeLeftCentre,
  vstIndividualSpeakerTypeRightCentre,
  vstIndividualSpeakerTypeSurround,
  vstIndividualSpeakerTypeCentreSurround = vstIndividualSpeakerTypeSurround,
  vstIndividualSpeakerTypeLeftRearSurround,
  vstIndividualSpeakerTypeRightRearSurround,
  vstIndividualSpeakerTypeTopMiddle,
  vstIndividualSpeakerTypeTopFrontLeft,
  vstIndividualSpeakerTypeTopFrontCentre,
  vstIndividualSpeakerTypeTopFrontRight,
  vstIndividualSpeakerTypeTopRearLeft,
  vstIndividualSpeakerTypeTopRearCentre,
  vstIndividualSpeakerTypeTopRearRight,
  vstIndividualSpeakerTypeLFE2
}
 
enum  VstMaxStringLengths {
  vstMaxNameLength = 64,
  vstMaxParameterOrPinLabelLength = 64,
  vstMaxParameterOrPinShortLabelLength = 8,
  vstMaxCategoryLength = 24,
  vstMaxManufacturerStringLength = 64,
  vstMaxPlugInNameStringLength = 64
}
 
enum  VstMidiEventFlags { vstMidiEventIsRealtime = 1 }
 
enum  VstPinInfoFlags {
  vstPinInfoFlagIsActive = 1,
  vstPinInfoFlagIsStereo = 2,
  vstPinInfoFlagValid = 4
}
 
enum  VstPlugInCategory {
  kPlugCategUnknown,
  kPlugCategEffect,
  kPlugCategSynth,
  kPlugCategAnalysis,
  kPlugCategMastering,
  kPlugCategSpacializer,
  kPlugCategRoomFx,
  kPlugSurroundFx,
  kPlugCategRestoration,
  kPlugCategOfflineProcess,
  kPlugCategShell,
  kPlugCategGenerator
}
 
enum  VstPlugInToHostOpcodes {
  hostOpcodeParameterChanged,
  hostOpcodeVstVersion,
  hostOpcodeCurrentId,
  hostOpcodeIdle,
  hostOpcodePinConnected,
  hostOpcodePlugInWantsMidi = hostOpcodePinConnected + 2,
  hostOpcodeGetTimingInfo,
  hostOpcodePreAudioProcessingEvents,
  hostOpcodeSetTime,
  hostOpcodeTempoAt,
  hostOpcodeGetNumberOfAutomatableParameters,
  hostOpcodeGetParameterInterval,
  hostOpcodeIOModified,
  hostOpcodeNeedsIdle,
  hostOpcodeWindowSize,
  hostOpcodeGetSampleRate,
  hostOpcodeGetBlockSize,
  hostOpcodeGetInputLatency,
  hostOpcodeGetOutputLatency,
  hostOpcodeGetPreviousPlugIn,
  hostOpcodeGetNextPlugIn,
  hostOpcodeWillReplace,
  hostOpcodeGetCurrentAudioProcessingLevel,
  hostOpcodeGetAutomationState,
  hostOpcodeOfflineStart,
  hostOpcodeOfflineReadSource,
  hostOpcodeOfflineWrite,
  hostOpcodeOfflineGetCurrentPass,
  hostOpcodeOfflineGetCurrentMetaPass,
  hostOpcodeSetOutputSampleRate,
  hostOpcodeGetOutputSpeakerConfiguration,
  hostOpcodeGetManufacturerName,
  hostOpcodeGetProductName,
  hostOpcodeGetManufacturerVersion,
  hostOpcodeManufacturerSpecific,
  hostOpcodeSetIcon,
  hostOpcodeCanHostDo,
  hostOpcodeGetLanguage,
  hostOpcodeOpenEditorWindow,
  hostOpcodeCloseEditorWindow,
  hostOpcodeGetDirectory,
  hostOpcodeUpdateView,
  hostOpcodeParameterChangeGestureBegin,
  hostOpcodeParameterChangeGestureEnd
}
 
enum  VstProcessingSampleType {
  vstProcessingSampleTypeFloat,
  vstProcessingSampleTypeDouble
}
 
enum  VstSmpteRates {
  vstSmpteRateFps24,
  vstSmpteRateFps25,
  vstSmpteRateFps2997,
  vstSmpteRateFps30,
  vstSmpteRateFps2997drop,
  vstSmpteRateFps30drop,
  vstSmpteRate16mmFilm,
  vstSmpteRate35mmFilm,
  vstSmpteRateFps239 = vstSmpteRate35mmFilm + 3,
  vstSmpteRateFps249,
  vstSmpteRateFps599,
  vstSmpteRateFps60
}
 
enum  VstSpeakerConfigurationType {
  vstSpeakerConfigTypeUser = -2,
  vstSpeakerConfigTypeEmpty = -1,
  vstSpeakerConfigTypeMono = 0,
  vstSpeakerConfigTypeLR,
  vstSpeakerConfigTypeLsRs,
  vstSpeakerConfigTypeLcRc,
  vstSpeakerConfigTypeSlSr,
  vstSpeakerConfigTypeCLfe,
  vstSpeakerConfigTypeLRC,
  vstSpeakerConfigTypeLRS,
  vstSpeakerConfigTypeLRCLfe,
  vstSpeakerConfigTypeLRLfeS,
  vstSpeakerConfigTypeLRCS,
  vstSpeakerConfigTypeLRLsRs,
  vstSpeakerConfigTypeLRCLfeS,
  vstSpeakerConfigTypeLRLfeLsRs,
  vstSpeakerConfigTypeLRCLsRs,
  vstSpeakerConfigTypeLRCLfeLsRs,
  vstSpeakerConfigTypeLRCLsRsCs,
  vstSpeakerConfigTypeLRLsRsSlSr,
  vstSpeakerConfigTypeLRCLfeLsRsCs,
  vstSpeakerConfigTypeLRLfeLsRsSlSr,
  vstSpeakerConfigTypeLRCLsRsLcRc,
  vstSpeakerConfigTypeLRCLsRsSlSr,
  vstSpeakerConfigTypeLRCLfeLsRsLcRc,
  vstSpeakerConfigTypeLRCLfeLsRsSlSr,
  vstSpeakerConfigTypeLRCLsRsLcRcCs,
  vstSpeakerConfigTypeLRCLsRsCsSlSr,
  vstSpeakerConfigTypeLRCLfeLsRsLcRcCs,
  vstSpeakerConfigTypeLRCLfeLsRsCsSlSr,
  vstSpeakerConfigTypeLRCLfeLsRsTflTfcTfrTrlTrrLfe2
}
 
enum  VstTimingInformationFlags {
  vstTimingInfoFlagTransportChanged = 1,
  vstTimingInfoFlagCurrentlyPlaying = 2,
  vstTimingInfoFlagLoopActive = 4,
  vstTimingInfoFlagCurrentlyRecording = 8,
  vstTimingInfoFlagAutomationWriteModeActive = 64,
  vstTimingInfoFlagAutomationReadModeActive = 128,
  vstTimingInfoFlagNanosecondsValid = 256,
  vstTimingInfoFlagMusicalPositionValid = 512,
  vstTimingInfoFlagTempoValid = 1024,
  vstTimingInfoFlagLastBarPositionValid = 2048,
  vstTimingInfoFlagLoopPositionValid = 4096,
  vstTimingInfoFlagTimeSignatureValid = 8192,
  vstTimingInfoFlagSmpteValid = 16384,
  vstTimingInfoFlagNearestClockValid = 32768
}
 

Variables

const int32 juceVstInterfaceIdentifier = 0x56737450
 
const int32 juceVstInterfaceVersion = 2400
 

Macro Definition Documentation

◆ JUCE_MULTICHAR_CONSTANT

#define JUCE_MULTICHAR_CONSTANT (   a,
  b,
  c,
 
)    (d | (((uint32) c) << 8) | (((uint32) b) << 16) | (((uint32) a) << 24))

◆ JUCE_VSTINTERFACE_H_INCLUDED

#define JUCE_VSTINTERFACE_H_INCLUDED

◆ VSTINTERFACECALL

#define VSTINTERFACECALL

Typedef Documentation

◆ VstHostCallback

typedef pointer_sized_int(VSTINTERFACECALL* VstHostCallback) (VstEffectInterface *, int32 op, int32 index, pointer_sized_int value, void *ptr, float opt)

Enumeration Type Documentation

◆ PresonusExtensionConstants

Enumerator
presonusVendorID 
presonusSetContentScaleFactor 

◆ VstEffectInterfaceFlags

Enumerator
vstEffectFlagHasEditor 
vstEffectFlagInplaceAudio 
vstEffectFlagDataInChunks 
vstEffectFlagIsSynth 
vstEffectFlagInplaceDoubleAudio 

◆ VstEventTypes

Enumerator
vstMidiEventType 
vstSysExEventType 

◆ VstHostToPlugInOpcodes

Enumerator
plugInOpcodeOpen 
plugInOpcodeClose 
plugInOpcodeSetCurrentProgram 
plugInOpcodeGetCurrentProgram 
plugInOpcodeSetCurrentProgramName 
plugInOpcodeGetCurrentProgramName 
plugInOpcodeGetParameterLabel 
plugInOpcodeGetParameterText 
plugInOpcodeGetParameterName 
plugInOpcodeSetSampleRate 
plugInOpcodeSetBlockSize 
plugInOpcodeResumeSuspend 
plugInOpcodeGetEditorBounds 
plugInOpcodeOpenEditor 
plugInOpcodeCloseEditor 
plugInOpcodeDrawEditor 
plugInOpcodeGetMouse 
plugInOpcodeEditorIdle 
plugInOpcodeeffEditorTop 
plugInOpcodeSleepEditor 
plugInOpcodeIdentify 
plugInOpcodeGetData 
plugInOpcodeSetData 
plugInOpcodePreAudioProcessingEvents 
plugInOpcodeIsParameterAutomatable 
plugInOpcodeParameterValueForText 
plugInOpcodeGetProgramName 
plugInOpcodeConnectInput 
plugInOpcodeConnectOutput 
plugInOpcodeGetInputPinProperties 
plugInOpcodeGetOutputPinProperties 
plugInOpcodeGetPlugInCategory 
plugInOpcodeSetSpeakerConfiguration 
plugInOpcodeSetBypass 
plugInOpcodeGetPlugInName 
plugInOpcodeGetManufacturerName 
plugInOpcodeGetManufacturerProductName 
plugInOpcodeGetManufacturerVersion 
plugInOpcodeManufacturerSpecific 
plugInOpcodeCanPlugInDo 
plugInOpcodeGetTailSize 
plugInOpcodeIdle 
plugInOpcodeKeyboardFocusRequired 
plugInOpcodeGetVstInterfaceVersion 
plugInOpcodeGetCurrentMidiProgram 
plugInOpcodeGetSpeakerArrangement 
plugInOpcodeNextPlugInUniqueID 
plugInOpcodeStartProcess 
plugInOpcodeStopProcess 
plugInOpcodeSetNumberOfSamplesToProcess 
plugInOpcodeSetSampleFloatType 
pluginOpcodeGetNumMidiInputChannels 
pluginOpcodeGetNumMidiOutputChannels 
plugInOpcodeMaximum 

◆ VstIndividualSpeakerType

Enumerator
vstIndividualSpeakerTypeUndefined 
vstIndividualSpeakerTypeMono 
vstIndividualSpeakerTypeLeft 
vstIndividualSpeakerTypeRight 
vstIndividualSpeakerTypeCentre 
vstIndividualSpeakerTypeLFE 
vstIndividualSpeakerTypeLeftSurround 
vstIndividualSpeakerTypeRightSurround 
vstIndividualSpeakerTypeLeftCentre 
vstIndividualSpeakerTypeRightCentre 
vstIndividualSpeakerTypeSurround 
vstIndividualSpeakerTypeCentreSurround 
vstIndividualSpeakerTypeLeftRearSurround 
vstIndividualSpeakerTypeRightRearSurround 
vstIndividualSpeakerTypeTopMiddle 
vstIndividualSpeakerTypeTopFrontLeft 
vstIndividualSpeakerTypeTopFrontCentre 
vstIndividualSpeakerTypeTopFrontRight 
vstIndividualSpeakerTypeTopRearLeft 
vstIndividualSpeakerTypeTopRearCentre 
vstIndividualSpeakerTypeTopRearRight 
vstIndividualSpeakerTypeLFE2 

◆ VstMaxStringLengths

Enumerator
vstMaxNameLength 
vstMaxParameterOrPinLabelLength 
vstMaxParameterOrPinShortLabelLength 
vstMaxCategoryLength 
vstMaxManufacturerStringLength 
vstMaxPlugInNameStringLength 

◆ VstMidiEventFlags

Enumerator
vstMidiEventIsRealtime 

◆ VstPinInfoFlags

Enumerator
vstPinInfoFlagIsActive 
vstPinInfoFlagIsStereo 
vstPinInfoFlagValid 

◆ VstPlugInCategory

Enumerator
kPlugCategUnknown 
kPlugCategEffect 
kPlugCategSynth 
kPlugCategAnalysis 
kPlugCategMastering 
kPlugCategSpacializer 
kPlugCategRoomFx 
kPlugSurroundFx 
kPlugCategRestoration 
kPlugCategOfflineProcess 
kPlugCategShell 
kPlugCategGenerator 

◆ VstPlugInToHostOpcodes

Enumerator
hostOpcodeParameterChanged 
hostOpcodeVstVersion 
hostOpcodeCurrentId 
hostOpcodeIdle 
hostOpcodePinConnected 
hostOpcodePlugInWantsMidi 
hostOpcodeGetTimingInfo 
hostOpcodePreAudioProcessingEvents 
hostOpcodeSetTime 
hostOpcodeTempoAt 
hostOpcodeGetNumberOfAutomatableParameters 
hostOpcodeGetParameterInterval 
hostOpcodeIOModified 
hostOpcodeNeedsIdle 
hostOpcodeWindowSize 
hostOpcodeGetSampleRate 
hostOpcodeGetBlockSize 
hostOpcodeGetInputLatency 
hostOpcodeGetOutputLatency 
hostOpcodeGetPreviousPlugIn 
hostOpcodeGetNextPlugIn 
hostOpcodeWillReplace 
hostOpcodeGetCurrentAudioProcessingLevel 
hostOpcodeGetAutomationState 
hostOpcodeOfflineStart 
hostOpcodeOfflineReadSource 
hostOpcodeOfflineWrite 
hostOpcodeOfflineGetCurrentPass 
hostOpcodeOfflineGetCurrentMetaPass 
hostOpcodeSetOutputSampleRate 
hostOpcodeGetOutputSpeakerConfiguration 
hostOpcodeGetManufacturerName 
hostOpcodeGetProductName 
hostOpcodeGetManufacturerVersion 
hostOpcodeManufacturerSpecific 
hostOpcodeSetIcon 
hostOpcodeCanHostDo 
hostOpcodeGetLanguage 
hostOpcodeOpenEditorWindow 
hostOpcodeCloseEditorWindow 
hostOpcodeGetDirectory 
hostOpcodeUpdateView 
hostOpcodeParameterChangeGestureBegin 
hostOpcodeParameterChangeGestureEnd 

◆ VstProcessingSampleType

Enumerator
vstProcessingSampleTypeFloat 
vstProcessingSampleTypeDouble 

◆ VstSmpteRates

Enumerator
vstSmpteRateFps24 
vstSmpteRateFps25 
vstSmpteRateFps2997 
vstSmpteRateFps30 
vstSmpteRateFps2997drop 
vstSmpteRateFps30drop 
vstSmpteRate16mmFilm 
vstSmpteRate35mmFilm 
vstSmpteRateFps239 
vstSmpteRateFps249 
vstSmpteRateFps599 
vstSmpteRateFps60 

◆ VstSpeakerConfigurationType

Enumerator
vstSpeakerConfigTypeUser 
vstSpeakerConfigTypeEmpty 
vstSpeakerConfigTypeMono 
vstSpeakerConfigTypeLR 
vstSpeakerConfigTypeLsRs 
vstSpeakerConfigTypeLcRc 
vstSpeakerConfigTypeSlSr 
vstSpeakerConfigTypeCLfe 
vstSpeakerConfigTypeLRC 
vstSpeakerConfigTypeLRS 
vstSpeakerConfigTypeLRCLfe 
vstSpeakerConfigTypeLRLfeS 
vstSpeakerConfigTypeLRCS 
vstSpeakerConfigTypeLRLsRs 
vstSpeakerConfigTypeLRCLfeS 
vstSpeakerConfigTypeLRLfeLsRs 
vstSpeakerConfigTypeLRCLsRs 
vstSpeakerConfigTypeLRCLfeLsRs 
vstSpeakerConfigTypeLRCLsRsCs 
vstSpeakerConfigTypeLRLsRsSlSr 
vstSpeakerConfigTypeLRCLfeLsRsCs 
vstSpeakerConfigTypeLRLfeLsRsSlSr 
vstSpeakerConfigTypeLRCLsRsLcRc 
vstSpeakerConfigTypeLRCLsRsSlSr 
vstSpeakerConfigTypeLRCLfeLsRsLcRc 
vstSpeakerConfigTypeLRCLfeLsRsSlSr 
vstSpeakerConfigTypeLRCLsRsLcRcCs 
vstSpeakerConfigTypeLRCLsRsCsSlSr 
vstSpeakerConfigTypeLRCLfeLsRsLcRcCs 
vstSpeakerConfigTypeLRCLfeLsRsCsSlSr 
vstSpeakerConfigTypeLRCLfeLsRsTflTfcTfrTrlTrrLfe2 

◆ VstTimingInformationFlags

Enumerator
vstTimingInfoFlagTransportChanged 
vstTimingInfoFlagCurrentlyPlaying 
vstTimingInfoFlagLoopActive 
vstTimingInfoFlagCurrentlyRecording 
vstTimingInfoFlagAutomationWriteModeActive 
vstTimingInfoFlagAutomationReadModeActive 
vstTimingInfoFlagNanosecondsValid 
vstTimingInfoFlagMusicalPositionValid 
vstTimingInfoFlagTempoValid 
vstTimingInfoFlagLastBarPositionValid 
vstTimingInfoFlagLoopPositionValid 
vstTimingInfoFlagTimeSignatureValid 
vstTimingInfoFlagSmpteValid 
vstTimingInfoFlagNearestClockValid 

Variable Documentation

◆ juceVstInterfaceIdentifier

const int32 juceVstInterfaceIdentifier = 0x56737450

◆ juceVstInterfaceVersion

const int32 juceVstInterfaceVersion = 2400