mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-20 01:14:20 +00:00
VST3: Added support for VST3 SDK 3.6.8
This commit is contained in:
parent
1ff97d3688
commit
7a22f133c4
3 changed files with 26 additions and 3 deletions
|
|
@ -2596,7 +2596,15 @@ struct JucePluginFactory : public IPluginFactory3
|
|||
{
|
||||
*obj = nullptr;
|
||||
|
||||
FUID sourceFuid = sourceIid;
|
||||
TUID tuid;
|
||||
memcpy (tuid, sourceIid, sizeof (TUID));
|
||||
|
||||
#if VST_VERSION >= 0x030608
|
||||
auto sourceFuid = FUID::fromTUID (tuid);
|
||||
#else
|
||||
FUID sourceFuid;
|
||||
sourceFuid = tuid;
|
||||
#endif
|
||||
|
||||
if (cid == nullptr || sourceIid == nullptr || ! sourceFuid.isValid())
|
||||
{
|
||||
|
|
|
|||
|
|
@ -61,6 +61,11 @@ static bool doUIDsMatch (const Steinberg::TUID a, const Steinberg::TUID b) noexc
|
|||
return Steinberg::kResultOk; \
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
#if VST_VERSION < 0x030608
|
||||
#define kAmbi1stOrderACN kBFormat
|
||||
#endif
|
||||
|
||||
//==============================================================================
|
||||
inline juce::String toString (const Steinberg::char8* string) noexcept { return juce::String (string); }
|
||||
inline juce::String toString (const Steinberg::char16* string) noexcept { return juce::String (juce::CharPointer_UTF16 ((juce::CharPointer_UTF16::CharType*) string)); }
|
||||
|
|
@ -265,7 +270,7 @@ static inline Steinberg::Vst::SpeakerArrangement getVst3SpeakerArrangement (cons
|
|||
else if (channels == AudioChannelSet::create7point0SDDS()) return k70Cine;
|
||||
else if (channels == AudioChannelSet::create7point1()) return k71CineSideFill;
|
||||
else if (channels == AudioChannelSet::create7point1SDDS()) return k71Cine;
|
||||
else if (channels == AudioChannelSet::ambisonic()) return kBFormat;
|
||||
else if (channels == AudioChannelSet::ambisonic()) return kAmbi1stOrderACN;
|
||||
else if (channels == AudioChannelSet::quadraphonic()) return k40Music;
|
||||
else if (channels == AudioChannelSet::create7point0point2()) return k71_2 & ~(Steinberg::Vst::kSpeakerLfe);
|
||||
else if (channels == AudioChannelSet::create7point1point2()) return k71_2;
|
||||
|
|
@ -300,7 +305,7 @@ static inline AudioChannelSet getChannelSetForSpeakerArrangement (Steinberg::Vst
|
|||
else if (arr == k70Cine) return AudioChannelSet::create7point0SDDS();
|
||||
else if (arr == k71CineSideFill) return AudioChannelSet::create7point1();
|
||||
else if (arr == k71Cine) return AudioChannelSet::create7point1SDDS();
|
||||
else if (arr == kBFormat) return AudioChannelSet::ambisonic();
|
||||
else if (arr == kAmbi1stOrderACN) return AudioChannelSet::ambisonic();
|
||||
else if (arr == k40Music) return AudioChannelSet::quadraphonic();
|
||||
else if (arr == k71_2) return AudioChannelSet::create7point1point2();
|
||||
else if (arr == (k71_2 & ~(Steinberg::Vst::kSpeakerLfe))) return AudioChannelSet::create7point0point2();
|
||||
|
|
|
|||
|
|
@ -89,13 +89,21 @@
|
|||
#include <public.sdk/source/common/memorystream.h>
|
||||
#include <public.sdk/source/vst/vsteditcontroller.h>
|
||||
#else
|
||||
// needed for VST_VSERION
|
||||
#include <pluginterfaces/vst/vsttypes.h>
|
||||
|
||||
#include <base/source/baseiids.cpp>
|
||||
#include <base/source/fbuffer.cpp>
|
||||
#include <base/source/fdebug.cpp>
|
||||
#include <base/source/fobject.cpp>
|
||||
#include <base/source/fstreamer.cpp>
|
||||
#include <base/source/fstring.cpp>
|
||||
#if VST_VERSION >= 0x030608
|
||||
#include <base/thread/source/flock.cpp>
|
||||
#include <pluginterfaces/base/coreiids.cpp>
|
||||
#else
|
||||
#include <base/source/flock.cpp>
|
||||
#endif
|
||||
#include <base/source/updatehandler.cpp>
|
||||
#include <pluginterfaces/base/conststringtable.cpp>
|
||||
#include <pluginterfaces/base/funknown.cpp>
|
||||
|
|
@ -122,7 +130,9 @@ namespace Steinberg
|
|||
DEF_CLASS_IID (IPluginBase)
|
||||
DEF_CLASS_IID (IPlugView)
|
||||
DEF_CLASS_IID (IPlugFrame)
|
||||
#if VST_VERSION < 0x030608
|
||||
DEF_CLASS_IID (IBStream)
|
||||
#endif
|
||||
DEF_CLASS_IID (IPluginFactory)
|
||||
DEF_CLASS_IID (IPluginFactory2)
|
||||
DEF_CLASS_IID (IPluginFactory3)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue