From cb2cff8ce17c19f191d00c769d176f1c35ee79e0 Mon Sep 17 00:00:00 2001 From: falkTX Date: Fri, 8 Mar 2013 16:38:01 +0000 Subject: [PATCH] Add VST3 related dummy code --- source/backend/CarlaBackend.hpp | 9 +++++---- source/backend/CarlaPlugin.hpp | 1 + source/backend/engine/CarlaEngine.cpp | 4 ++++ source/backend/plugin/CarlaPlugin.cpp | 9 ++++++--- source/backend/plugin/Makefile | 1 + source/bridges/CarlaBridgePlugin.cpp | 2 ++ source/bridges/Makefile | 1 + source/bridges/qtcreator/carla-bridge-plugin.pro | 3 ++- source/carla_shared.py | 7 ++++--- source/utils/CarlaBackendUtils.hpp | 4 ++++ source/utils/CarlaStateUtils.hpp | 4 ++++ 11 files changed, 34 insertions(+), 11 deletions(-) diff --git a/source/backend/CarlaBackend.hpp b/source/backend/CarlaBackend.hpp index a88240649..58036058b 100644 --- a/source/backend/CarlaBackend.hpp +++ b/source/backend/CarlaBackend.hpp @@ -162,10 +162,11 @@ enum PluginType { PLUGIN_LADSPA = 2, //!< LADSPA plugin.\see LadspaPlugin PLUGIN_DSSI = 3, //!< DSSI plugin.\see DssiPlugin PLUGIN_LV2 = 4, //!< LV2 plugin.\see Lv2Plugin - PLUGIN_VST = 5, //!< VST plugin.\see VstPlugin - PLUGIN_GIG = 6, //!< GIG sound kit, implemented via LinuxSampler.\see LinuxSamplerPlugin - PLUGIN_SF2 = 7, //!< SF2 sound kit (aka SoundFont), implemented via FluidSynth.\see FluidSynthPlugin - PLUGIN_SFZ = 8 //!< SFZ sound kit, implemented via LinuxSampler.\see LinuxSamplerPlugin + PLUGIN_VST = 5, //!< VST1/2 plugin.\see VstPlugin + PLUGIN_VST3 = 6, //!< VST3 plugin.\see VstPlugin + PLUGIN_GIG = 7, //!< GIG sound kit, implemented via LinuxSampler.\see LinuxSamplerPlugin + PLUGIN_SF2 = 8, //!< SF2 sound kit (aka SoundFont), implemented via FluidSynth.\see FluidSynthPlugin + PLUGIN_SFZ = 9 //!< SFZ sound kit, implemented via LinuxSampler.\see LinuxSamplerPlugin }; /*! diff --git a/source/backend/CarlaPlugin.hpp b/source/backend/CarlaPlugin.hpp index 380843e14..ad0d5b075 100644 --- a/source/backend/CarlaPlugin.hpp +++ b/source/backend/CarlaPlugin.hpp @@ -838,6 +838,7 @@ public: static CarlaPlugin* newDSSI(const Initializer& init, const char* const guiFilename); static CarlaPlugin* newLV2(const Initializer& init); static CarlaPlugin* newVST(const Initializer& init); + static CarlaPlugin* newVST3(const Initializer& init); static CarlaPlugin* newGIG(const Initializer& init, const bool use16Outs); static CarlaPlugin* newSF2(const Initializer& init, const bool use16Outs); static CarlaPlugin* newSFZ(const Initializer& init, const bool use16Outs); diff --git a/source/backend/engine/CarlaEngine.cpp b/source/backend/engine/CarlaEngine.cpp index deb65457e..665114810 100644 --- a/source/backend/engine/CarlaEngine.cpp +++ b/source/backend/engine/CarlaEngine.cpp @@ -762,6 +762,10 @@ bool CarlaEngine::addPlugin(const BinaryType btype, const PluginType ptype, cons plugin = CarlaPlugin::newVST(init); break; + case PLUGIN_VST3: + plugin = CarlaPlugin::newVST3(init); + break; + case PLUGIN_GIG: plugin = CarlaPlugin::newGIG(init, (extra != nullptr)); break; diff --git a/source/backend/plugin/CarlaPlugin.cpp b/source/backend/plugin/CarlaPlugin.cpp index d7e2bff71..183a8eb14 100644 --- a/source/backend/plugin/CarlaPlugin.cpp +++ b/source/backend/plugin/CarlaPlugin.cpp @@ -425,6 +425,9 @@ const SaveState& CarlaPlugin::getSaveState() switch (type()) { + case PLUGIN_NONE: + saveState.type = carla_strdup("None"); + break; case PLUGIN_INTERNAL: saveState.type = carla_strdup("Internal"); break; @@ -440,6 +443,9 @@ const SaveState& CarlaPlugin::getSaveState() case PLUGIN_VST: saveState.type = carla_strdup("VST"); break; + case PLUGIN_VST3: + saveState.type = carla_strdup("VST3"); + break; case PLUGIN_GIG: saveState.type = carla_strdup("GIG"); break; @@ -449,9 +455,6 @@ const SaveState& CarlaPlugin::getSaveState() case PLUGIN_SFZ: saveState.type = carla_strdup("SFZ"); break; - default: - saveState.type = carla_strdup("Unknown"); - break; } getLabel(strBuf); diff --git a/source/backend/plugin/Makefile b/source/backend/plugin/Makefile index 6b66652ea..78d3a7917 100644 --- a/source/backend/plugin/Makefile +++ b/source/backend/plugin/Makefile @@ -37,6 +37,7 @@ OBJS = \ DssiPlugin.cpp.o \ Lv2Plugin.cpp.o \ VstPlugin.cpp.o \ + Vst3Plugin.cpp.o \ FluidSynthPlugin.cpp.o \ LinuxSamplerPlugin.cpp.o diff --git a/source/bridges/CarlaBridgePlugin.cpp b/source/bridges/CarlaBridgePlugin.cpp index 27d5cd015..02bdc726b 100644 --- a/source/bridges/CarlaBridgePlugin.cpp +++ b/source/bridges/CarlaBridgePlugin.cpp @@ -494,6 +494,8 @@ int main(int argc, char* argv[]) itype = CarlaBackend::PLUGIN_LV2; else if (std::strcmp(stype, "VST") == 0) itype = CarlaBackend::PLUGIN_VST; + else if (std::strcmp(stype, "VST3") == 0) + itype = CarlaBackend::PLUGIN_VST3; else { carla_stderr("Invalid plugin type '%s'", stype); diff --git a/source/bridges/Makefile b/source/bridges/Makefile index 04eab8a7d..087a4d3fb 100644 --- a/source/bridges/Makefile +++ b/source/bridges/Makefile @@ -261,6 +261,7 @@ OBJS_NATIVE += \ ../backend/plugin/DssiPlugin__native.o \ ../backend/plugin/Lv2Plugin__native.o \ ../backend/plugin/VstPlugin__native.o \ + ../backend/plugin/Vst3Plugin__native.o \ ../backend/plugin/FluidSynthPlugin__native.o \ ../backend/plugin/LinuxSamplerPlugin__native.o diff --git a/source/bridges/qtcreator/carla-bridge-plugin.pro b/source/bridges/qtcreator/carla-bridge-plugin.pro index 736837bcb..45098f189 100644 --- a/source/bridges/qtcreator/carla-bridge-plugin.pro +++ b/source/bridges/qtcreator/carla-bridge-plugin.pro @@ -42,6 +42,7 @@ SOURCES += \ ../../backend/plugin/DssiPlugin.cpp \ ../../backend/plugin/Lv2Plugin.cpp \ ../../backend/plugin/VstPlugin.cpp \ + ../../backend/plugin/Vst3Plugin.cpp \ ../../backend/plugin/FluidSynthPlugin.cpp \ ../../backend/plugin/LinuxSamplerPlugin.cpp @@ -113,7 +114,7 @@ DEFINES += DEBUG DEFINES += BUILD_BRIDGE BUILD_BRIDGE_PLUGIN BRIDGE_PLUGIN DEFINES += WANT_JACK -DEFINES += WANT_NATIVE WANT_LADSPA WANT_DSSI WANT_LV2 WANT_VST +DEFINES += WANT_NATIVE WANT_LADSPA WANT_DSSI WANT_LV2 WANT_VST WANT_VST3 DEFINES += WANT_FLUIDSYNTH WANT_LINUXSAMPLER LIBS = -ldl \ diff --git a/source/carla_shared.py b/source/carla_shared.py index 0d123aeaa..68bce8f14 100644 --- a/source/carla_shared.py +++ b/source/carla_shared.py @@ -215,9 +215,10 @@ PLUGIN_LADSPA = 2 PLUGIN_DSSI = 3 PLUGIN_LV2 = 4 PLUGIN_VST = 5 -PLUGIN_GIG = 6 -PLUGIN_SF2 = 7 -PLUGIN_SFZ = 8 +PLUGIN_VST3 = 6 +PLUGIN_GIG = 7 +PLUGIN_SF2 = 8 +PLUGIN_SFZ = 9 # Plugin Category PLUGIN_CATEGORY_NONE = 0 diff --git a/source/utils/CarlaBackendUtils.hpp b/source/utils/CarlaBackendUtils.hpp index bd8d75601..0db2b1268 100644 --- a/source/utils/CarlaBackendUtils.hpp +++ b/source/utils/CarlaBackendUtils.hpp @@ -96,6 +96,8 @@ const char* PluginType2Str(const PluginType& type) return "PLUGIN_LV2"; case PLUGIN_VST: return "PLUGIN_VST"; + case PLUGIN_VST3: + return "PLUGIN_VST3"; case PLUGIN_GIG: return "PLUGIN_GIG"; case PLUGIN_SF2: @@ -402,6 +404,8 @@ const char* getPluginTypeAsString(const PluginType& type) return "LV2"; case PLUGIN_VST: return "VST"; + case PLUGIN_VST3: + return "VST3"; case PLUGIN_GIG: return "GIG"; case PLUGIN_SF2: diff --git a/source/utils/CarlaStateUtils.hpp b/source/utils/CarlaStateUtils.hpp index 406e81c81..fba186787 100644 --- a/source/utils/CarlaStateUtils.hpp +++ b/source/utils/CarlaStateUtils.hpp @@ -479,6 +479,10 @@ QString getXMLFromSaveState(const SaveState& saveState) case PLUGIN_VST: info += QString(" %1\n").arg(xmlSafeString(saveState.binary, true)); info += QString(" %1\n").arg(saveState.uniqueID); + case PLUGIN_VST3: + // TODO? + info += QString(" %1\n").arg(xmlSafeString(saveState.binary, true)); + info += QString(" %1\n").arg(saveState.uniqueID); break; case PLUGIN_GIG: case PLUGIN_SF2: