From b01456d1a9862adcea29ccca9883d6c83ce57eaf Mon Sep 17 00:00:00 2001 From: =?utf8?q?IOhannes=20m=20zm=C3=B6lnig?= Date: Mon, 4 Mar 2019 18:18:30 +0100 Subject: [PATCH] added more missing VST opcodes Closes: #923529 --- .../format_types/juce_VSTInterface.h | 54 ++++++++++++++++++- debian/patches/debian_vst.patch | 10 ++++ 2 files changed, 62 insertions(+), 2 deletions(-) diff --git a/debian/extra/juce_audio_processors/format_types/juce_VSTInterface.h b/debian/extra/juce_audio_processors/format_types/juce_VSTInterface.h index 490dd5b5..f531e638 100644 --- a/debian/extra/juce_audio_processors/format_types/juce_VSTInterface.h +++ b/debian/extra/juce_audio_processors/format_types/juce_VSTInterface.h @@ -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 }; //============================================================================== diff --git a/debian/patches/debian_vst.patch b/debian/patches/debian_vst.patch index b84ebd10..2d451316 100644 --- a/debian/patches/debian_vst.patch +++ b/debian/patches/debian_vst.patch @@ -44,3 +44,13 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ } #include "juce_VSTCommon.h" +@@ -59,6 +57,9 @@ + + #include "juce_VSTMidiEventList.h" + ++#define resvd2 hostSpace2 ++#define nanoSeconds systemTimeNanoseconds ++ + #if JUCE_MINGW + #ifndef WM_APPCOMMAND + #define WM_APPCOMMAND 0x0319 -- 2.30.2