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