| @@ -35,12 +35,13 @@ BIN: libs backend bridges discovery plugin theme | |||||
| ALL_LIBS += source/backend/carla_engine.a | ALL_LIBS += source/backend/carla_engine.a | ||||
| ALL_LIBS += source/backend/carla_engine_plugin.a | ALL_LIBS += source/backend/carla_engine_plugin.a | ||||
| ALL_LIBS += source/backend/carla_plugin.a | ALL_LIBS += source/backend/carla_plugin.a | ||||
| ALL_LIBS += source/modules/jackbridge.a | ALL_LIBS += source/modules/jackbridge.a | ||||
| ALL_LIBS += source/modules/juce_audio_basics.a | ALL_LIBS += source/modules/juce_audio_basics.a | ||||
| ALL_LIBS += source/modules/juce_audio_formats.a | ALL_LIBS += source/modules/juce_audio_formats.a | ||||
| ALL_LIBS += source/modules/juce_core.a | ALL_LIBS += source/modules/juce_core.a | ||||
| ALL_LIBS += source/modules/lilv.a | |||||
| ALL_LIBS += source/modules/native-plugins.a | |||||
| ALL_LIBS += source/modules/rtmempool.a | |||||
| ifeq ($(MACOS_OR_WIN32),true) | ifeq ($(MACOS_OR_WIN32),true) | ||||
| ALL_LIBS += source/modules/juce_audio_devices.a | ALL_LIBS += source/modules/juce_audio_devices.a | ||||
| @@ -55,13 +56,6 @@ ALL_LIBS += source/modules/rtaudio.a | |||||
| ALL_LIBS += source/modules/rtmidi.a | ALL_LIBS += source/modules/rtmidi.a | ||||
| endif | endif | ||||
| ifeq ($(CARLA_PLUGIN_SUPPORT),true) | |||||
| ALL_LIBS += source/modules/lilv.a | |||||
| endif | |||||
| ALL_LIBS += source/modules/native-plugins.a | |||||
| ALL_LIBS += source/modules/rtmempool.a | |||||
| ifeq ($(HAVE_QT4),true) | ifeq ($(HAVE_QT4),true) | ||||
| ALL_LIBS += source/modules/theme.qt4.a | ALL_LIBS += source/modules/theme.qt4.a | ||||
| endif | endif | ||||
| @@ -502,7 +496,6 @@ endif | |||||
| @echo "$(tS)---> Plugin formats: $(tE)" | @echo "$(tS)---> Plugin formats: $(tE)" | ||||
| @echo "Internal:$(ANS_YES)" | @echo "Internal:$(ANS_YES)" | ||||
| ifeq ($(CARLA_PLUGIN_SUPPORT),true) | |||||
| @echo "LADSPA: $(ANS_YES)" | @echo "LADSPA: $(ANS_YES)" | ||||
| @echo "DSSI: $(ANS_YES)" | @echo "DSSI: $(ANS_YES)" | ||||
| @echo "LV2: $(ANS_YES)" | @echo "LV2: $(ANS_YES)" | ||||
| @@ -516,18 +509,9 @@ ifeq ($(MACOS),true) | |||||
| @echo "AU: $(ANS_YES)" | @echo "AU: $(ANS_YES)" | ||||
| else | else | ||||
| @echo "AU: $(ANS_NO) $(mZ)MacOS only$(mE)" | @echo "AU: $(ANS_NO) $(mZ)MacOS only$(mE)" | ||||
| endif | |||||
| else | |||||
| @echo "LADSPA: $(ANS_NO) $(mS)Plugins disabled$(mE)" | |||||
| @echo "DSSI: $(ANS_NO) $(mS)Plugins disabled$(mE)" | |||||
| @echo "LV2: $(ANS_NO) $(mS)Plugins disabled$(mE)" | |||||
| @echo "VST: $(ANS_NO) $(mS)Plugins disabled$(mE)" | |||||
| @echo "VST3: $(ANS_NO) $(mS)Plugins disabled$(mE)" | |||||
| @echo "AU: $(ANS_NO) $(mS)Plugins disabled$(mE)" | |||||
| endif | endif | ||||
| @echo "" | @echo "" | ||||
| ifeq ($(CARLA_PLUGIN_SUPPORT),true) | |||||
| @echo "$(tS)---> LV2 UI toolkit support: $(tE)" | @echo "$(tS)---> LV2 UI toolkit support: $(tE)" | ||||
| # @echo "External:$(ANS_YES) (direct+bridge)" | # @echo "External:$(ANS_YES) (direct+bridge)" | ||||
| ifeq ($(HAVE_GTK2),true) | ifeq ($(HAVE_GTK2),true) | ||||
| @@ -566,10 +550,8 @@ endif | |||||
| # @echo "Windows: $(ANS_NO) $(mZ)Windows only$(mE)" | # @echo "Windows: $(ANS_NO) $(mZ)Windows only$(mE)" | ||||
| # endif | # endif | ||||
| @echo "" | @echo "" | ||||
| endif | |||||
| @echo "$(tS)---> File formats: $(tE)" | @echo "$(tS)---> File formats: $(tE)" | ||||
| ifeq ($(CARLA_SAMPLERS_SUPPORT),true) | |||||
| ifeq ($(HAVE_LINUXSAMPLER),true) | ifeq ($(HAVE_LINUXSAMPLER),true) | ||||
| @echo "GIG:$(ANS_YES)" | @echo "GIG:$(ANS_YES)" | ||||
| else | else | ||||
| @@ -584,11 +566,6 @@ ifeq ($(HAVE_LINUXSAMPLER),true) | |||||
| @echo "SFZ:$(ANS_YES)" | @echo "SFZ:$(ANS_YES)" | ||||
| else | else | ||||
| @echo "SFZ:$(ANS_NO) $(mS)LinuxSampler missing$(mE)" | @echo "SFZ:$(ANS_NO) $(mS)LinuxSampler missing$(mE)" | ||||
| endif | |||||
| else | |||||
| @echo "GIG:$(ANS_NO) $(mS)Samplers disabled$(mE)" | |||||
| @echo "SF2:$(ANS_NO) $(mS)Samplers disabled$(mE)" | |||||
| @echo "SFZ:$(ANS_NO) $(mS)Samplers disabled$(mE)" | |||||
| endif | endif | ||||
| @echo "" | @echo "" | ||||
| @@ -7,12 +7,6 @@ | |||||
| # -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
| # Modify to enable/disable specific features | # Modify to enable/disable specific features | ||||
| # Support for LADSPA, DSSI, LV2, VST and AU plugins | |||||
| CARLA_PLUGIN_SUPPORT = true | |||||
| # Support for GIG, SF2 and SFZ sample banks (through fluidsynth and linuxsampler) | |||||
| CARLA_SAMPLERS_SUPPORT = true | |||||
| # Use the free vestige header instead of the official VST SDK | # Use the free vestige header instead of the official VST SDK | ||||
| CARLA_VESTIGE_HEADER = true | CARLA_VESTIGE_HEADER = true | ||||
| @@ -157,10 +151,8 @@ HAVE_X11 = $(shell pkg-config --exists x11 && echo true) | |||||
| endif | endif | ||||
| endif | endif | ||||
| ifeq ($(CARLA_SAMPLERS_SUPPORT),true) | |||||
| HAVE_FLUIDSYNTH = $(shell pkg-config --exists fluidsynth && echo true) | HAVE_FLUIDSYNTH = $(shell pkg-config --exists fluidsynth && echo true) | ||||
| HAVE_LINUXSAMPLER = $(shell pkg-config --exists linuxsampler && echo true) | HAVE_LINUXSAMPLER = $(shell pkg-config --exists linuxsampler && echo true) | ||||
| endif | |||||
| # -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
| # Set Qt tools | # Set Qt tools | ||||
| @@ -214,10 +206,22 @@ HAVE_ZYN_UI_DEPS = $(shell pkg-config --exists ntk_images ntk && echo true) | |||||
| # -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
| # Set base defines | # Set base defines | ||||
| ifeq ($(HAVE_FLUIDSYNTH),true) | |||||
| BASE_FLAGS += -DHAVE_FLUIDSYNTH | |||||
| endif | |||||
| ifeq ($(HAVE_LINUXSAMPLER),true) | |||||
| BASE_FLAGS += -DHAVE_LINUXSAMPLER | |||||
| endif | |||||
| ifeq ($(HAVE_X11),true) | ifeq ($(HAVE_X11),true) | ||||
| BASE_FLAGS += -DHAVE_X11 | BASE_FLAGS += -DHAVE_X11 | ||||
| endif | endif | ||||
| ifeq ($(CARLA_VESTIGE_HEADER),true) | |||||
| BASE_FLAGS += -DVESTIGE_HEADER | |||||
| endif | |||||
| # -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
| # Set libs stuff (part 1) | # Set libs stuff (part 1) | ||||
| @@ -447,56 +447,47 @@ const char* carla_get_complete_license_text() | |||||
| text1 += "<ul>"; | text1 += "<ul>"; | ||||
| // Plugin formats | // Plugin formats | ||||
| #ifdef WANT_LADSPA | |||||
| text2 += "<li>LADSPA plugin support, http://www.ladspa.org/</li>"; | text2 += "<li>LADSPA plugin support, http://www.ladspa.org/</li>"; | ||||
| #endif | |||||
| #ifdef WANT_DSSI | |||||
| text2 += "<li>DSSI plugin support, http://dssi.sourceforge.net/</li>"; | text2 += "<li>DSSI plugin support, http://dssi.sourceforge.net/</li>"; | ||||
| #endif | |||||
| #ifdef WANT_LV2 | |||||
| text2 += "<li>LV2 plugin support, http://lv2plug.in/</li>"; | text2 += "<li>LV2 plugin support, http://lv2plug.in/</li>"; | ||||
| #endif | |||||
| #ifdef WANT_VST | |||||
| # ifdef VESTIGE_HEADER | |||||
| #ifdef VESTIGE_HEADER | |||||
| text2 += "<li>VST plugin support, using VeSTige header by Javier Serrano Polo</li>"; | text2 += "<li>VST plugin support, using VeSTige header by Javier Serrano Polo</li>"; | ||||
| # else | |||||
| #else | |||||
| text2 += "<li>VST plugin support, using official VST SDK 2.4 (trademark of Steinberg Media Technologies GmbH)</li>"; | text2 += "<li>VST plugin support, using official VST SDK 2.4 (trademark of Steinberg Media Technologies GmbH)</li>"; | ||||
| # endif | |||||
| #endif | #endif | ||||
| #ifdef WANT_AU | |||||
| #if defined(CARLA_OS_MAC) || defined(CARLA_OS_WIN) | |||||
| text2 += "<li>VST3 plugin support</li>"; // FIXME | |||||
| #endif | |||||
| #ifdef CARLA_OS_MAC | |||||
| text2 += "<li>AU plugin support</li>"; // FIXME | text2 += "<li>AU plugin support</li>"; // FIXME | ||||
| #endif | #endif | ||||
| // Sample kit libraries | // Sample kit libraries | ||||
| #ifdef WANT_FLUIDSYNTH | |||||
| #ifdef HAVE_FLUIDSYNTH | |||||
| text2 += "<li>FluidSynth library for SF2 support, http://www.fluidsynth.org/</li>"; | text2 += "<li>FluidSynth library for SF2 support, http://www.fluidsynth.org/</li>"; | ||||
| #endif | #endif | ||||
| #ifdef WANT_LINUXSAMPLER | |||||
| #ifdef HAVE_LINUXSAMPLER | |||||
| text2 += "<li>LinuxSampler library for GIG and SFZ support*, http://www.linuxsampler.org/</li>"; | text2 += "<li>LinuxSampler library for GIG and SFZ support*, http://www.linuxsampler.org/</li>"; | ||||
| #endif | #endif | ||||
| #ifdef WANT_NATIVE | |||||
| // Internal plugins | // Internal plugins | ||||
| text3 += "<li>NekoFilter plugin code, based on lv2fil by Nedko Arnaudov and Fons Adriaensen</li>"; | text3 += "<li>NekoFilter plugin code, based on lv2fil by Nedko Arnaudov and Fons Adriaensen</li>"; | ||||
| # ifdef WANT_ZYNADDSUBFX | |||||
| #ifdef WANT_ZYNADDSUBFX | |||||
| text3 += "<li>ZynAddSubFX plugin code, http://zynaddsubfx.sf.net/</li>"; | text3 += "<li>ZynAddSubFX plugin code, http://zynaddsubfx.sf.net/</li>"; | ||||
| # ifdef WANT_ZYNADDSUBFX_UI | |||||
| # ifdef WANT_ZYNADDSUBFX_UI | |||||
| text3 += "<li>ZynAddSubFX UI using NTK, http://non.tuxfamily.org/wiki/NTK</li>"; | text3 += "<li>ZynAddSubFX UI using NTK, http://non.tuxfamily.org/wiki/NTK</li>"; | ||||
| # endif | |||||
| # endif | # endif | ||||
| #endif | #endif | ||||
| // misc libs | // misc libs | ||||
| text4 += "<li>liblo library for OSC support, http://liblo.sourceforge.net/</li>"; | text4 += "<li>liblo library for OSC support, http://liblo.sourceforge.net/</li>"; | ||||
| #ifdef WANT_LV2 | |||||
| text4 += "<li>serd, sord, sratom and lilv libraries for LV2 discovery, http://drobilla.net/software/lilv/</li>"; | text4 += "<li>serd, sord, sratom and lilv libraries for LV2 discovery, http://drobilla.net/software/lilv/</li>"; | ||||
| #endif | |||||
| text4 += "<li>RtAudio+RtMidi libraries for extra Audio and MIDI support, http://www.music.mcgill.ca/~gary/rtaudio/</li>"; | text4 += "<li>RtAudio+RtMidi libraries for extra Audio and MIDI support, http://www.music.mcgill.ca/~gary/rtaudio/</li>"; | ||||
| // end | // end | ||||
| text4 += "</ul>"; | text4 += "</ul>"; | ||||
| #ifdef WANT_LINUXSAMPLER | |||||
| #ifdef HAVE_LINUXSAMPLER | |||||
| // LinuxSampler GPL exception | // LinuxSampler GPL exception | ||||
| text4 += "<p>(*) Using LinuxSampler code in commercial hardware or software products is not allowed without prior written authorization by the authors.</p>"; | text4 += "<p>(*) Using LinuxSampler code in commercial hardware or software products is not allowed without prior written authorization by the authors.</p>"; | ||||
| #endif | #endif | ||||
| @@ -519,10 +510,10 @@ const char* carla_get_supported_file_extensions() | |||||
| retText += "*.carxp;*.carxs"; | retText += "*.carxp;*.carxs"; | ||||
| // Sample kits | // Sample kits | ||||
| #ifdef WANT_FLUIDSYNTH | |||||
| #ifdef HAVE_FLUIDSYNTH | |||||
| retText += ";*.sf2"; | retText += ";*.sf2"; | ||||
| #endif | #endif | ||||
| #ifdef WANT_LINUXSAMPLER | |||||
| #ifdef HAVE_LINUXSAMPLER | |||||
| retText += ";*.gig;*.sfz"; | retText += ";*.gig;*.sfz"; | ||||
| #endif | #endif | ||||
| @@ -603,18 +594,13 @@ uint carla_get_internal_plugin_count() | |||||
| { | { | ||||
| carla_debug("carla_get_internal_plugin_count()"); | carla_debug("carla_get_internal_plugin_count()"); | ||||
| #ifdef WANT_NATIVE | |||||
| return static_cast<uint>(CarlaPlugin::getNativePluginCount()); | return static_cast<uint>(CarlaPlugin::getNativePluginCount()); | ||||
| #else | |||||
| return 0; | |||||
| #endif | |||||
| } | } | ||||
| const CarlaNativePluginInfo* carla_get_internal_plugin_info(uint index) | const CarlaNativePluginInfo* carla_get_internal_plugin_info(uint index) | ||||
| { | { | ||||
| carla_debug("carla_get_internal_plugin_info(%i)", index); | carla_debug("carla_get_internal_plugin_info(%i)", index); | ||||
| #ifdef WANT_NATIVE | |||||
| static CarlaNativePluginInfo info; | static CarlaNativePluginInfo info; | ||||
| const NativePluginDescriptor* const nativePlugin(CarlaPlugin::getNativePluginDescriptor(index)); | const NativePluginDescriptor* const nativePlugin(CarlaPlugin::getNativePluginDescriptor(index)); | ||||
| @@ -654,12 +640,6 @@ const CarlaNativePluginInfo* carla_get_internal_plugin_info(uint index) | |||||
| checkStringPtr(info.copyright); | checkStringPtr(info.copyright); | ||||
| return &info; | return &info; | ||||
| #else | |||||
| return nullptr; | |||||
| // unused | |||||
| (void)index; | |||||
| #endif | |||||
| } | } | ||||
| // ------------------------------------------------------------------------------------------------------------------- | // ------------------------------------------------------------------------------------------------------------------- | ||||
| @@ -2272,17 +2252,7 @@ const char* carla_get_host_osc_url_udp() | |||||
| // ------------------------------------------------------------------------------------------------------------------- | // ------------------------------------------------------------------------------------------------------------------- | ||||
| #ifdef WANT_DSSI | |||||
| # include "CarlaDssiUtils.cpp" | |||||
| #endif | |||||
| #include "CarlaDssiUtils.cpp" | |||||
| #include "CarlaStateUtils.cpp" | #include "CarlaStateUtils.cpp" | ||||
| #if 0 | |||||
| int main(int argc, char* argv[]) | |||||
| { | |||||
| return 0; | |||||
| } | |||||
| #endif | |||||
| // ------------------------------------------------------------------------------------------------------------------- | // ------------------------------------------------------------------------------------------------------------------- | ||||
| @@ -16,13 +16,10 @@ STANDALONE_LIBS += ../modules/jackbridge.a | |||||
| STANDALONE_LIBS += ../modules/juce_audio_basics.a | STANDALONE_LIBS += ../modules/juce_audio_basics.a | ||||
| STANDALONE_LIBS += ../modules/juce_audio_formats.a | STANDALONE_LIBS += ../modules/juce_audio_formats.a | ||||
| STANDALONE_LIBS += ../modules/juce_core.a | STANDALONE_LIBS += ../modules/juce_core.a | ||||
| STANDALONE_LIBS += ../modules/lilv.a | |||||
| STANDALONE_LIBS += ../modules/native-plugins.a | STANDALONE_LIBS += ../modules/native-plugins.a | ||||
| STANDALONE_LIBS += ../modules/rtmempool.a | STANDALONE_LIBS += ../modules/rtmempool.a | ||||
| ifeq ($(CARLA_PLUGIN_SUPPORT),true) | |||||
| STANDALONE_LIBS += ../modules/lilv.a | |||||
| endif | |||||
| ifeq ($(MACOS_OR_WIN32),true) | ifeq ($(MACOS_OR_WIN32),true) | ||||
| STANDALONE_LIBS += ../modules/juce_audio_devices.a | STANDALONE_LIBS += ../modules/juce_audio_devices.a | ||||
| STANDALONE_LIBS += ../modules/juce_audio_processors.a | STANDALONE_LIBS += ../modules/juce_audio_processors.a | ||||
| @@ -43,21 +40,10 @@ STANDALONE_FLAGS += $(JUCE_CORE_LIBS) | |||||
| STANDALONE_FLAGS += $(JUCE_AUDIO_BASICS_LIBS) | STANDALONE_FLAGS += $(JUCE_AUDIO_BASICS_LIBS) | ||||
| STANDALONE_FLAGS += $(JUCE_AUDIO_FORMATS_LIBS) | STANDALONE_FLAGS += $(JUCE_AUDIO_FORMATS_LIBS) | ||||
| STANDALONE_FLAGS += $(LIBLO_LIBS) | STANDALONE_FLAGS += $(LIBLO_LIBS) | ||||
| STANDALONE_FLAGS += $(LILV_LIBS) | |||||
| STANDALONE_FLAGS += $(NATIVE_PLUGINS_LIBS) | STANDALONE_FLAGS += $(NATIVE_PLUGINS_LIBS) | ||||
| STANDALONE_FLAGS += $(RTMEMPOOL_LIBS) | STANDALONE_FLAGS += $(RTMEMPOOL_LIBS) | ||||
| ifeq ($(CARLA_PLUGIN_SUPPORT),true) | |||||
| STANDALONE_FLAGS += $(LILV_LIBS) | |||||
| endif | |||||
| ifeq ($(HAVE_FLUIDSYNTH),true) | |||||
| STANDALONE_FLAGS += $(FLUIDSYNTH_LIBS) | |||||
| endif | |||||
| ifeq ($(HAVE_LINUXSAMPLER),true) | |||||
| STANDALONE_FLAGS += $(LINUXSAMPLER_LIBS) | |||||
| endif | |||||
| ifeq ($(MACOS_OR_WIN32),true) | ifeq ($(MACOS_OR_WIN32),true) | ||||
| STANDALONE_FLAGS += $(JUCE_AUDIO_DEVICES_LIBS) | STANDALONE_FLAGS += $(JUCE_AUDIO_DEVICES_LIBS) | ||||
| STANDALONE_FLAGS += $(JUCE_AUDIO_PROCESSORS_LIBS) | STANDALONE_FLAGS += $(JUCE_AUDIO_PROCESSORS_LIBS) | ||||
| @@ -71,6 +57,14 @@ STANDALONE_FLAGS += $(RTAUDIO_LIBS) | |||||
| STANDALONE_FLAGS += $(RTMIDI_LIBS) | STANDALONE_FLAGS += $(RTMIDI_LIBS) | ||||
| endif | endif | ||||
| ifeq ($(HAVE_FLUIDSYNTH),true) | |||||
| STANDALONE_FLAGS += $(FLUIDSYNTH_LIBS) | |||||
| endif | |||||
| ifeq ($(HAVE_LINUXSAMPLER),true) | |||||
| STANDALONE_FLAGS += $(LINUXSAMPLER_LIBS) | |||||
| endif | |||||
| ifeq ($(HAVE_X11),true) | ifeq ($(HAVE_X11),true) | ||||
| STANDALONE_FLAGS += $(X11_LIBS) | STANDALONE_FLAGS += $(X11_LIBS) | ||||
| endif | endif | ||||
| @@ -18,33 +18,6 @@ BUILD_CXX_FLAGS += $(LIBLO_FLAGS) | |||||
| # ---------------------------------------------------------------------------------------------------------------------------- | # ---------------------------------------------------------------------------------------------------------------------------- | ||||
| BUILD_CXX_FLAGS += -DWANT_NATIVE | |||||
| ifeq ($(CARLA_PLUGIN_SUPPORT),true) | |||||
| BUILD_CXX_FLAGS += -DWANT_LADSPA -DWANT_DSSI -DWANT_LV2 -DWANT_VST | |||||
| ifeq ($(MACOS_OR_WIN32),true) | |||||
| BUILD_CXX_FLAGS += -DWANT_VST3 | |||||
| endif | |||||
| ifeq ($(MACOS),true) | |||||
| BUILD_CXX_FLAGS += -DWANT_AU | |||||
| endif | |||||
| ifeq ($(CARLA_VESTIGE_HEADER),true) | |||||
| BUILD_CXX_FLAGS += -DVESTIGE_HEADER | |||||
| endif | |||||
| endif | |||||
| # ---------------------------------------------------------------------------------------------------------------------------- | |||||
| ifeq ($(HAVE_FLUIDSYNTH),true) | |||||
| BUILD_CXX_FLAGS += -DWANT_FLUIDSYNTH | |||||
| endif | |||||
| ifeq ($(HAVE_LINUXSAMPLER),true) | |||||
| BUILD_CXX_FLAGS += -DWANT_LINUXSAMPLER | |||||
| endif | |||||
| # ---------------------------------------------------------------------------------------------------------------------------- | |||||
| BUILD_CXX_FLAGS += $(NATIVE_PLUGINS_FLAGS) | BUILD_CXX_FLAGS += $(NATIVE_PLUGINS_FLAGS) | ||||
| # ---------------------------------------------------------------------------------------------------------------------------- | # ---------------------------------------------------------------------------------------------------------------------------- | ||||
| @@ -382,12 +382,10 @@ int CarlaEngineOsc::handleMessage(const bool isTCP, const char* const path, cons | |||||
| #endif | #endif | ||||
| // Plugin-specific methods | // Plugin-specific methods | ||||
| #ifdef WANT_LV2 | |||||
| if (std::strcmp(method, "lv2_atom_transfer") == 0) | if (std::strcmp(method, "lv2_atom_transfer") == 0) | ||||
| return handleMsgLv2AtomTransfer(plugin, argc, argv, types); | return handleMsgLv2AtomTransfer(plugin, argc, argv, types); | ||||
| if (std::strcmp(method, "lv2_urid_map") == 0) | if (std::strcmp(method, "lv2_urid_map") == 0) | ||||
| return handleMsgLv2UridMap(plugin, argc, argv, types); | return handleMsgLv2UridMap(plugin, argc, argv, types); | ||||
| #endif | |||||
| carla_stderr("CarlaEngineOsc::handleMessage() - unsupported OSC method '%s'", method); | carla_stderr("CarlaEngineOsc::handleMessage() - unsupported OSC method '%s'", method); | ||||
| return 1; | return 1; | ||||
| @@ -136,10 +136,8 @@ private: | |||||
| int handleMsgNoteOff(CARLA_ENGINE_OSC_HANDLE_ARGS2); | int handleMsgNoteOff(CARLA_ENGINE_OSC_HANDLE_ARGS2); | ||||
| #endif | #endif | ||||
| #ifdef WANT_LV2 | |||||
| int handleMsgLv2AtomTransfer(CARLA_ENGINE_OSC_HANDLE_ARGS2); | int handleMsgLv2AtomTransfer(CARLA_ENGINE_OSC_HANDLE_ARGS2); | ||||
| int handleMsgLv2UridMap(CARLA_ENGINE_OSC_HANDLE_ARGS2); | int handleMsgLv2UridMap(CARLA_ENGINE_OSC_HANDLE_ARGS2); | ||||
| #endif | |||||
| // ----------------------------------------------------------------------- | // ----------------------------------------------------------------------- | ||||
| @@ -21,11 +21,13 @@ | |||||
| CARLA_BACKEND_START_NAMESPACE | CARLA_BACKEND_START_NAMESPACE | ||||
| // ------------------------------------------------------------------------------------------------------------------- | |||||
| CarlaPlugin* CarlaPlugin::newAU(const Initializer& init) | CarlaPlugin* CarlaPlugin::newAU(const Initializer& init) | ||||
| { | { | ||||
| carla_debug("CarlaPlugin::newAU({%p, \"%s\", \"%s\", " P_INT64 "})", init.engine, init.filename, init.name, init.uniqueId); | carla_debug("CarlaPlugin::newAU({%p, \"%s\", \"%s\", " P_INT64 "})", init.engine, init.filename, init.name, init.uniqueId); | ||||
| #if defined(WANT_AU) && defined(CARLA_OS_MAC) | |||||
| #if defined(CARLA_OS_MAC) | |||||
| return newJuce(init, "AU"); | return newJuce(init, "AU"); | ||||
| #else | #else | ||||
| init.engine->setLastError("AU support not available"); | init.engine->setLastError("AU support not available"); | ||||
| @@ -33,4 +35,6 @@ CarlaPlugin* CarlaPlugin::newAU(const Initializer& init) | |||||
| #endif | #endif | ||||
| } | } | ||||
| // ------------------------------------------------------------------------------------------------------------------- | |||||
| CARLA_BACKEND_END_NAMESPACE | CARLA_BACKEND_END_NAMESPACE | ||||
| @@ -72,47 +72,6 @@ struct ParamSymbol { | |||||
| // ----------------------------------------------------------------------- | // ----------------------------------------------------------------------- | ||||
| CarlaPlugin* CarlaPlugin::newFileGIG(const Initializer& init, const bool use16Outs) | |||||
| { | |||||
| carla_debug("CarlaPlugin::newFileGIG({%p, \"%s\", \"%s\", \"%s\"}, %s)", init.engine, init.filename, init.name, init.label, bool2str(use16Outs)); | |||||
| #ifdef WANT_LINUXSAMPLER | |||||
| return newLinuxSampler(init, "GIG", use16Outs); | |||||
| #else | |||||
| init.engine->setLastError("GIG support not available"); | |||||
| return nullptr; | |||||
| // unused | |||||
| (void)use16Outs; | |||||
| #endif | |||||
| } | |||||
| CarlaPlugin* CarlaPlugin::newFileSF2(const Initializer& init, const bool use16Outs) | |||||
| { | |||||
| carla_debug("CarlaPlugin::newFileSF2({%p, \"%s\", \"%s\", \"%s\"}, %s)", init.engine, init.filename, init.name, init.label, bool2str(use16Outs)); | |||||
| #if defined(WANT_FLUIDSYNTH) | |||||
| return newFluidSynth(init, use16Outs); | |||||
| #elif defined(WANT_LINUXSAMPLER) | |||||
| return newLinuxSampler(init, "SF2", use16Outs); | |||||
| #else | |||||
| init.engine->setLastError("SF2 support not available"); | |||||
| return nullptr; | |||||
| // unused | |||||
| (void)use16Outs; | |||||
| #endif | |||||
| } | |||||
| CarlaPlugin* CarlaPlugin::newFileSFZ(const Initializer& init) | |||||
| { | |||||
| carla_debug("CarlaPlugin::newFileSFZ({%p, \"%s\", \"%s\", \"%s\"})", init.engine, init.filename, init.name, init.label); | |||||
| #ifdef WANT_LINUXSAMPLER | |||||
| return newLinuxSampler(init, "SFZ", false); | |||||
| #else | |||||
| init.engine->setLastError("SFZ support not available"); | |||||
| return nullptr; | |||||
| #endif | |||||
| } | |||||
| // ------------------------------------------------------------------- | // ------------------------------------------------------------------- | ||||
| // Constructor and destructor | // Constructor and destructor | ||||
| @@ -18,8 +18,6 @@ | |||||
| #include "CarlaPluginInternal.hpp" | #include "CarlaPluginInternal.hpp" | ||||
| #include "CarlaEngine.hpp" | #include "CarlaEngine.hpp" | ||||
| #ifdef WANT_DSSI | |||||
| #include "CarlaDssiUtils.hpp" | #include "CarlaDssiUtils.hpp" | ||||
| #include "CarlaBase64Utils.hpp" | #include "CarlaBase64Utils.hpp" | ||||
| @@ -2281,19 +2279,12 @@ private: | |||||
| LinkedList<const char*> DssiPlugin::sMultiSynthList; | LinkedList<const char*> DssiPlugin::sMultiSynthList; | ||||
| CARLA_BACKEND_END_NAMESPACE | |||||
| #endif // WANT_DSSI | |||||
| // ------------------------------------------------------------------------------------------------------------------- | // ------------------------------------------------------------------------------------------------------------------- | ||||
| CARLA_BACKEND_START_NAMESPACE | |||||
| CarlaPlugin* CarlaPlugin::newDSSI(const Initializer& init) | CarlaPlugin* CarlaPlugin::newDSSI(const Initializer& init) | ||||
| { | { | ||||
| carla_debug("CarlaPlugin::newDSSI({%p, \"%s\", \"%s\", \"%s\", " P_INT64 "})", init.engine, init.filename, init.name, init.label, init.uniqueId); | carla_debug("CarlaPlugin::newDSSI({%p, \"%s\", \"%s\", \"%s\", " P_INT64 "})", init.engine, init.filename, init.name, init.label, init.uniqueId); | ||||
| #ifdef WANT_DSSI | |||||
| DssiPlugin* const plugin(new DssiPlugin(init.engine, init.id)); | DssiPlugin* const plugin(new DssiPlugin(init.engine, init.id)); | ||||
| if (! plugin->init(init.filename, init.name, init.label)) | if (! plugin->init(init.filename, init.name, init.label)) | ||||
| @@ -2312,12 +2303,8 @@ CarlaPlugin* CarlaPlugin::newDSSI(const Initializer& init) | |||||
| } | } | ||||
| return plugin; | return plugin; | ||||
| #else | |||||
| init.engine->setLastError("DSSI support not available"); | |||||
| return nullptr; | |||||
| #endif | |||||
| } | } | ||||
| CARLA_BACKEND_END_NAMESPACE | |||||
| // ------------------------------------------------------------------------------------------------------------------- | // ------------------------------------------------------------------------------------------------------------------- | ||||
| CARLA_BACKEND_END_NAMESPACE | |||||
| @@ -18,7 +18,7 @@ | |||||
| #include "CarlaPluginInternal.hpp" | #include "CarlaPluginInternal.hpp" | ||||
| #include "CarlaEngine.hpp" | #include "CarlaEngine.hpp" | ||||
| #ifdef WANT_FLUIDSYNTH | |||||
| #ifdef HAVE_FLUIDSYNTH | |||||
| #include "CarlaMathUtils.hpp" | #include "CarlaMathUtils.hpp" | ||||
| @@ -1671,15 +1671,17 @@ private: | |||||
| CARLA_BACKEND_END_NAMESPACE | CARLA_BACKEND_END_NAMESPACE | ||||
| #endif // WANT_FLUIDSYNTH | |||||
| #endif // HAVE_FLUIDSYNTH | |||||
| CARLA_BACKEND_START_NAMESPACE | CARLA_BACKEND_START_NAMESPACE | ||||
| // ------------------------------------------------------------------------------------------------------------------- | |||||
| CarlaPlugin* CarlaPlugin::newFluidSynth(const Initializer& init, const bool use16Outs) | CarlaPlugin* CarlaPlugin::newFluidSynth(const Initializer& init, const bool use16Outs) | ||||
| { | { | ||||
| carla_debug("CarlaPlugin::newFluidSynth({%p, \"%s\", \"%s\", \"%s\", " P_INT64 "}, %s)", init.engine, init.filename, init.name, init.label, init.uniqueId, bool2str(use16Outs)); | carla_debug("CarlaPlugin::newFluidSynth({%p, \"%s\", \"%s\", \"%s\", " P_INT64 "}, %s)", init.engine, init.filename, init.name, init.label, init.uniqueId, bool2str(use16Outs)); | ||||
| #ifdef WANT_FLUIDSYNTH | |||||
| #ifdef HAVE_FLUIDSYNTH | |||||
| if (init.engine->getProccessMode() == ENGINE_PROCESS_MODE_CONTINUOUS_RACK && use16Outs) | if (init.engine->getProccessMode() == ENGINE_PROCESS_MODE_CONTINUOUS_RACK && use16Outs) | ||||
| { | { | ||||
| init.engine->setLastError("Carla's rack mode can only work with Stereo modules, please choose the 2-channel only SoundFont version"); | init.engine->setLastError("Carla's rack mode can only work with Stereo modules, please choose the 2-channel only SoundFont version"); | ||||
| @@ -1712,4 +1714,20 @@ CarlaPlugin* CarlaPlugin::newFluidSynth(const Initializer& init, const bool use1 | |||||
| #endif | #endif | ||||
| } | } | ||||
| CarlaPlugin* CarlaPlugin::newFileSF2(const Initializer& init, const bool use16Outs) | |||||
| { | |||||
| carla_debug("CarlaPlugin::newFileSF2({%p, \"%s\", \"%s\", \"%s\"}, %s)", init.engine, init.filename, init.name, init.label, bool2str(use16Outs)); | |||||
| #ifdef HAVE_FLUIDSYNTH | |||||
| return newFluidSynth(init, use16Outs); | |||||
| #else | |||||
| init.engine->setLastError("SF2 support not available"); | |||||
| return nullptr; | |||||
| // unused | |||||
| (void)use16Outs; | |||||
| #endif | |||||
| } | |||||
| // ------------------------------------------------------------------------------------------------------------------- | |||||
| CARLA_BACKEND_END_NAMESPACE | CARLA_BACKEND_END_NAMESPACE | ||||
| @@ -18,19 +18,11 @@ | |||||
| #include "CarlaPluginInternal.hpp" | #include "CarlaPluginInternal.hpp" | ||||
| #include "CarlaEngine.hpp" | #include "CarlaEngine.hpp" | ||||
| #ifdef WANT_LADSPA | |||||
| #include "CarlaLadspaUtils.hpp" | #include "CarlaLadspaUtils.hpp" | ||||
| #include "CarlaMathUtils.hpp" | #include "CarlaMathUtils.hpp" | ||||
| // ----------------------------------------------------- | |||||
| CARLA_BACKEND_START_NAMESPACE | CARLA_BACKEND_START_NAMESPACE | ||||
| #if 0 | |||||
| } | |||||
| #endif | |||||
| // ----------------------------------------------------- | // ----------------------------------------------------- | ||||
| class LadspaPlugin : public CarlaPlugin | class LadspaPlugin : public CarlaPlugin | ||||
| @@ -1715,19 +1707,12 @@ private: | |||||
| CARLA_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(LadspaPlugin) | CARLA_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(LadspaPlugin) | ||||
| }; | }; | ||||
| CARLA_BACKEND_END_NAMESPACE | |||||
| #endif // WANT_LADSPA | |||||
| // ------------------------------------------------------------------------------------------------------------------- | // ------------------------------------------------------------------------------------------------------------------- | ||||
| CARLA_BACKEND_START_NAMESPACE | |||||
| CarlaPlugin* CarlaPlugin::newLADSPA(const Initializer& init, const LADSPA_RDF_Descriptor* const rdfDescriptor) | CarlaPlugin* CarlaPlugin::newLADSPA(const Initializer& init, const LADSPA_RDF_Descriptor* const rdfDescriptor) | ||||
| { | { | ||||
| carla_debug("CarlaPlugin::newLADSPA({%p, \"%s\", \"%s\", \"%s\", " P_INT64 "}, %p)", init.engine, init.filename, init.name, init.label, init.uniqueId, rdfDescriptor); | carla_debug("CarlaPlugin::newLADSPA({%p, \"%s\", \"%s\", \"%s\", " P_INT64 "}, %p)", init.engine, init.filename, init.name, init.label, init.uniqueId, rdfDescriptor); | ||||
| #ifdef WANT_LADSPA | |||||
| LadspaPlugin* const plugin(new LadspaPlugin(init.engine, init.id)); | LadspaPlugin* const plugin(new LadspaPlugin(init.engine, init.id)); | ||||
| if (! plugin->init(init.filename, init.name, init.label, rdfDescriptor)) | if (! plugin->init(init.filename, init.name, init.label, rdfDescriptor)) | ||||
| @@ -1746,12 +1731,8 @@ CarlaPlugin* CarlaPlugin::newLADSPA(const Initializer& init, const LADSPA_RDF_De | |||||
| } | } | ||||
| return plugin; | return plugin; | ||||
| #else | |||||
| init.engine->setLastError("LADSPA support not available"); | |||||
| return nullptr; | |||||
| #endif | |||||
| } | } | ||||
| CARLA_BACKEND_END_NAMESPACE | |||||
| // ------------------------------------------------------------------------------------------------------------------- | // ------------------------------------------------------------------------------------------------------------------- | ||||
| CARLA_BACKEND_END_NAMESPACE | |||||
| @@ -24,7 +24,7 @@ | |||||
| #include "CarlaPluginInternal.hpp" | #include "CarlaPluginInternal.hpp" | ||||
| #include "CarlaEngine.hpp" | #include "CarlaEngine.hpp" | ||||
| #ifdef WANT_LINUXSAMPLER | |||||
| #ifdef HAVE_LINUXSAMPLER | |||||
| #include "CarlaBackendUtils.hpp" | #include "CarlaBackendUtils.hpp" | ||||
| #include "CarlaMathUtils.hpp" | #include "CarlaMathUtils.hpp" | ||||
| @@ -1327,15 +1327,17 @@ private: | |||||
| CARLA_BACKEND_END_NAMESPACE | CARLA_BACKEND_END_NAMESPACE | ||||
| #endif // WANT_LINUXSAMPLER | |||||
| #endif // HAVE_LINUXSAMPLER | |||||
| CARLA_BACKEND_START_NAMESPACE | CARLA_BACKEND_START_NAMESPACE | ||||
| // ------------------------------------------------------------------------------------------------------------------- | |||||
| CarlaPlugin* CarlaPlugin::newLinuxSampler(const Initializer& init, const char* const format, const bool use16Outs) | CarlaPlugin* CarlaPlugin::newLinuxSampler(const Initializer& init, const char* const format, const bool use16Outs) | ||||
| { | { | ||||
| carla_debug("LinuxSamplerPlugin::newLinuxSampler({%p, \"%s\", \"%s\", \"%s\", " P_INT64 "}, %s, %s)", init.engine, init.filename, init.name, init.label, init.uniqueId, format, bool2str(use16Outs)); | carla_debug("LinuxSamplerPlugin::newLinuxSampler({%p, \"%s\", \"%s\", \"%s\", " P_INT64 "}, %s, %s)", init.engine, init.filename, init.name, init.label, init.uniqueId, format, bool2str(use16Outs)); | ||||
| #ifdef WANT_LINUXSAMPLER | |||||
| #ifdef HAVE_LINUXSAMPLER | |||||
| if (init.engine->getProccessMode() == ENGINE_PROCESS_MODE_CONTINUOUS_RACK && use16Outs) | if (init.engine->getProccessMode() == ENGINE_PROCESS_MODE_CONTINUOUS_RACK && use16Outs) | ||||
| { | { | ||||
| init.engine->setLastError("Carla's rack mode can only work with Stereo modules, please choose the 2-channel only sample-library version"); | init.engine->setLastError("Carla's rack mode can only work with Stereo modules, please choose the 2-channel only sample-library version"); | ||||
| @@ -1372,4 +1374,31 @@ CarlaPlugin* CarlaPlugin::newLinuxSampler(const Initializer& init, const char* c | |||||
| #endif | #endif | ||||
| } | } | ||||
| CarlaPlugin* CarlaPlugin::newFileGIG(const Initializer& init, const bool use16Outs) | |||||
| { | |||||
| carla_debug("CarlaPlugin::newFileGIG({%p, \"%s\", \"%s\", \"%s\"}, %s)", init.engine, init.filename, init.name, init.label, bool2str(use16Outs)); | |||||
| #ifdef HAVE_LINUXSAMPLER | |||||
| return newLinuxSampler(init, "GIG", use16Outs); | |||||
| #else | |||||
| init.engine->setLastError("GIG support not available"); | |||||
| return nullptr; | |||||
| // unused | |||||
| (void)use16Outs; | |||||
| #endif | |||||
| } | |||||
| CarlaPlugin* CarlaPlugin::newFileSFZ(const Initializer& init) | |||||
| { | |||||
| carla_debug("CarlaPlugin::newFileSFZ({%p, \"%s\", \"%s\", \"%s\"})", init.engine, init.filename, init.name, init.label); | |||||
| #ifdef HAVE_LINUXSAMPLER | |||||
| return newLinuxSampler(init, "SFZ", false); | |||||
| #else | |||||
| init.engine->setLastError("SFZ support not available"); | |||||
| return nullptr; | |||||
| #endif | |||||
| } | |||||
| // ------------------------------------------------------------------------------------------------------------------- | |||||
| CARLA_BACKEND_END_NAMESPACE | CARLA_BACKEND_END_NAMESPACE | ||||
| @@ -22,8 +22,6 @@ | |||||
| #include "CarlaPluginInternal.hpp" | #include "CarlaPluginInternal.hpp" | ||||
| #include "CarlaEngine.hpp" | #include "CarlaEngine.hpp" | ||||
| #ifdef WANT_LV2 | |||||
| #include "CarlaLv2Utils.hpp" | #include "CarlaLv2Utils.hpp" | ||||
| #include "CarlaBase64Utils.hpp" | #include "CarlaBase64Utils.hpp" | ||||
| @@ -43,13 +41,9 @@ using juce::File; | |||||
| #define URI_CARLA_ATOM_WORKER "http://kxstudio.sf.net/ns/carla/atomWorker" | #define URI_CARLA_ATOM_WORKER "http://kxstudio.sf.net/ns/carla/atomWorker" | ||||
| #define URI_CARLA_FRONTEND_WIN_ID "http://kxstudio.sf.net/ns/carla/frontendWinId" | #define URI_CARLA_FRONTEND_WIN_ID "http://kxstudio.sf.net/ns/carla/frontendWinId" | ||||
| // ----------------------------------------------------- | |||||
| CARLA_BACKEND_START_NAMESPACE | CARLA_BACKEND_START_NAMESPACE | ||||
| #if 0 | |||||
| } | |||||
| #endif | |||||
| // ----------------------------------------------------- | |||||
| // Maximum default buffer size | // Maximum default buffer size | ||||
| const uint MAX_DEFAULT_BUFFER_SIZE = 8192; // 0x2000 | const uint MAX_DEFAULT_BUFFER_SIZE = 8192; // 0x2000 | ||||
| @@ -5820,19 +5814,12 @@ int CarlaEngineOsc::handleMsgLv2UridMap(CARLA_ENGINE_OSC_HANDLE_ARGS2) | |||||
| #undef lv2PluginPtr | #undef lv2PluginPtr | ||||
| CARLA_BACKEND_END_NAMESPACE | |||||
| #endif // WANT_LV2 | |||||
| // ------------------------------------------------------------------------------------------------------------------- | // ------------------------------------------------------------------------------------------------------------------- | ||||
| CARLA_BACKEND_START_NAMESPACE | |||||
| CarlaPlugin* CarlaPlugin::newLV2(const Initializer& init) | CarlaPlugin* CarlaPlugin::newLV2(const Initializer& init) | ||||
| { | { | ||||
| carla_debug("CarlaPlugin::newLV2({%p, \"%s\", \"%s\", " P_INT64 "})", init.engine, init.name, init.label, init.uniqueId); | carla_debug("CarlaPlugin::newLV2({%p, \"%s\", \"%s\", " P_INT64 "})", init.engine, init.name, init.label, init.uniqueId); | ||||
| #ifdef WANT_LV2 | |||||
| Lv2Plugin* const plugin(new Lv2Plugin(init.engine, init.id)); | Lv2Plugin* const plugin(new Lv2Plugin(init.engine, init.id)); | ||||
| if (! plugin->init(init.filename, init.name, init.label)) | if (! plugin->init(init.filename, init.name, init.label)) | ||||
| @@ -5851,12 +5838,8 @@ CarlaPlugin* CarlaPlugin::newLV2(const Initializer& init) | |||||
| } | } | ||||
| return plugin; | return plugin; | ||||
| #else | |||||
| init.engine->setLastError("LV2 support not available"); | |||||
| return nullptr; | |||||
| #endif | |||||
| } | } | ||||
| CARLA_BACKEND_END_NAMESPACE | |||||
| // ------------------------------------------------------------------------------------------------------------------- | // ------------------------------------------------------------------------------------------------------------------- | ||||
| CARLA_BACKEND_END_NAMESPACE | |||||
| @@ -18,8 +18,6 @@ | |||||
| #include "CarlaPluginInternal.hpp" | #include "CarlaPluginInternal.hpp" | ||||
| #include "CarlaEngine.hpp" | #include "CarlaEngine.hpp" | ||||
| #ifdef WANT_NATIVE | |||||
| #include "CarlaMathUtils.hpp" | #include "CarlaMathUtils.hpp" | ||||
| #include "CarlaNative.h" | #include "CarlaNative.h" | ||||
| @@ -41,9 +39,7 @@ void carla_register_native_plugin(const NativePluginDescriptor* desc) | |||||
| CARLA_BACKEND_START_NAMESPACE | CARLA_BACKEND_START_NAMESPACE | ||||
| #if 0 | |||||
| } | |||||
| #endif | |||||
| // ----------------------------------------------------- | |||||
| struct NativePluginMidiData { | struct NativePluginMidiData { | ||||
| uint32_t count; | uint32_t count; | ||||
| @@ -2436,15 +2432,8 @@ private: | |||||
| CARLA_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(NativePlugin) | CARLA_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(NativePlugin) | ||||
| }; | }; | ||||
| CARLA_BACKEND_END_NAMESPACE | |||||
| #endif // WANT_NATIVE | |||||
| // ----------------------------------------------------------------------- | // ----------------------------------------------------------------------- | ||||
| CARLA_BACKEND_START_NAMESPACE | |||||
| #ifdef WANT_NATIVE | |||||
| size_t CarlaPlugin::getNativePluginCount() noexcept | size_t CarlaPlugin::getNativePluginCount() noexcept | ||||
| { | { | ||||
| return NativePlugin::getPluginCount(); | return NativePlugin::getPluginCount(); | ||||
| @@ -2454,7 +2443,6 @@ const NativePluginDescriptor* CarlaPlugin::getNativePluginDescriptor(const size_ | |||||
| { | { | ||||
| return NativePlugin::getPluginDescriptor(index); | return NativePlugin::getPluginDescriptor(index); | ||||
| } | } | ||||
| #endif | |||||
| // ----------------------------------------------------------------------- | // ----------------------------------------------------------------------- | ||||
| @@ -2462,7 +2450,6 @@ CarlaPlugin* CarlaPlugin::newNative(const Initializer& init) | |||||
| { | { | ||||
| carla_debug("CarlaPlugin::newNative({%p, \"%s\", \"%s\", \"%s\", " P_INT64 "})", init.engine, init.filename, init.name, init.label, init.uniqueId); | carla_debug("CarlaPlugin::newNative({%p, \"%s\", \"%s\", \"%s\", " P_INT64 "})", init.engine, init.filename, init.name, init.label, init.uniqueId); | ||||
| #ifdef WANT_NATIVE | |||||
| NativePlugin* const plugin(new NativePlugin(init.engine, init.id)); | NativePlugin* const plugin(new NativePlugin(init.engine, init.id)); | ||||
| if (! plugin->init(init.name, init.label)) | if (! plugin->init(init.name, init.label)) | ||||
| @@ -2481,12 +2468,8 @@ CarlaPlugin* CarlaPlugin::newNative(const Initializer& init) | |||||
| } | } | ||||
| return plugin; | return plugin; | ||||
| #else | |||||
| init.engine->setLastError("Internal plugins support not available"); | |||||
| return nullptr; | |||||
| #endif | |||||
| } | } | ||||
| CARLA_BACKEND_END_NAMESPACE | |||||
| // ----------------------------------------------------------------------- | // ----------------------------------------------------------------------- | ||||
| CARLA_BACKEND_END_NAMESPACE | |||||
| @@ -21,11 +21,13 @@ | |||||
| CARLA_BACKEND_START_NAMESPACE | CARLA_BACKEND_START_NAMESPACE | ||||
| // ------------------------------------------------------------------------------------------------------------------- | |||||
| CarlaPlugin* CarlaPlugin::newVST3(const Initializer& init) | CarlaPlugin* CarlaPlugin::newVST3(const Initializer& init) | ||||
| { | { | ||||
| carla_debug("CarlaPlugin::newVST3({%p, \"%s\", \"%s\", " P_INT64 "})", init.engine, init.filename, init.name, init.uniqueId); | carla_debug("CarlaPlugin::newVST3({%p, \"%s\", \"%s\", " P_INT64 "})", init.engine, init.filename, init.name, init.uniqueId); | ||||
| #if defined(WANT_VST) && (defined(CARLA_OS_MAC) || defined(CARLA_OS_WIN)) | |||||
| #if defined(CARLA_OS_MAC) || defined(CARLA_OS_WIN) | |||||
| return newJuce(init, "VST3"); | return newJuce(init, "VST3"); | ||||
| #else | #else | ||||
| init.engine->setLastError("VST3 support not available"); | init.engine->setLastError("VST3 support not available"); | ||||
| @@ -33,4 +35,6 @@ CarlaPlugin* CarlaPlugin::newVST3(const Initializer& init) | |||||
| #endif | #endif | ||||
| } | } | ||||
| // ------------------------------------------------------------------------------------------------------------------- | |||||
| CARLA_BACKEND_END_NAMESPACE | CARLA_BACKEND_END_NAMESPACE | ||||
| @@ -20,11 +20,9 @@ | |||||
| #if defined(CARLA_OS_MAC) || defined(CARLA_OS_WIN) | #if defined(CARLA_OS_MAC) || defined(CARLA_OS_WIN) | ||||
| # define USE_JUCE_FOR_VST 1 | # define USE_JUCE_FOR_VST 1 | ||||
| #else | |||||
| # define USE_JUCE_FOR_VST 0 | |||||
| #endif | #endif | ||||
| #if defined(WANT_VST) && ! USE_JUCE_FOR_VST | |||||
| #ifndef USE_JUCE_FOR_VST | |||||
| #include "CarlaVstUtils.hpp" | #include "CarlaVstUtils.hpp" | ||||
| @@ -2528,7 +2526,7 @@ VstPlugin* VstPlugin::sLastVstPlugin = nullptr; | |||||
| CARLA_BACKEND_END_NAMESPACE | CARLA_BACKEND_END_NAMESPACE | ||||
| #endif // WANT_VST && ! USE_JUCE_FOR_VST | |||||
| #endif // ! USE_JUCE_FOR_VST | |||||
| // ------------------------------------------------------------------------------------------------------------------- | // ------------------------------------------------------------------------------------------------------------------- | ||||
| @@ -2538,10 +2536,9 @@ CarlaPlugin* CarlaPlugin::newVST(const Initializer& init) | |||||
| { | { | ||||
| carla_debug("CarlaPlugin::newVST({%p, \"%s\", \"%s\", " P_INT64 "})", init.engine, init.filename, init.name, init.uniqueId); | carla_debug("CarlaPlugin::newVST({%p, \"%s\", \"%s\", " P_INT64 "})", init.engine, init.filename, init.name, init.uniqueId); | ||||
| #ifdef WANT_VST | |||||
| # if USE_JUCE_FOR_VST | |||||
| #if USE_JUCE_FOR_VST | |||||
| return newJuce(init, "VST"); | return newJuce(init, "VST"); | ||||
| # else | |||||
| #else | |||||
| VstPlugin* const plugin(new VstPlugin(init.engine, init.id)); | VstPlugin* const plugin(new VstPlugin(init.engine, init.id)); | ||||
| if (! plugin->init(init.filename, init.name, init.uniqueId)) | if (! plugin->init(init.filename, init.name, init.uniqueId)) | ||||
| @@ -2560,13 +2557,9 @@ CarlaPlugin* CarlaPlugin::newVST(const Initializer& init) | |||||
| } | } | ||||
| return plugin; | return plugin; | ||||
| # endif | |||||
| #else | |||||
| init.engine->setLastError("VST support not available"); | |||||
| return nullptr; | |||||
| #endif | #endif | ||||
| } | } | ||||
| CARLA_BACKEND_END_NAMESPACE | |||||
| // ------------------------------------------------------------------------------------------------------------------- | // ------------------------------------------------------------------------------------------------------------------- | ||||
| CARLA_BACKEND_END_NAMESPACE | |||||
| @@ -122,7 +122,7 @@ void CarlaBridgeOsc::close() | |||||
| } | } | ||||
| fServerPath.clear(); | fServerPath.clear(); | ||||
| fControlData.free(); | |||||
| fControlData.clear(); | |||||
| CARLA_ASSERT(fName.isEmpty()); | CARLA_ASSERT(fName.isEmpty()); | ||||
| CARLA_ASSERT(fServerPath.isEmpty()); | CARLA_ASSERT(fServerPath.isEmpty()); | ||||
| @@ -25,15 +25,9 @@ LINK_PLUGIN_FLAGS += $(JUCE_AUDIO_BASICS_LIBS) | |||||
| LINK_PLUGIN_FLAGS += $(JUCE_AUDIO_FORMATS_LIBS) | LINK_PLUGIN_FLAGS += $(JUCE_AUDIO_FORMATS_LIBS) | ||||
| LINK_PLUGIN_FLAGS += $(JUCE_CORE_LIBS) | LINK_PLUGIN_FLAGS += $(JUCE_CORE_LIBS) | ||||
| ifeq ($(CARLA_PLUGIN_SUPPORT),true) | |||||
| BUILD_PLUGIN_FLAGS += -DWANT_LADSPA -DWANT_DSSI -DWANT_LV2 -DWANT_VST -DWANT_VST3 | |||||
| ifeq ($(MACOS),true) | |||||
| BUILD_CXX_FLAGS += -DWANT_AU | |||||
| endif | |||||
| ifeq ($(CARLA_VESTIGE_HEADER),true) | ifeq ($(CARLA_VESTIGE_HEADER),true) | ||||
| BUILD_PLUGIN_FLAGS += -DVESTIGE_HEADER | BUILD_PLUGIN_FLAGS += -DVESTIGE_HEADER | ||||
| endif | endif | ||||
| endif | |||||
| ifeq ($(MACOS_OR_WIN32),true) | ifeq ($(MACOS_OR_WIN32),true) | ||||
| LINK_PLUGIN_FLAGS += $(JUCE_AUDIO_PROCESSORS_LIBS) | LINK_PLUGIN_FLAGS += $(JUCE_AUDIO_PROCESSORS_LIBS) | ||||
| @@ -75,17 +69,15 @@ WIN_LINK_FLAGS = $(LINK_PLUGIN_FLAGS) -L../modules | |||||
| # -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
| # Plugin bridges (Native) | # Plugin bridges (Native) | ||||
| NATIVE_BUILD_FLAGS = $(POSIX_BUILD_FLAGS) -DWANT_NATIVE | |||||
| NATIVE_BUILD_FLAGS = $(POSIX_BUILD_FLAGS) | |||||
| NATIVE_LINK_FLAGS = $(POSIX_LINK_FLAGS) | NATIVE_LINK_FLAGS = $(POSIX_LINK_FLAGS) | ||||
| ifeq ($(HAVE_FLUIDSYNTH),true) | ifeq ($(HAVE_FLUIDSYNTH),true) | ||||
| NATIVE_BUILD_FLAGS += -DWANT_FLUIDSYNTH | |||||
| NATIVE_BUILD_FLAGS += $(FLUIDSYNTH_FLAGS) | NATIVE_BUILD_FLAGS += $(FLUIDSYNTH_FLAGS) | ||||
| NATIVE_LINK_FLAGS += $(FLUIDSYNTH_LIBS) | NATIVE_LINK_FLAGS += $(FLUIDSYNTH_LIBS) | ||||
| endif | endif | ||||
| ifeq ($(HAVE_LINUXSAMPLER),true) | ifeq ($(HAVE_LINUXSAMPLER),true) | ||||
| NATIVE_BUILD_FLAGS += -DWANT_LINUXSAMPLER | |||||
| NATIVE_BUILD_FLAGS += $(LINUXSAMPLER_FLAGS) | NATIVE_BUILD_FLAGS += $(LINUXSAMPLER_FLAGS) | ||||
| NATIVE_LINK_FLAGS += $(LINUXSAMPLER_LIBS) | NATIVE_LINK_FLAGS += $(LINUXSAMPLER_LIBS) | ||||
| endif | endif | ||||
| @@ -106,8 +98,6 @@ TARGETS = native | |||||
| # -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
| # UI bridges | # UI bridges | ||||
| ifeq ($(CARLA_PLUGIN_SUPPORT),true) | |||||
| BUILD_UI_FLAGS = $(BUILD_CXX_FLAGS) -DBUILD_BRIDGE_UI | BUILD_UI_FLAGS = $(BUILD_CXX_FLAGS) -DBUILD_BRIDGE_UI | ||||
| LINK_UI_FLAGS = $(LINK_FLAGS) | LINK_UI_FLAGS = $(LINK_FLAGS) | ||||
| @@ -192,8 +182,6 @@ ifeq ($(WIN32),true) | |||||
| # TARGETS += ui_vst-hwnd | # TARGETS += ui_vst-hwnd | ||||
| endif | endif | ||||
| endif # CARLA_PLUGIN_SUPPORT | |||||
| # -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
| all: $(TARGETS) | all: $(TARGETS) | ||||
| @@ -427,6 +415,7 @@ LIBS_NATIVE = \ | |||||
| ../modules/juce_audio_basics.a \ | ../modules/juce_audio_basics.a \ | ||||
| ../modules/juce_audio_formats.a \ | ../modules/juce_audio_formats.a \ | ||||
| ../modules/juce_core.a \ | ../modules/juce_core.a \ | ||||
| ../modules/lilv.a \ | |||||
| ../modules/rtmempool.a | ../modules/rtmempool.a | ||||
| ifeq ($(MACOS_OR_WIN32),true) | ifeq ($(MACOS_OR_WIN32),true) | ||||
| @@ -439,11 +428,6 @@ LIBS_NATIVE += \ | |||||
| ../modules/juce_gui_extra.a | ../modules/juce_gui_extra.a | ||||
| endif | endif | ||||
| ifeq ($(CARLA_PLUGIN_SUPPORT),true) | |||||
| LIBS_NATIVE += \ | |||||
| ../modules/lilv.a | |||||
| endif | |||||
| ../../bin/carla-bridge-native: $(OBJS_NATIVE) $(LIBS_NATIVE) | ../../bin/carla-bridge-native: $(OBJS_NATIVE) $(LIBS_NATIVE) | ||||
| $(CXX) $(OBJS_NATIVE) -Wl,--start-group $(LIBS_NATIVE) -Wl,--end-group $(NATIVE_LINK_FLAGS) -o $@ | $(CXX) $(OBJS_NATIVE) -Wl,--start-group $(LIBS_NATIVE) -Wl,--end-group $(NATIVE_LINK_FLAGS) -o $@ | ||||
| @@ -20,39 +20,28 @@ endif | |||||
| # -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
| ifeq ($(CARLA_PLUGIN_SUPPORT),true) | |||||
| BUILD_CXX_FLAGS += -DWANT_LADSPA -DWANT_DSSI -DWANT_LV2 -DWANT_VST | |||||
| ifeq ($(MACOS_OR_WIN32),true) | |||||
| BUILD_CXX_FLAGS += -DWANT_VST3 | |||||
| endif | |||||
| ifeq ($(MACOS),true) | |||||
| BUILD_CXX_FLAGS += -DWANT_AU | |||||
| endif | |||||
| ifeq ($(CARLA_VESTIGE_HEADER),true) | ifeq ($(CARLA_VESTIGE_HEADER),true) | ||||
| BUILD_CXX_FLAGS += -DVESTIGE_HEADER | BUILD_CXX_FLAGS += -DVESTIGE_HEADER | ||||
| endif | endif | ||||
| endif | |||||
| # -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
| ifeq ($(HAVE_FLUIDSYNTH),true) | ifeq ($(HAVE_FLUIDSYNTH),true) | ||||
| NATIVE_FLAGS += -DWANT_FLUIDSYNTH $(FLUIDSYNTH_FLAGS) $(FLUIDSYNTH_LIBS) | |||||
| NATIVE_FLAGS += $(FLUIDSYNTH_FLAGS) $(FLUIDSYNTH_LIBS) | |||||
| endif | endif | ||||
| ifeq ($(HAVE_LINUXSAMPLER),true) | ifeq ($(HAVE_LINUXSAMPLER),true) | ||||
| NATIVE_FLAGS += -DWANT_LINUXSAMPLER $(LINUXSAMPLER_FLAGS) $(LINUXSAMPLER_LIBS) | |||||
| NATIVE_FLAGS += $(LINUXSAMPLER_FLAGS) $(LINUXSAMPLER_LIBS) | |||||
| endif | endif | ||||
| # -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
| ifeq ($(CARLA_PLUGIN_SUPPORT),true) | |||||
| LIBS += ../modules/lilv.a | |||||
| LIBS_posix32 += ../modules/lilv.posix32.a | |||||
| LIBS_posix64 += ../modules/lilv.posix64.a | |||||
| LIBS_win32 += ../modules/lilv.win32.a | |||||
| LIBS_win64 += ../modules/lilv.win64.a | |||||
| LINK_FLAGS += $(LILV_LIBS) | |||||
| endif | |||||
| LIBS = ../modules/lilv.a | |||||
| LIBS_posix32 = ../modules/lilv.posix32.a | |||||
| LIBS_posix64 = ../modules/lilv.posix64.a | |||||
| LIBS_win32 = ../modules/lilv.win32.a | |||||
| LIBS_win64 = ../modules/lilv.win64.a | |||||
| LINK_FLAGS = $(LILV_LIBS) | |||||
| LIBS += ../modules/juce_audio_basics.a | LIBS += ../modules/juce_audio_basics.a | ||||
| LIBS_posix32 += ../modules/juce_audio_basics.posix32.a | LIBS_posix32 += ../modules/juce_audio_basics.posix32.a | ||||
| @@ -21,26 +21,20 @@ | |||||
| #include "CarlaMIDI.h" | #include "CarlaMIDI.h" | ||||
| #if defined(CARLA_OS_MAC) || defined(CARLA_OS_WIN) | #if defined(CARLA_OS_MAC) || defined(CARLA_OS_WIN) | ||||
| # define WANT_JUCE_PROCESSORS | |||||
| # define USE_JUCE_PROCESSORS | |||||
| # include "juce_audio_processors.h" | # include "juce_audio_processors.h" | ||||
| #endif | #endif | ||||
| #ifdef WANT_LADSPA | |||||
| # include "CarlaLadspaUtils.hpp" | |||||
| #endif | |||||
| #ifdef WANT_DSSI | |||||
| # include "CarlaDssiUtils.cpp" | |||||
| #endif | |||||
| #ifdef WANT_LV2 | |||||
| # include "CarlaLv2Utils.hpp" | |||||
| #endif | |||||
| #ifdef WANT_VST | |||||
| # include "CarlaVstUtils.hpp" | |||||
| #endif | |||||
| #ifdef WANT_FLUIDSYNTH | |||||
| #include "CarlaLadspaUtils.hpp" | |||||
| #include "CarlaDssiUtils.cpp" | |||||
| #include "CarlaLv2Utils.hpp" | |||||
| #include "CarlaVstUtils.hpp" | |||||
| #ifdef HAVE_FLUIDSYNTH | |||||
| # include <fluidsynth.h> | # include <fluidsynth.h> | ||||
| #endif | #endif | ||||
| #ifdef WANT_LINUXSAMPLER | |||||
| #ifdef HAVE_LINUXSAMPLER | |||||
| # include "linuxsampler/EngineFactory.h" | # include "linuxsampler/EngineFactory.h" | ||||
| #endif | #endif | ||||
| @@ -75,7 +69,7 @@ static void print_lib_error(const char* const filename) | |||||
| DISCOVERY_OUT("error", error); | DISCOVERY_OUT("error", error); | ||||
| } | } | ||||
| #if defined(WANT_VST) && ! defined(CARLA_OS_MAC) | |||||
| #ifndef CARLA_OS_MAC | |||||
| // -------------------------------------------------------------------------- | // -------------------------------------------------------------------------- | ||||
| // VST stuff | // VST stuff | ||||
| @@ -267,9 +261,9 @@ static intptr_t VSTCALLBACK vstHostCallback(AEffect* const effect, const int32_t | |||||
| return ret; | return ret; | ||||
| } | } | ||||
| #endif | |||||
| #endif // ! CARLA_OS_MAC | |||||
| #ifdef WANT_LINUXSAMPLER | |||||
| #ifdef HAVE_LINUXSAMPLER | |||||
| // -------------------------------------------------------------------------- | // -------------------------------------------------------------------------- | ||||
| // LinuxSampler stuff | // LinuxSampler stuff | ||||
| @@ -399,13 +393,12 @@ private: | |||||
| CARLA_PREVENT_HEAP_ALLOCATION | CARLA_PREVENT_HEAP_ALLOCATION | ||||
| CARLA_DECLARE_NON_COPY_CLASS(LinuxSamplerScopedEngine) | CARLA_DECLARE_NON_COPY_CLASS(LinuxSamplerScopedEngine) | ||||
| }; | }; | ||||
| #endif | |||||
| #endif // HAVE_LINUXSAMPLER | |||||
| // ------------------------------ Plugin Checks ----------------------------- | // ------------------------------ Plugin Checks ----------------------------- | ||||
| static void do_ladspa_check(void*& libHandle, const char* const filename, const bool init) | static void do_ladspa_check(void*& libHandle, const char* const filename, const bool init) | ||||
| { | { | ||||
| #ifdef WANT_LADSPA | |||||
| LADSPA_Descriptor_Function descFn = (LADSPA_Descriptor_Function)lib_symbol(libHandle, "ladspa_descriptor"); | LADSPA_Descriptor_Function descFn = (LADSPA_Descriptor_Function)lib_symbol(libHandle, "ladspa_descriptor"); | ||||
| if (descFn == nullptr) | if (descFn == nullptr) | ||||
| @@ -635,20 +628,10 @@ static void do_ladspa_check(void*& libHandle, const char* const filename, const | |||||
| DISCOVERY_OUT("parameters.outs", parametersOuts); | DISCOVERY_OUT("parameters.outs", parametersOuts); | ||||
| DISCOVERY_OUT("end", "------------"); | DISCOVERY_OUT("end", "------------"); | ||||
| } | } | ||||
| #else | |||||
| DISCOVERY_OUT("error", "LADSPA support not available"); | |||||
| return; | |||||
| // unused | |||||
| (void)libHandle; | |||||
| (void)filename; | |||||
| (void)init; | |||||
| #endif | |||||
| } | } | ||||
| static void do_dssi_check(void*& libHandle, const char* const filename, const bool init) | static void do_dssi_check(void*& libHandle, const char* const filename, const bool init) | ||||
| { | { | ||||
| #ifdef WANT_DSSI | |||||
| DSSI_Descriptor_Function descFn = (DSSI_Descriptor_Function)lib_symbol(libHandle, "dssi_descriptor"); | DSSI_Descriptor_Function descFn = (DSSI_Descriptor_Function)lib_symbol(libHandle, "dssi_descriptor"); | ||||
| if (descFn == nullptr) | if (descFn == nullptr) | ||||
| @@ -946,20 +929,10 @@ static void do_dssi_check(void*& libHandle, const char* const filename, const bo | |||||
| DISCOVERY_OUT("parameters.outs", parametersOuts); | DISCOVERY_OUT("parameters.outs", parametersOuts); | ||||
| DISCOVERY_OUT("end", "------------"); | DISCOVERY_OUT("end", "------------"); | ||||
| } | } | ||||
| #else | |||||
| DISCOVERY_OUT("error", "DSSI support not available"); | |||||
| return; | |||||
| // unused | |||||
| (void)libHandle; | |||||
| (void)filename; | |||||
| (void)init; | |||||
| #endif | |||||
| } | } | ||||
| static void do_lv2_check(const char* const bundle, const bool init) | static void do_lv2_check(const char* const bundle, const bool init) | ||||
| { | { | ||||
| #ifdef WANT_LV2 | |||||
| Lv2WorldClass& lv2World(Lv2WorldClass::getInstance()); | Lv2WorldClass& lv2World(Lv2WorldClass::getInstance()); | ||||
| // Convert bundle filename to URI | // Convert bundle filename to URI | ||||
| @@ -1161,20 +1134,11 @@ static void do_lv2_check(const char* const bundle, const bool init) | |||||
| delete rdfDescriptor; | delete rdfDescriptor; | ||||
| } | } | ||||
| #else | |||||
| DISCOVERY_OUT("error", "LV2 support not available"); | |||||
| return; | |||||
| // unused | |||||
| (void)bundle; | |||||
| (void)init; | |||||
| #endif | |||||
| } | } | ||||
| #ifndef CARLA_OS_MAC | #ifndef CARLA_OS_MAC | ||||
| static void do_vst_check(void*& libHandle, const bool init) | static void do_vst_check(void*& libHandle, const bool init) | ||||
| { | { | ||||
| # ifdef WANT_VST | |||||
| VST_Function vstFn = (VST_Function)lib_symbol(libHandle, "VSTPluginMain"); | VST_Function vstFn = (VST_Function)lib_symbol(libHandle, "VSTPluginMain"); | ||||
| if (vstFn == nullptr) | if (vstFn == nullptr) | ||||
| @@ -1402,19 +1366,10 @@ static void do_vst_check(void*& libHandle, const bool init) | |||||
| effect->dispatcher(effect, DECLARE_VST_DEPRECATED(effIdle), 0, 0, nullptr, 0.0f); | effect->dispatcher(effect, DECLARE_VST_DEPRECATED(effIdle), 0, 0, nullptr, 0.0f); | ||||
| effect->dispatcher(effect, effClose, 0, 0, nullptr, 0.0f); | effect->dispatcher(effect, effClose, 0, 0, nullptr, 0.0f); | ||||
| #else | |||||
| DISCOVERY_OUT("error", "VST support not available"); | |||||
| return; | |||||
| // unused | |||||
| (void)libHandle; | |||||
| (void)init; | |||||
| #endif | |||||
| } | } | ||||
| #endif // ! CARLA_OS_MAC | #endif // ! CARLA_OS_MAC | ||||
| #ifdef WANT_JUCE_PROCESSORS | |||||
| #ifdef USE_JUCE_PROCESSORS | |||||
| static void do_juce_check(const char* const filename, const char* const stype, const bool init) | static void do_juce_check(const char* const filename, const char* const stype, const bool init) | ||||
| { | { | ||||
| using namespace juce; | using namespace juce; | ||||
| @@ -1424,17 +1379,9 @@ static void do_juce_check(const char* const filename, const char* const stype, c | |||||
| if (stype == nullptr) | if (stype == nullptr) | ||||
| return; | return; | ||||
| else if (std::strcmp(stype, "LADSPA") == 0) | |||||
| { | |||||
| #if defined(WANT_LADSPA) && JUCE_PLUGINHOST_LADSPA && defined(JUCE_LINUX) | |||||
| pluginFormat = new LADSPAPluginFormat(); | |||||
| #else | |||||
| DISCOVERY_OUT("error", "LADSPA support not available"); | |||||
| #endif | |||||
| } | |||||
| else if (std::strcmp(stype, "VST") == 0) | else if (std::strcmp(stype, "VST") == 0) | ||||
| { | { | ||||
| #if defined(WANT_VST) && JUCE_PLUGINHOST_VST | |||||
| #if JUCE_PLUGINHOST_VST | |||||
| pluginFormat = new VSTPluginFormat(); | pluginFormat = new VSTPluginFormat(); | ||||
| #else | #else | ||||
| DISCOVERY_OUT("error", "VST support not available"); | DISCOVERY_OUT("error", "VST support not available"); | ||||
| @@ -1442,7 +1389,7 @@ static void do_juce_check(const char* const filename, const char* const stype, c | |||||
| } | } | ||||
| else if (std::strcmp(stype, "VST3") == 0) | else if (std::strcmp(stype, "VST3") == 0) | ||||
| { | { | ||||
| #if defined(WANT_VST3) && JUCE_PLUGINHOST_VST3 | |||||
| #if JUCE_PLUGINHOST_VST3 | |||||
| pluginFormat = new VST3PluginFormat(); | pluginFormat = new VST3PluginFormat(); | ||||
| #else | #else | ||||
| DISCOVERY_OUT("error", "VST3 support not available"); | DISCOVERY_OUT("error", "VST3 support not available"); | ||||
| @@ -1450,7 +1397,7 @@ static void do_juce_check(const char* const filename, const char* const stype, c | |||||
| } | } | ||||
| else if (std::strcmp(stype, "AU") == 0) | else if (std::strcmp(stype, "AU") == 0) | ||||
| { | { | ||||
| #if defined(WANT_AU) && JUCE_PLUGINHOST_AU && defined(JUCE_MAC) | |||||
| #if JUCE_PLUGINHOST_AU | |||||
| pluginFormat = new AudioUnitPluginFormat(); | pluginFormat = new AudioUnitPluginFormat(); | ||||
| #else | #else | ||||
| DISCOVERY_OUT("error", "AU support not available"); | DISCOVERY_OUT("error", "AU support not available"); | ||||
| @@ -1520,7 +1467,7 @@ static void do_juce_check(const char* const filename, const char* const stype, c | |||||
| static void do_fluidsynth_check(const char* const filename, const bool init) | static void do_fluidsynth_check(const char* const filename, const bool init) | ||||
| { | { | ||||
| #ifdef WANT_FLUIDSYNTH | |||||
| #ifdef HAVE_FLUIDSYNTH | |||||
| if (! fluid_is_soundfont(filename)) | if (! fluid_is_soundfont(filename)) | ||||
| { | { | ||||
| DISCOVERY_OUT("error", "Not a SF2 file"); | DISCOVERY_OUT("error", "Not a SF2 file"); | ||||
| @@ -1593,7 +1540,7 @@ static void do_fluidsynth_check(const char* const filename, const bool init) | |||||
| DISCOVERY_OUT("parameters.ins", 13); // defined in Carla | DISCOVERY_OUT("parameters.ins", 13); // defined in Carla | ||||
| DISCOVERY_OUT("parameters.outs", 1); | DISCOVERY_OUT("parameters.outs", 1); | ||||
| DISCOVERY_OUT("end", "------------"); | DISCOVERY_OUT("end", "------------"); | ||||
| #else | |||||
| #else // HAVE_FLUIDSYNTH | |||||
| DISCOVERY_OUT("error", "SF2 support not available"); | DISCOVERY_OUT("error", "SF2 support not available"); | ||||
| return; | return; | ||||
| @@ -1605,7 +1552,7 @@ static void do_fluidsynth_check(const char* const filename, const bool init) | |||||
| static void do_linuxsampler_check(const char* const filename, const char* const stype, const bool init) | static void do_linuxsampler_check(const char* const filename, const char* const stype, const bool init) | ||||
| { | { | ||||
| #ifdef WANT_LINUXSAMPLER | |||||
| #ifdef HAVE_LINUXSAMPLER | |||||
| const File file(filename); | const File file(filename); | ||||
| if (! file.existsAsFile()) | if (! file.existsAsFile()) | ||||
| @@ -1618,7 +1565,7 @@ static void do_linuxsampler_check(const char* const filename, const char* const | |||||
| const LinuxSamplerScopedEngine engine(filename, stype); | const LinuxSamplerScopedEngine engine(filename, stype); | ||||
| else | else | ||||
| LinuxSamplerScopedEngine::outputInfo(nullptr, 0, file.getFileNameWithoutExtension().toRawUTF8()); | LinuxSamplerScopedEngine::outputInfo(nullptr, 0, file.getFileNameWithoutExtension().toRawUTF8()); | ||||
| #else | |||||
| #else // HAVE_LINUXSAMPLER | |||||
| DISCOVERY_OUT("error", stype << " support not available"); | DISCOVERY_OUT("error", stype << " support not available"); | ||||
| return; | return; | ||||
| @@ -1725,14 +1672,14 @@ int main(int argc, char* argv[]) | |||||
| #endif | #endif | ||||
| break; | break; | ||||
| case PLUGIN_VST3: | case PLUGIN_VST3: | ||||
| #ifdef WANT_JUCE_PROCESSORS | |||||
| #ifdef USE_JUCE_PROCESSORS | |||||
| do_juce_check(filename, "VST3", doInit); | do_juce_check(filename, "VST3", doInit); | ||||
| #else | #else | ||||
| DISCOVERY_OUT("error", "VST3 support not available"); | DISCOVERY_OUT("error", "VST3 support not available"); | ||||
| #endif | #endif | ||||
| break; | break; | ||||
| case PLUGIN_AU: | case PLUGIN_AU: | ||||
| #ifdef WANT_JUCE_PROCESSORS | |||||
| #ifdef USE_JUCE_PROCESSORS | |||||
| do_juce_check(filename, "AU", doInit); | do_juce_check(filename, "AU", doInit); | ||||
| #else | #else | ||||
| DISCOVERY_OUT("error", "AU support not available"); | DISCOVERY_OUT("error", "AU support not available"); | ||||
| @@ -10,10 +10,6 @@ include ../../Makefile.mk | |||||
| BUILD_C_FLAGS += $(RTMEMPOOL_FLAGS) -I. -I../../includes | BUILD_C_FLAGS += $(RTMEMPOOL_FLAGS) -I. -I../../includes | ||||
| ifeq ($(CARLA_PLUGIN_SUPPORT),true) | |||||
| BUILD_C_FLAGS += -DWANT_LV2 | |||||
| endif | |||||
| # -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
| OBJS = rtmempool.c.o | OBJS = rtmempool.c.o | ||||
| @@ -1,7 +1,7 @@ | |||||
| /* | /* | ||||
| * RealTime Memory Pool, heavily based on work by Nedko Arnaudov | * RealTime Memory Pool, heavily based on work by Nedko Arnaudov | ||||
| * Copyright (C) 2006-2009 Nedko Arnaudov <nedko@arnaudov.name> | * Copyright (C) 2006-2009 Nedko Arnaudov <nedko@arnaudov.name> | ||||
| * Copyright (C) 2013 Filipe Coelho <falktx@falktx.com> | |||||
| * Copyright (C) 2013-2014 Filipe Coelho <falktx@falktx.com> | |||||
| * | * | ||||
| * This program is free software; you can redistribute it and/or | * This program is free software; you can redistribute it and/or | ||||
| * modify it under the terms of the GNU General Public License as | * modify it under the terms of the GNU General Public License as | ||||
| @@ -16,10 +16,9 @@ | |||||
| * For a full copy of the GNU General Public License see the GPL.txt file | * For a full copy of the GNU General Public License see the GPL.txt file | ||||
| */ | */ | ||||
| #define __THROW | |||||
| #include "rtmempool.h" | |||||
| #include "list.h" | #include "list.h" | ||||
| #include "rtmempool.h" | |||||
| #include "rtmempool-lv2.h" | |||||
| #include <assert.h> | #include <assert.h> | ||||
| #include <pthread.h> | #include <pthread.h> | ||||
| @@ -374,9 +373,6 @@ void rtsafe_memory_pool_deallocate(RtMemPool_Handle handle, void* memoryPtr) | |||||
| } | } | ||||
| } | } | ||||
| #ifdef WANT_LV2 | |||||
| # include "rtmempool-lv2.h" | |||||
| void lv2_rtmempool_init(LV2_RtMemPool_Pool* poolPtr) | void lv2_rtmempool_init(LV2_RtMemPool_Pool* poolPtr) | ||||
| { | { | ||||
| poolPtr->create = rtsafe_memory_pool_create; | poolPtr->create = rtsafe_memory_pool_create; | ||||
| @@ -394,4 +390,3 @@ void lv2_rtmempool_init_deprecated(LV2_RtMemPool_Pool_Deprecated* poolPtr) | |||||
| poolPtr->allocate_sleepy = rtsafe_memory_pool_allocate_sleepy; | poolPtr->allocate_sleepy = rtsafe_memory_pool_allocate_sleepy; | ||||
| poolPtr->deallocate = rtsafe_memory_pool_deallocate; | poolPtr->deallocate = rtsafe_memory_pool_deallocate; | ||||
| } | } | ||||
| #endif | |||||
| @@ -13,24 +13,24 @@ BUILD_CXX_FLAGS += -I../backend -I../includes -I../utils -isystem ../modules | |||||
| BUILD_CXX_FLAGS += $(NATIVE_PLUGINS_FLAGS) | BUILD_CXX_FLAGS += $(NATIVE_PLUGINS_FLAGS) | ||||
| # -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
| # Common | |||||
| # Link flags | |||||
| LINK_FLAGS += $(JACKBRIDGE_LIBS) | |||||
| LINK_FLAGS += $(JUCE_AUDIO_BASICS_LIBS) | LINK_FLAGS += $(JUCE_AUDIO_BASICS_LIBS) | ||||
| LINK_FLAGS += $(JUCE_AUDIO_FORMATS_LIBS) | LINK_FLAGS += $(JUCE_AUDIO_FORMATS_LIBS) | ||||
| LINK_FLAGS += $(JUCE_CORE_LIBS) | LINK_FLAGS += $(JUCE_CORE_LIBS) | ||||
| LINK_FLAGS += $(LIBLO_LIBS) | LINK_FLAGS += $(LIBLO_LIBS) | ||||
| LINK_FLAGS += $(LILV_LIBS) | |||||
| LINK_FLAGS += $(NATIVE_PLUGINS_LIBS) | |||||
| LINK_FLAGS += $(RTMEMPOOL_LIBS) | LINK_FLAGS += $(RTMEMPOOL_LIBS) | ||||
| # -------------------------------------------------------------- | |||||
| # Engine | |||||
| LINK_FLAGS += $(JACKBRIDGE_LIBS) | |||||
| # -------------------------------------------------------------- | |||||
| # Plugin | |||||
| ifeq ($(CARLA_PLUGIN_SUPPORT),true) | |||||
| LINK_FLAGS += $(LILV_LIBS) | |||||
| ifeq ($(MACOS_OR_WIN32),true) | |||||
| LINK_FLAGS += $(JUCE_AUDIO_PROCESSORS_LIBS) | |||||
| LINK_FLAGS += $(JUCE_DATA_STRUCTURES_LIBS) | |||||
| LINK_FLAGS += $(JUCE_EVENTS_LIBS) | |||||
| LINK_FLAGS += $(JUCE_GRAPHICS_LIBS) | |||||
| LINK_FLAGS += $(JUCE_GUI_BASICS_LIBS) | |||||
| LINK_FLAGS += $(JUCE_GUI_EXTRA_LIBS) | |||||
| endif | endif | ||||
| ifeq ($(HAVE_FLUIDSYNTH),true) | ifeq ($(HAVE_FLUIDSYNTH),true) | ||||
| @@ -41,18 +41,6 @@ ifeq ($(HAVE_LINUXSAMPLER),true) | |||||
| LINK_FLAGS += $(LINUXSAMPLER_LIBS) | LINK_FLAGS += $(LINUXSAMPLER_LIBS) | ||||
| endif | endif | ||||
| # -------------------------------------------------------------- | |||||
| # Coomon | |||||
| ifeq ($(MACOS_OR_WIN32),true) | |||||
| LINK_FLAGS += $(JUCE_AUDIO_PROCESSORS_LIBS) | |||||
| LINK_FLAGS += $(JUCE_DATA_STRUCTURES_LIBS) | |||||
| LINK_FLAGS += $(JUCE_EVENTS_LIBS) | |||||
| LINK_FLAGS += $(JUCE_GRAPHICS_LIBS) | |||||
| LINK_FLAGS += $(JUCE_GUI_BASICS_LIBS) | |||||
| LINK_FLAGS += $(JUCE_GUI_EXTRA_LIBS) | |||||
| endif | |||||
| ifeq ($(HAVE_X11),true) | ifeq ($(HAVE_X11),true) | ||||
| LINK_FLAGS += $(X11_LIBS) | LINK_FLAGS += $(X11_LIBS) | ||||
| endif | endif | ||||
| @@ -60,8 +48,6 @@ endif | |||||
| # -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
| # Native | # Native | ||||
| LINK_FLAGS += $(NATIVE_PLUGINS_LIBS) | |||||
| # -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
| # Libs | # Libs | ||||
| @@ -73,6 +59,7 @@ LIBS += ../modules/jackbridge.a | |||||
| LIBS += ../modules/juce_audio_basics.a | LIBS += ../modules/juce_audio_basics.a | ||||
| LIBS += ../modules/juce_audio_formats.a | LIBS += ../modules/juce_audio_formats.a | ||||
| LIBS += ../modules/juce_core.a | LIBS += ../modules/juce_core.a | ||||
| LIBS += ../modules/lilv.a | |||||
| LIBS += ../modules/rtmempool.a | LIBS += ../modules/rtmempool.a | ||||
| ifeq ($(MACOS_OR_WIN32),true) | ifeq ($(MACOS_OR_WIN32),true) | ||||
| @@ -84,10 +71,6 @@ LIBS += ../modules/juce_gui_basics.a | |||||
| LIBS += ../modules/juce_gui_extra.a | LIBS += ../modules/juce_gui_extra.a | ||||
| endif | endif | ||||
| ifeq ($(CARLA_PLUGIN_SUPPORT),true) | |||||
| LIBS += ../modules/lilv.a | |||||
| endif | |||||
| # -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
| TARGETS = \ | TARGETS = \ | ||||
| @@ -285,7 +285,6 @@ void osc_send_bridge_error(const CarlaOscData& oscData, const char* const error) | |||||
| } | } | ||||
| #endif | #endif | ||||
| #if defined(BRIDGE_LV2) || defined(WANT_LV2) | |||||
| static inline | static inline | ||||
| void osc_send_lv2_atom_transfer(const CarlaOscData& oscData, const uint32_t portIndex, const char* const atomBuf) noexcept | void osc_send_lv2_atom_transfer(const CarlaOscData& oscData, const uint32_t portIndex, const char* const atomBuf) noexcept | ||||
| { | { | ||||
| @@ -314,7 +313,6 @@ void osc_send_lv2_urid_map(const CarlaOscData& oscData, const uint32_t urid, con | |||||
| std::strcat(targetPath, "/lv2_urid_map"); | std::strcat(targetPath, "/lv2_urid_map"); | ||||
| try_lo_send(oscData.target, targetPath, "is", static_cast<int32_t>(urid), uri); | try_lo_send(oscData.target, targetPath, "is", static_cast<int32_t>(urid), uri); | ||||
| } | } | ||||
| #endif | |||||
| // ----------------------------------------------------------------------- | // ----------------------------------------------------------------------- | ||||