| @@ -162,10 +162,11 @@ enum PluginType { | |||||
| PLUGIN_LADSPA = 2, //!< LADSPA plugin.\see LadspaPlugin | PLUGIN_LADSPA = 2, //!< LADSPA plugin.\see LadspaPlugin | ||||
| PLUGIN_DSSI = 3, //!< DSSI plugin.\see DssiPlugin | PLUGIN_DSSI = 3, //!< DSSI plugin.\see DssiPlugin | ||||
| PLUGIN_LV2 = 4, //!< LV2 plugin.\see Lv2Plugin | 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 | |||||
| }; | }; | ||||
| /*! | /*! | ||||
| @@ -838,6 +838,7 @@ public: | |||||
| static CarlaPlugin* newDSSI(const Initializer& init, const char* const guiFilename); | static CarlaPlugin* newDSSI(const Initializer& init, const char* const guiFilename); | ||||
| static CarlaPlugin* newLV2(const Initializer& init); | static CarlaPlugin* newLV2(const Initializer& init); | ||||
| static CarlaPlugin* newVST(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* newGIG(const Initializer& init, const bool use16Outs); | ||||
| static CarlaPlugin* newSF2(const Initializer& init, const bool use16Outs); | static CarlaPlugin* newSF2(const Initializer& init, const bool use16Outs); | ||||
| static CarlaPlugin* newSFZ(const Initializer& init, const bool use16Outs); | static CarlaPlugin* newSFZ(const Initializer& init, const bool use16Outs); | ||||
| @@ -762,6 +762,10 @@ bool CarlaEngine::addPlugin(const BinaryType btype, const PluginType ptype, cons | |||||
| plugin = CarlaPlugin::newVST(init); | plugin = CarlaPlugin::newVST(init); | ||||
| break; | break; | ||||
| case PLUGIN_VST3: | |||||
| plugin = CarlaPlugin::newVST3(init); | |||||
| break; | |||||
| case PLUGIN_GIG: | case PLUGIN_GIG: | ||||
| plugin = CarlaPlugin::newGIG(init, (extra != nullptr)); | plugin = CarlaPlugin::newGIG(init, (extra != nullptr)); | ||||
| break; | break; | ||||
| @@ -425,6 +425,9 @@ const SaveState& CarlaPlugin::getSaveState() | |||||
| switch (type()) | switch (type()) | ||||
| { | { | ||||
| case PLUGIN_NONE: | |||||
| saveState.type = carla_strdup("None"); | |||||
| break; | |||||
| case PLUGIN_INTERNAL: | case PLUGIN_INTERNAL: | ||||
| saveState.type = carla_strdup("Internal"); | saveState.type = carla_strdup("Internal"); | ||||
| break; | break; | ||||
| @@ -440,6 +443,9 @@ const SaveState& CarlaPlugin::getSaveState() | |||||
| case PLUGIN_VST: | case PLUGIN_VST: | ||||
| saveState.type = carla_strdup("VST"); | saveState.type = carla_strdup("VST"); | ||||
| break; | break; | ||||
| case PLUGIN_VST3: | |||||
| saveState.type = carla_strdup("VST3"); | |||||
| break; | |||||
| case PLUGIN_GIG: | case PLUGIN_GIG: | ||||
| saveState.type = carla_strdup("GIG"); | saveState.type = carla_strdup("GIG"); | ||||
| break; | break; | ||||
| @@ -449,9 +455,6 @@ const SaveState& CarlaPlugin::getSaveState() | |||||
| case PLUGIN_SFZ: | case PLUGIN_SFZ: | ||||
| saveState.type = carla_strdup("SFZ"); | saveState.type = carla_strdup("SFZ"); | ||||
| break; | break; | ||||
| default: | |||||
| saveState.type = carla_strdup("Unknown"); | |||||
| break; | |||||
| } | } | ||||
| getLabel(strBuf); | getLabel(strBuf); | ||||
| @@ -37,6 +37,7 @@ OBJS = \ | |||||
| DssiPlugin.cpp.o \ | DssiPlugin.cpp.o \ | ||||
| Lv2Plugin.cpp.o \ | Lv2Plugin.cpp.o \ | ||||
| VstPlugin.cpp.o \ | VstPlugin.cpp.o \ | ||||
| Vst3Plugin.cpp.o \ | |||||
| FluidSynthPlugin.cpp.o \ | FluidSynthPlugin.cpp.o \ | ||||
| LinuxSamplerPlugin.cpp.o | LinuxSamplerPlugin.cpp.o | ||||
| @@ -494,6 +494,8 @@ int main(int argc, char* argv[]) | |||||
| itype = CarlaBackend::PLUGIN_LV2; | itype = CarlaBackend::PLUGIN_LV2; | ||||
| else if (std::strcmp(stype, "VST") == 0) | else if (std::strcmp(stype, "VST") == 0) | ||||
| itype = CarlaBackend::PLUGIN_VST; | itype = CarlaBackend::PLUGIN_VST; | ||||
| else if (std::strcmp(stype, "VST3") == 0) | |||||
| itype = CarlaBackend::PLUGIN_VST3; | |||||
| else | else | ||||
| { | { | ||||
| carla_stderr("Invalid plugin type '%s'", stype); | carla_stderr("Invalid plugin type '%s'", stype); | ||||
| @@ -261,6 +261,7 @@ OBJS_NATIVE += \ | |||||
| ../backend/plugin/DssiPlugin__native.o \ | ../backend/plugin/DssiPlugin__native.o \ | ||||
| ../backend/plugin/Lv2Plugin__native.o \ | ../backend/plugin/Lv2Plugin__native.o \ | ||||
| ../backend/plugin/VstPlugin__native.o \ | ../backend/plugin/VstPlugin__native.o \ | ||||
| ../backend/plugin/Vst3Plugin__native.o \ | |||||
| ../backend/plugin/FluidSynthPlugin__native.o \ | ../backend/plugin/FluidSynthPlugin__native.o \ | ||||
| ../backend/plugin/LinuxSamplerPlugin__native.o | ../backend/plugin/LinuxSamplerPlugin__native.o | ||||
| @@ -42,6 +42,7 @@ SOURCES += \ | |||||
| ../../backend/plugin/DssiPlugin.cpp \ | ../../backend/plugin/DssiPlugin.cpp \ | ||||
| ../../backend/plugin/Lv2Plugin.cpp \ | ../../backend/plugin/Lv2Plugin.cpp \ | ||||
| ../../backend/plugin/VstPlugin.cpp \ | ../../backend/plugin/VstPlugin.cpp \ | ||||
| ../../backend/plugin/Vst3Plugin.cpp \ | |||||
| ../../backend/plugin/FluidSynthPlugin.cpp \ | ../../backend/plugin/FluidSynthPlugin.cpp \ | ||||
| ../../backend/plugin/LinuxSamplerPlugin.cpp | ../../backend/plugin/LinuxSamplerPlugin.cpp | ||||
| @@ -113,7 +114,7 @@ DEFINES += DEBUG | |||||
| DEFINES += BUILD_BRIDGE BUILD_BRIDGE_PLUGIN BRIDGE_PLUGIN | DEFINES += BUILD_BRIDGE BUILD_BRIDGE_PLUGIN BRIDGE_PLUGIN | ||||
| DEFINES += WANT_JACK | 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 | DEFINES += WANT_FLUIDSYNTH WANT_LINUXSAMPLER | ||||
| LIBS = -ldl \ | LIBS = -ldl \ | ||||
| @@ -215,9 +215,10 @@ PLUGIN_LADSPA = 2 | |||||
| PLUGIN_DSSI = 3 | PLUGIN_DSSI = 3 | ||||
| PLUGIN_LV2 = 4 | PLUGIN_LV2 = 4 | ||||
| PLUGIN_VST = 5 | 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 | ||||
| PLUGIN_CATEGORY_NONE = 0 | PLUGIN_CATEGORY_NONE = 0 | ||||
| @@ -96,6 +96,8 @@ const char* PluginType2Str(const PluginType& type) | |||||
| return "PLUGIN_LV2"; | return "PLUGIN_LV2"; | ||||
| case PLUGIN_VST: | case PLUGIN_VST: | ||||
| return "PLUGIN_VST"; | return "PLUGIN_VST"; | ||||
| case PLUGIN_VST3: | |||||
| return "PLUGIN_VST3"; | |||||
| case PLUGIN_GIG: | case PLUGIN_GIG: | ||||
| return "PLUGIN_GIG"; | return "PLUGIN_GIG"; | ||||
| case PLUGIN_SF2: | case PLUGIN_SF2: | ||||
| @@ -402,6 +404,8 @@ const char* getPluginTypeAsString(const PluginType& type) | |||||
| return "LV2"; | return "LV2"; | ||||
| case PLUGIN_VST: | case PLUGIN_VST: | ||||
| return "VST"; | return "VST"; | ||||
| case PLUGIN_VST3: | |||||
| return "VST3"; | |||||
| case PLUGIN_GIG: | case PLUGIN_GIG: | ||||
| return "GIG"; | return "GIG"; | ||||
| case PLUGIN_SF2: | case PLUGIN_SF2: | ||||
| @@ -479,6 +479,10 @@ QString getXMLFromSaveState(const SaveState& saveState) | |||||
| case PLUGIN_VST: | case PLUGIN_VST: | ||||
| info += QString(" <Binary>%1</Binary>\n").arg(xmlSafeString(saveState.binary, true)); | info += QString(" <Binary>%1</Binary>\n").arg(xmlSafeString(saveState.binary, true)); | ||||
| info += QString(" <UniqueID>%1</UniqueID>\n").arg(saveState.uniqueID); | info += QString(" <UniqueID>%1</UniqueID>\n").arg(saveState.uniqueID); | ||||
| case PLUGIN_VST3: | |||||
| // TODO? | |||||
| info += QString(" <Binary>%1</Binary>\n").arg(xmlSafeString(saveState.binary, true)); | |||||
| info += QString(" <UniqueID>%1</UniqueID>\n").arg(saveState.uniqueID); | |||||
| break; | break; | ||||
| case PLUGIN_GIG: | case PLUGIN_GIG: | ||||
| case PLUGIN_SF2: | case PLUGIN_SF2: | ||||