added more missing VST opcodes
authorIOhannes m zmölnig <zmoelnig@umlautS.umlaeute.mur.at>
Mon, 4 Mar 2019 17:18:30 +0000 (18:18 +0100)
committerIOhannes m zmölnig <zmoelnig@umlautS.umlaeute.mur.at>
Wed, 6 Mar 2019 18:14:04 +0000 (19:14 +0100)
Closes: #923529
debian/extra/juce_audio_processors/format_types/juce_VSTInterface.h
debian/patches/debian_vst.patch

index 490dd5b57bbf1784e8edbd146f3d78b398d6bbd2..f531e6382f98239f4c3cf9736880b6ab71886aac 100644 (file)
@@ -54,6 +54,8 @@ using namespace juce;
  #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'.
@@ -246,6 +248,13 @@ enum VstHostToPlugInOpcodes
     , effGetNumMidiInputChannels = pluginOpcodeGetNumMidiInputChannels
     , effGetNumMidiOutputChannels = pluginOpcodeGetNumMidiOutputChannels
 
+    , effConnectInput = plugInOpcodeConnectInput
+    , effConnectOutput = plugInOpcodeConnectOutput
+    , effEditIdle = plugInOpcodeEditorIdle
+    , effIdle = plugInOpcodeIdle
+    , effShellGetNextPlugin = plugInOpcodeNextPlugInUniqueID
+    , effStartProcess = plugInOpcodeStartProcess
+    , effStopProcess = plugInOpcodeStopProcess
 };
 
 
@@ -309,6 +318,39 @@ enum VstPlugInToHostOpcodes
     , 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
+
 };
 
 //==============================================================================
@@ -317,13 +359,14 @@ enum VstProcessingSampleType
     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,
@@ -337,7 +380,7 @@ enum VstPlugInCategory
     kPlugCategOfflineProcess,
     kPlugCategShell,
     kPlugCategGenerator
-};
+} VstPlugCategory;
 
 //==============================================================================
 /** Structure used for VSTs
@@ -370,6 +413,8 @@ enum VstMaxStringLengths
 
     , kVstMaxLabelLen = vstMaxParameterOrPinLabelLength
     , kVstMaxShortLabelLen = vstMaxParameterOrPinShortLabelLength
+    , kVstMaxProductStrLen = vstMaxPlugInNameStringLength
+    , kVstMaxVendorStrLen = vstMaxManufacturerStringLength
 };
 
 //==============================================================================
@@ -546,6 +591,11 @@ enum VstTimingInformationFlags
     , kVstTimeSigValid = vstTimingInfoFlagTimeSignatureValid
     , kVstSmpteValid = vstTimingInfoFlagSmpteValid
     , kVstClockValid = vstTimingInfoFlagNearestClockValid
+
+    , kVstAutomationReading = vstTimingInfoFlagAutomationReadModeActive
+    , kVstAutomationWriting = vstTimingInfoFlagAutomationWriteModeActive
+    , kVstNanosValid = vstTimingInfoFlagNanosecondsValid
+    , kVstTransportChanged = vstTimingInfoFlagTransportChanged
 };
 
 //==============================================================================
index b84ebd1098c1376a50067e511ffe762281525259..2d451316b62a67d73fe28191fd7447c36fe1b01b 100644 (file)
@@ -44,3 +44,13 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
  }\r
  \r
  #include "juce_VSTCommon.h"\r
+@@ -59,6 +57,9 @@
\r
+ #include "juce_VSTMidiEventList.h"\r
\r
++#define resvd2 hostSpace2\r
++#define nanoSeconds systemTimeNanoseconds\r
++\r
+ #if JUCE_MINGW\r
+  #ifndef WM_APPCOMMAND\r
+   #define WM_APPCOMMAND 0x0319\r