| @@ -109,6 +109,7 @@ TARGETS += \ | |||||
| $(BINDIR)/CarlaRack$(LIB_EXT) \ | $(BINDIR)/CarlaRack$(LIB_EXT) \ | ||||
| $(BINDIR)/CarlaRackFX$(LIB_EXT) \ | $(BINDIR)/CarlaRackFX$(LIB_EXT) \ | ||||
| $(BINDIR)/CarlaPatchbay$(LIB_EXT) \ | $(BINDIR)/CarlaPatchbay$(LIB_EXT) \ | ||||
| $(BINDIR)/CarlaPatchbay16$(LIB_EXT) \ | |||||
| $(BINDIR)/CarlaPatchbayFX$(LIB_EXT) | $(BINDIR)/CarlaPatchbayFX$(LIB_EXT) | ||||
| endif | endif | ||||
| endif | endif | ||||
| @@ -150,6 +151,11 @@ $(BINDIR)/CarlaPatchbay$(LIB_EXT): $(OBJDIR)/carla-vst.cpp.patchbay-syn.o $(LIBS | |||||
| @echo "Linking CarlaPatchbay$(LIB_EXT)" | @echo "Linking CarlaPatchbay$(LIB_EXT)" | ||||
| @$(CXX) $< $(LIBS_START) $(LIBS) $(LIBS_END) $(SHARED) $(LINK_FLAGS) -o $@ | @$(CXX) $< $(LIBS_START) $(LIBS) $(LIBS_END) $(SHARED) $(LINK_FLAGS) -o $@ | ||||
| $(BINDIR)/CarlaPatchbay16$(LIB_EXT): $(OBJDIR)/carla-vst.cpp.patchbay-syn16.o $(LIBS) | |||||
| -@mkdir -p $(BINDIR) | |||||
| @echo "Linking CarlaPatchbay16$(LIB_EXT)" | |||||
| @$(CXX) $< $(LIBS_START) $(LIBS) $(LIBS_END) $(SHARED) $(LINK_FLAGS) -o $@ | |||||
| $(BINDIR)/CarlaPatchbayFX$(LIB_EXT): $(OBJDIR)/carla-vst.cpp.patchbay-fx.o $(LIBS) | $(BINDIR)/CarlaPatchbayFX$(LIB_EXT): $(OBJDIR)/carla-vst.cpp.patchbay-fx.o $(LIBS) | ||||
| -@mkdir -p $(BINDIR) | -@mkdir -p $(BINDIR) | ||||
| @echo "Linking CarlaPatchbayFX$(LIB_EXT)" | @echo "Linking CarlaPatchbayFX$(LIB_EXT)" | ||||
| @@ -182,6 +188,11 @@ $(OBJDIR)/carla-vst.cpp.patchbay-syn.o: carla-vst.cpp | |||||
| @echo "Compiling $< (PatchbaySynth)" | @echo "Compiling $< (PatchbaySynth)" | ||||
| @$(CXX) $< $(BUILD_CXX_FLAGS) -DCARLA_PLUGIN_PATCHBAY=1 -DCARLA_PLUGIN_SYNTH=1 -c -o $@ | @$(CXX) $< $(BUILD_CXX_FLAGS) -DCARLA_PLUGIN_PATCHBAY=1 -DCARLA_PLUGIN_SYNTH=1 -c -o $@ | ||||
| $(OBJDIR)/carla-vst.cpp.patchbay-syn16.o: carla-vst.cpp | |||||
| -@mkdir -p $(OBJDIR) | |||||
| @echo "Compiling $< (PatchbaySynth 16ch)" | |||||
| @$(CXX) $< $(BUILD_CXX_FLAGS) -DCARLA_PLUGIN_PATCHBAY=1 -DCARLA_PLUGIN_SYNTH=1 -DCARLA_PLUGIN_16CH=1 -c -o $@ | |||||
| # ---------------------------------------------------------------------------------------------------------------------------- | # ---------------------------------------------------------------------------------------------------------------------------- | ||||
| $(BINDIR)/carla.lv2/manifest.ttl: $(OBJDIR)/carla-lv2-export.cpp.o $(LIBS) | $(BINDIR)/carla.lv2/manifest.ttl: $(OBJDIR)/carla-lv2-export.cpp.o $(LIBS) | ||||
| @@ -209,6 +220,7 @@ $(OBJDIR)/carla-lv2-export.cpp.o: carla-lv2-export.cpp | |||||
| -include $(OBJDIR)/carla-lv2-export.cpp.d | -include $(OBJDIR)/carla-lv2-export.cpp.d | ||||
| -include $(OBJDIR)/carla-vst.cpp.patchbay-fx.d | -include $(OBJDIR)/carla-vst.cpp.patchbay-fx.d | ||||
| -include $(OBJDIR)/carla-vst.cpp.patchbay-syn.d | -include $(OBJDIR)/carla-vst.cpp.patchbay-syn.d | ||||
| -include $(OBJDIR)/carla-vst.cpp.patchbay-syn16.d | |||||
| -include $(OBJDIR)/carla-vst.cpp.rack-fx.d | -include $(OBJDIR)/carla-vst.cpp.rack-fx.d | ||||
| -include $(OBJDIR)/carla-vst.cpp.rack-syn.d | -include $(OBJDIR)/carla-vst.cpp.rack-syn.d | ||||
| @@ -725,7 +725,11 @@ static intptr_t vst_dispatcherCallback(AEffect* effect, int32_t opcode, int32_t | |||||
| const NativePluginDescriptor* pluginDesc = nullptr; | const NativePluginDescriptor* pluginDesc = nullptr; | ||||
| #if CARLA_PLUGIN_PATCHBAY | #if CARLA_PLUGIN_PATCHBAY | ||||
| # if CARLA_PLUGIN_16CH | |||||
| const char* const pluginLabel = "carlapatchbay16"; | |||||
| # else | |||||
| const char* const pluginLabel = "carlapatchbay"; | const char* const pluginLabel = "carlapatchbay"; | ||||
| # endif | |||||
| #else | #else | ||||
| const char* const pluginLabel = "carlarack"; | const char* const pluginLabel = "carlarack"; | ||||
| #endif | #endif | ||||
| @@ -790,7 +794,11 @@ static intptr_t vst_dispatcherCallback(AEffect* effect, int32_t opcode, int32_t | |||||
| { | { | ||||
| #if CARLA_PLUGIN_PATCHBAY | #if CARLA_PLUGIN_PATCHBAY | ||||
| # if CARLA_PLUGIN_SYNTH | # if CARLA_PLUGIN_SYNTH | ||||
| # if CARLA_PLUGIN_16CH | |||||
| std::strncpy(cptr, "Carla-Patchbay16", 32); | |||||
| # else | |||||
| std::strncpy(cptr, "Carla-Patchbay", 32); | std::strncpy(cptr, "Carla-Patchbay", 32); | ||||
| # endif | |||||
| # else | # else | ||||
| std::strncpy(cptr, "Carla-PatchbayFX", 32); | std::strncpy(cptr, "Carla-PatchbayFX", 32); | ||||
| # endif | # endif | ||||
| @@ -818,7 +826,11 @@ static intptr_t vst_dispatcherCallback(AEffect* effect, int32_t opcode, int32_t | |||||
| { | { | ||||
| #if CARLA_PLUGIN_PATCHBAY | #if CARLA_PLUGIN_PATCHBAY | ||||
| # if CARLA_PLUGIN_SYNTH | # if CARLA_PLUGIN_SYNTH | ||||
| # if CARLA_PLUGIN_16CH | |||||
| std::strncpy(cptr, "CarlaPatchbay16", 32); | |||||
| # else | |||||
| std::strncpy(cptr, "CarlaPatchbay", 32); | std::strncpy(cptr, "CarlaPatchbay", 32); | ||||
| # endif | |||||
| # else | # else | ||||
| std::strncpy(cptr, "CarlaPatchbayFX", 32); | std::strncpy(cptr, "CarlaPatchbayFX", 32); | ||||
| # endif | # endif | ||||
| @@ -908,7 +920,11 @@ const AEffect* VSTPluginMain(audioMasterCallback audioMaster) | |||||
| static const int32_t uniqueId = CCONST('C', 'r', 'l', 'a'); | static const int32_t uniqueId = CCONST('C', 'r', 'l', 'a'); | ||||
| #if CARLA_PLUGIN_SYNTH | #if CARLA_PLUGIN_SYNTH | ||||
| # if CARLA_PLUGIN_PATCHBAY | # if CARLA_PLUGIN_PATCHBAY | ||||
| # if CARLA_PLUGIN_16CH | |||||
| effect->uniqueID = uniqueId+5; | |||||
| # else | |||||
| effect->uniqueID = uniqueId+4; | effect->uniqueID = uniqueId+4; | ||||
| # endif | |||||
| # else | # else | ||||
| effect->uniqueID = uniqueId+3; | effect->uniqueID = uniqueId+3; | ||||
| # endif | # endif | ||||
| @@ -923,8 +939,13 @@ const AEffect* VSTPluginMain(audioMasterCallback audioMaster) | |||||
| // plugin fields | // plugin fields | ||||
| effect->numParams = 0; | effect->numParams = 0; | ||||
| effect->numPrograms = 0; | effect->numPrograms = 0; | ||||
| #if CARLA_PLUGIN_16CH | |||||
| effect->numInputs = 16; | |||||
| effect->numOutputs = 16; | |||||
| #else | |||||
| effect->numInputs = 2; | effect->numInputs = 2; | ||||
| effect->numOutputs = 2; | effect->numOutputs = 2; | ||||
| #endif | |||||
| // plugin flags | // plugin flags | ||||
| effect->flags |= effFlagsCanReplacing; | effect->flags |= effFlagsCanReplacing; | ||||