| @@ -38,3 +38,4 @@ carla-discovery-qtcreator | |||||
| carla-discovery-unix32 | carla-discovery-unix32 | ||||
| carla-discovery-unix64 | carla-discovery-unix64 | ||||
| c++/patchcanvas/PatchCanvas | c++/patchcanvas/PatchCanvas | ||||
| carla-*-Release | |||||
| @@ -1148,8 +1148,6 @@ void set_option(CarlaBackend::OptionsType option, int value, const char* valueSt | |||||
| #ifdef QTCREATOR_TEST | #ifdef QTCREATOR_TEST | ||||
| #include "carla_lv2_includes.h" | |||||
| #include <QtGui/QApplication> | #include <QtGui/QApplication> | ||||
| #include <QtGui/QDialog> | #include <QtGui/QDialog> | ||||
| @@ -16,8 +16,7 @@ | |||||
| */ | */ | ||||
| #include "carla_plugin.h" | #include "carla_plugin.h" | ||||
| #include "dssi/dssi.h" | |||||
| #include "carla_dssi.h" | |||||
| CARLA_BACKEND_START_NAMESPACE | CARLA_BACKEND_START_NAMESPACE | ||||
| @@ -21,6 +21,12 @@ | |||||
| #include "carla_plugin.h" | #include "carla_plugin.h" | ||||
| #ifdef WANT_FLUIDSYNTH | |||||
| #include "carla_fluidsynth.h" | |||||
| #else | |||||
| #warning fluidsynth not available (no SF2 support) | |||||
| #endif | |||||
| CARLA_BACKEND_START_NAMESPACE | CARLA_BACKEND_START_NAMESPACE | ||||
| #if 0 | #if 0 | ||||
| @@ -28,11 +34,6 @@ CARLA_BACKEND_START_NAMESPACE | |||||
| #endif | #endif | ||||
| #ifdef WANT_FLUIDSYNTH | #ifdef WANT_FLUIDSYNTH | ||||
| #include <fluidsynth.h> | |||||
| #if (FLUIDSYNTH_VERSION_MAJOR >= 1 && FLUIDSYNTH_VERSION_MINOR >= 1 && FLUIDSYNTH_VERSION_MICRO >= 4) | |||||
| #define FLUIDSYNTH_VERSION_NEW_API | |||||
| #endif | |||||
| /*! | /*! | ||||
| * @defgroup CarlaBackendFluidSynthPlugin Carla Backend FluidSynth Plugin | * @defgroup CarlaBackendFluidSynthPlugin Carla Backend FluidSynth Plugin | ||||
| @@ -1281,8 +1282,6 @@ private: | |||||
| double param_buffers[FluidSynthParametersMax]; | double param_buffers[FluidSynthParametersMax]; | ||||
| const char* m_label; | const char* m_label; | ||||
| }; | }; | ||||
| #else | |||||
| #warning fluidsynth not available (no SF2 support) | |||||
| #endif // WANT_FLUIDSYNTH | #endif // WANT_FLUIDSYNTH | ||||
| CarlaPlugin* CarlaPlugin::newSF2(const initializer& init) | CarlaPlugin* CarlaPlugin::newSF2(const initializer& init) | ||||
| @@ -16,7 +16,7 @@ | |||||
| */ | */ | ||||
| #include "carla_plugin.h" | #include "carla_plugin.h" | ||||
| #include "carla_ladspa_includes.h" | |||||
| #include "carla_ladspa.h" | |||||
| CARLA_BACKEND_START_NAMESPACE | CARLA_BACKEND_START_NAMESPACE | ||||
| @@ -24,8 +24,10 @@ | |||||
| #include "carla_plugin.h" | #include "carla_plugin.h" | ||||
| #ifdef WANT_LINUXSAMPLER | #ifdef WANT_LINUXSAMPLER | ||||
| #include "carla_linuxsampler_includes.h" | |||||
| #include "carla_linuxsampler.h" | |||||
| #else | |||||
| #warning linuxsampler not available (no GIG and SFZ support) | |||||
| #endif | |||||
| #include <QtCore/QFileInfo> | #include <QtCore/QFileInfo> | ||||
| @@ -35,6 +37,8 @@ CARLA_BACKEND_START_NAMESPACE | |||||
| } /* adjust editor indent */ | } /* adjust editor indent */ | ||||
| #endif | #endif | ||||
| #ifdef WANT_LINUXSAMPLER | |||||
| /*! | /*! | ||||
| * @defgroup CarlaBackendLinuxSamplerPlugin Carla Backend LinuxSampler Plugin | * @defgroup CarlaBackendLinuxSamplerPlugin Carla Backend LinuxSampler Plugin | ||||
| * | * | ||||
| @@ -42,6 +46,7 @@ CARLA_BACKEND_START_NAMESPACE | |||||
| * http://www.linuxsampler.org/ | * http://www.linuxsampler.org/ | ||||
| * @{ | * @{ | ||||
| */ | */ | ||||
| class LinuxSamplerPlugin : public CarlaPlugin | class LinuxSamplerPlugin : public CarlaPlugin | ||||
| { | { | ||||
| public: | public: | ||||
| @@ -593,37 +598,29 @@ CarlaPlugin* LinuxSamplerPlugin::newLinuxSampler(const initializer& init, bool i | |||||
| return plugin; | return plugin; | ||||
| } | } | ||||
| #endif // WANT_LINUXSAMPLER | |||||
| CarlaPlugin* CarlaPlugin::newGIG(const initializer& init) | CarlaPlugin* CarlaPlugin::newGIG(const initializer& init) | ||||
| { | { | ||||
| qDebug("CarlaPlugin::newGIG(%p, %s, %s, %s)", init.engine, init.filename, init.name, init.label); | qDebug("CarlaPlugin::newGIG(%p, %s, %s, %s)", init.engine, init.filename, init.name, init.label); | ||||
| #ifdef WANT_LINUXSAMPLER | |||||
| return LinuxSamplerPlugin::newLinuxSampler(init, true); | return LinuxSamplerPlugin::newLinuxSampler(init, true); | ||||
| } | |||||
| CarlaPlugin* CarlaPlugin::newSFZ(const initializer& init) | |||||
| { | |||||
| qDebug("CarlaPlugin::newSFZ(%p, %s, %s, %s)", init.engine, init.filename, init.name, init.label); | |||||
| return LinuxSamplerPlugin::newLinuxSampler(init, false); | |||||
| } | |||||
| #else // WANT_LINUXSAMPLER | |||||
| #warning linuxsampler not available (no GIG and SFZ support) | |||||
| CARLA_BACKEND_START_NAMESPACE | |||||
| CarlaPlugin* CarlaPlugin::newGIG(const initializer& init) | |||||
| { | |||||
| qDebug("CarlaPlugin::newGIG(%p, %s, %s, %s)", init.engine, init.filename, init.name, init.label); | |||||
| #else | |||||
| setLastError("linuxsampler support not available"); | setLastError("linuxsampler support not available"); | ||||
| return nullptr; | return nullptr; | ||||
| #endif | |||||
| } | } | ||||
| CarlaPlugin* CarlaPlugin::newSFZ(const initializer& init) | CarlaPlugin* CarlaPlugin::newSFZ(const initializer& init) | ||||
| { | { | ||||
| qDebug("CarlaPlugin::newSFZ(%p, %s, %s, %s)", init.engine, init.filename, init.name, init.label); | qDebug("CarlaPlugin::newSFZ(%p, %s, %s, %s)", init.engine, init.filename, init.name, init.label); | ||||
| #ifdef WANT_LINUXSAMPLER | |||||
| return LinuxSamplerPlugin::newLinuxSampler(init, false); | |||||
| #else | |||||
| setLastError("linuxsampler support not available"); | setLastError("linuxsampler support not available"); | ||||
| return nullptr; | return nullptr; | ||||
| } | |||||
| #endif | #endif | ||||
| } | |||||
| /**@}*/ | /**@}*/ | ||||
| @@ -16,9 +16,7 @@ | |||||
| */ | */ | ||||
| #include "carla_plugin.h" | #include "carla_plugin.h" | ||||
| #include "carla_lv2_includes.h" | |||||
| #include "sratom/sratom.h" | |||||
| #include "carla_lv2.h" | |||||
| extern "C" { | extern "C" { | ||||
| #include "lv2-rtmempool/rtmempool.h" | #include "lv2-rtmempool/rtmempool.h" | ||||
| @@ -41,17 +41,18 @@ HEADERS = \ | |||||
| ../../carla-includes/carla_includes.h \ | ../../carla-includes/carla_includes.h \ | ||||
| ../../carla-includes/carla_lib_includes.h \ | ../../carla-includes/carla_lib_includes.h \ | ||||
| ../../carla-includes/carla_osc_includes.h \ | ../../carla-includes/carla_osc_includes.h \ | ||||
| ../../carla-includes/carla_ladspa_includes.h \ | |||||
| ../../carla-includes/carla_lv2_includes.h \ | |||||
| ../../carla-includes/carla_vst_includes.h \ | |||||
| ../../carla-includes/carla_linuxsampler_includes.h \ | |||||
| ../../carla-includes/carla_ladspa.h \ | |||||
| ../../carla-includes/carla_dssi.h \ | |||||
| ../../carla-includes/carla_lv2.h \ | |||||
| ../../carla-includes/carla_vst.h \ | |||||
| ../../carla-includes/carla_fluidsynth.h \ | |||||
| ../../carla-includes/carla_linuxsampler.h \ | |||||
| ../../carla-includes/carla_midi.h \ | ../../carla-includes/carla_midi.h \ | ||||
| ../../carla-includes/ladspa_rdf.h \ | ../../carla-includes/ladspa_rdf.h \ | ||||
| ../../carla-includes/lv2_rdf.h | ../../carla-includes/lv2_rdf.h | ||||
| INCLUDEPATH = .. \ | INCLUDEPATH = .. \ | ||||
| ../../carla-includes \ | |||||
| ../../carla-includes/vst | |||||
| ../../carla-includes | |||||
| DEFINES += DEBUG | DEFINES += DEBUG | ||||
| DEFINES += CARLA_ENGINE_JACK | DEFINES += CARLA_ENGINE_JACK | ||||
| @@ -16,7 +16,7 @@ | |||||
| */ | */ | ||||
| #include "carla_plugin.h" | #include "carla_plugin.h" | ||||
| #include "carla_vst_includes.h" | |||||
| #include "carla_vst.h" | |||||
| #ifndef __WINE__ | #ifndef __WINE__ | ||||
| #include <QtGui/QDialog> | #include <QtGui/QDialog> | ||||
| @@ -17,18 +17,20 @@ SOURCES = \ | |||||
| HEADERS = \ | HEADERS = \ | ||||
| ../carla_bridge.h \ | ../carla_bridge.h \ | ||||
| ../carla_bridge_osc.h \ | ../carla_bridge_osc.h \ | ||||
| ../../carla-backend/carla_midi.h \ | |||||
| ../../carla-includes/carla_includes.h \ | ../../carla-includes/carla_includes.h \ | ||||
| ../../carla-includes/carla_lib_includes.h \ | ../../carla-includes/carla_lib_includes.h \ | ||||
| ../../carla-includes/carla_osc_includes.h \ | ../../carla-includes/carla_osc_includes.h \ | ||||
| ../../carla-includes/carla_lv2_includes.h \ | |||||
| ../../carla-includes/carla_midi.h \ | |||||
| ../../carla-includes/lv2_rdf.h | ../../carla-includes/lv2_rdf.h | ||||
| INCLUDEPATH = .. \ | INCLUDEPATH = .. \ | ||||
| ../../carla-backend \ | ../../carla-backend \ | ||||
| ../../carla-includes | ../../carla-includes | ||||
| DEFINES = BUILD_BRIDGE BUILD_BRIDGE_UI BRIDGE_LV2_GTK2 | |||||
| LIBS = \ | |||||
| ../../carla-lilv/carla_lilv.a | |||||
| LIBS = ../../carla-lilv/carla_lilv.a -ldl | |||||
| DEFINES = BUILD_BRIDGE BUILD_BRIDGE_UI BRIDGE_LV2_GTK2 | |||||
| QMAKE_CXXFLAGS *= -std=c++0x | QMAKE_CXXFLAGS *= -std=c++0x | ||||
| @@ -6,13 +6,14 @@ | |||||
| CXX ?= g++ | CXX ?= g++ | ||||
| WINECXX ?= wineg++ | WINECXX ?= wineg++ | ||||
| STRIP ?= strip | |||||
| BASE_FLAGS = -O2 -ffast-math -fomit-frame-pointer -fPIC -mtune=generic -msse -Wall -I../carla-includes | BASE_FLAGS = -O2 -ffast-math -fomit-frame-pointer -fPIC -mtune=generic -msse -Wall -I../carla-includes | ||||
| BUILD_FLAGS = $(BASE_FLAGS) -std=c++0x $(CXXFLAGS) | BUILD_FLAGS = $(BASE_FLAGS) -std=c++0x $(CXXFLAGS) | ||||
| BUILD_FLAGS += -I../carla-backend -I../carla-includes $(shell pkg-config --cflags QtCore) | BUILD_FLAGS += -I../carla-backend -I../carla-includes $(shell pkg-config --cflags QtCore) | ||||
| BUILD_FLAGS += -DNDEBUG -DQT_NO_DEBUG -DQT_NO_DEBUG_STREAM -DQT_NO_DEBUG_OUTPUT | BUILD_FLAGS += -DNDEBUG -DQT_NO_DEBUG -DQT_NO_DEBUG_STREAM -DQT_NO_DEBUG_OUTPUT | ||||
| BUILD_FLAGS += -DVESTIGE_HEADER -I../carla-includes/vestige # Comment this line to not use vestige header | |||||
| BUILD_FLAGS += -DVESTIGE_HEADER # Comment this line to not use vestige header | |||||
| 32BIT_FLAGS = -m32 | 32BIT_FLAGS = -m32 | ||||
| 64BIT_FLAGS = -m64 | 64BIT_FLAGS = -m64 | ||||
| @@ -67,22 +68,22 @@ wine64: carla-discovery-win64.exe.so | |||||
| 64BIT_OBJS = carla-discovery.cpp ../carla-lilv/carla_lilv_64bit.a | 64BIT_OBJS = carla-discovery.cpp ../carla-lilv/carla_lilv_64bit.a | ||||
| carla-discovery-unix32: $(32BIT_OBJS) | carla-discovery-unix32: $(32BIT_OBJS) | ||||
| $(CXX) $^ $(UNIX_BUILD_FLAGS) $(UNIX_32BIT_FLAGS) $(UNIX_LINK_FLAGS) -o $@ && strip $@ | |||||
| $(CXX) $^ $(UNIX_BUILD_FLAGS) $(UNIX_32BIT_FLAGS) $(UNIX_LINK_FLAGS) -o $@ && $(STRIP) $@ | |||||
| carla-discovery-unix64: $(64BIT_OBJS) | carla-discovery-unix64: $(64BIT_OBJS) | ||||
| $(CXX) $^ $(UNIX_BUILD_FLAGS) $(UNIX_64BIT_FLAGS) $(UNIX_LINK_FLAGS) -o $@ && strip $@ | |||||
| $(CXX) $^ $(UNIX_BUILD_FLAGS) $(UNIX_64BIT_FLAGS) $(UNIX_LINK_FLAGS) -o $@ && $(STRIP) $@ | |||||
| carla-discovery-win32.exe: $(32BIT_OBJS) | carla-discovery-win32.exe: $(32BIT_OBJS) | ||||
| $(CXX) $^ $(WIN_BUILD_FLAGS) $(WIN_32BIT_FLAGS) $(WIN_LINK_FLAGS) -o $@ | |||||
| $(CXX) $^ $(WIN_BUILD_FLAGS) $(WIN_32BIT_FLAGS) $(WIN_LINK_FLAGS) -o $@ && $(STRIP) $@ | |||||
| carla-discovery-win64.exe: $(64BIT_OBJS) | carla-discovery-win64.exe: $(64BIT_OBJS) | ||||
| $(CXX) $^ $(WIN_BUILD_FLAGS) $(WIN_64BIT_FLAGS) $(WIN_LINK_FLAGS) -o $@ | |||||
| $(CXX) $^ $(WIN_BUILD_FLAGS) $(WIN_64BIT_FLAGS) $(WIN_LINK_FLAGS) -o $@ && $(STRIP) $@ | |||||
| carla-discovery-win32.exe.so: $(32BIT_OBJS) | carla-discovery-win32.exe.so: $(32BIT_OBJS) | ||||
| $(WINECXX) $^ $(WINE_BUILD_FLAGS) $(WINE_32BIT_FLAGS) $(WINE_LINK_FLAGS) -o carla-discovery-win32.exe && strip $@ | |||||
| $(WINECXX) $^ $(WINE_BUILD_FLAGS) $(WINE_32BIT_FLAGS) $(WINE_LINK_FLAGS) -o carla-discovery-win32.exe && $(STRIP) $@ | |||||
| carla-discovery-win64.exe.so: $(64BIT_OBJS) | carla-discovery-win64.exe.so: $(64BIT_OBJS) | ||||
| $(WINECXX) $^ $(WINE_BUILD_FLAGS) $(WINE_64BIT_FLAGS) $(WINE_LINK_FLAGS) -o carla-discovery-win64.exe && strip $@ | |||||
| $(WINECXX) $^ $(WINE_BUILD_FLAGS) $(WINE_64BIT_FLAGS) $(WINE_LINK_FLAGS) -o carla-discovery-win64.exe && $(STRIP) $@ | |||||
| ../carla-lilv/carla_lilv_32bit.a: | ../carla-lilv/carla_lilv_32bit.a: | ||||
| $(MAKE) -C ../carla-lilv 32bit | $(MAKE) -C ../carla-lilv 32bit | ||||
| @@ -12,7 +12,7 @@ BASE_FLAGS = -O0 -g -Wall -I../carla-includes | |||||
| BUILD_FLAGS = $(BASE_FLAGS) -std=c++0x $(CXXFLAGS) | BUILD_FLAGS = $(BASE_FLAGS) -std=c++0x $(CXXFLAGS) | ||||
| BUILD_FLAGS += -I../carla-backend -I../carla-includes $(shell pkg-config --cflags QtCore) | BUILD_FLAGS += -I../carla-backend -I../carla-includes $(shell pkg-config --cflags QtCore) | ||||
| BUILD_FLAGS += -DDEBUG | BUILD_FLAGS += -DDEBUG | ||||
| BUILD_FLAGS += -DVESTIGE_HEADER -I../carla-includes/vestige # Comment this line to not use vestige header | |||||
| BUILD_FLAGS += -DVESTIGE_HEADER # Comment this line to not use vestige header | |||||
| 32BIT_FLAGS = -m32 | 32BIT_FLAGS = -m32 | ||||
| 64BIT_FLAGS = -m64 | 64BIT_FLAGS = -m64 | ||||
| @@ -27,18 +27,17 @@ | |||||
| #include <QtCore/QFileInfo> | #include <QtCore/QFileInfo> | ||||
| #include <QtCore/QUrl> | #include <QtCore/QUrl> | ||||
| #include "carla_ladspa_includes.h" | |||||
| #include "carla_lv2_includes.h" | |||||
| #include "carla_vst_includes.h" | |||||
| #include "dssi/dssi.h" | |||||
| #include "carla_ladspa.h" | |||||
| #include "carla_dssi.h" | |||||
| #include "carla_lv2.h" | |||||
| #include "carla_vst.h" | |||||
| #ifdef BUILD_NATIVE | #ifdef BUILD_NATIVE | ||||
| # ifdef WANT_FLUIDSYNTH | # ifdef WANT_FLUIDSYNTH | ||||
| # include <fluidsynth.h> | |||||
| # include "carla_fluidsynth.h" | |||||
| # endif | # endif | ||||
| # ifdef WANT_LINUXSAMPLER | # ifdef WANT_LINUXSAMPLER | ||||
| # include "carla_linuxsampler_includes.h" | |||||
| # include "carla_linuxsampler.h" | |||||
| # endif | # endif | ||||
| #endif | #endif | ||||
| @@ -64,7 +63,7 @@ using namespace CarlaBackend; | |||||
| intptr_t VstCurrentUniqueId = 0; | intptr_t VstCurrentUniqueId = 0; | ||||
| intptr_t VstHostCallback(AEffect* effect, int32_t opcode, int32_t index, intptr_t value, void* ptr, float opt) | |||||
| intptr_t VstHostCallback(AEffect* const effect, const int32_t opcode, const int32_t index, const intptr_t value, void* const ptr, const float opt) | |||||
| { | { | ||||
| #if DEBUG | #if DEBUG | ||||
| qDebug("VstHostCallback(%p, opcode: %s, index: %i, value: " P_INTPTR ", opt: %f", effect, VstMasterOpcode2str(opcode), index, value, opt); | qDebug("VstHostCallback(%p, opcode: %s, index: %i, value: " P_INTPTR ", opt: %f", effect, VstMasterOpcode2str(opcode), index, value, opt); | ||||
| @@ -409,7 +408,7 @@ void do_dssi_check(void* const lib_handle, const bool init) | |||||
| continue; | continue; | ||||
| } | } | ||||
| // we can only get program list per-handle | |||||
| // we can only get program info per-handle | |||||
| if (descriptor->get_program) | if (descriptor->get_program) | ||||
| { | { | ||||
| while ((descriptor->get_program(handle, programsTotal++))) | while ((descriptor->get_program(handle, programsTotal++))) | ||||
| @@ -710,31 +709,31 @@ void do_vst_check(void* const lib_handle, const bool init) | |||||
| if (effect && effect->magic == kEffectMagic) | if (effect && effect->magic == kEffectMagic) | ||||
| { | { | ||||
| const char* c_name; | |||||
| const char* c_product; | |||||
| const char* c_vendor; | |||||
| const char* cName; | |||||
| const char* cProduct; | |||||
| const char* cVendor; | |||||
| char strBuf[255] = { 0 }; | char strBuf[255] = { 0 }; | ||||
| effect->dispatcher(effect, effGetEffectName, 0, 0, strBuf, 0.0f); | effect->dispatcher(effect, effGetEffectName, 0, 0, strBuf, 0.0f); | ||||
| c_name = strdup((strBuf[0] != 0) ? strBuf : ""); | |||||
| cName = strdup((strBuf[0] != 0) ? strBuf : ""); | |||||
| strBuf[0] = 0; | strBuf[0] = 0; | ||||
| effect->dispatcher(effect, effGetProductString, 0, 0, strBuf, 0.0f); | effect->dispatcher(effect, effGetProductString, 0, 0, strBuf, 0.0f); | ||||
| c_product = strdup((strBuf[0] != 0) ? strBuf : ""); | |||||
| cProduct = strdup((strBuf[0] != 0) ? strBuf : ""); | |||||
| strBuf[0] = 0; | strBuf[0] = 0; | ||||
| effect->dispatcher(effect, effGetVendorString, 0, 0, strBuf, 0.0f); | effect->dispatcher(effect, effGetVendorString, 0, 0, strBuf, 0.0f); | ||||
| c_vendor = strdup((strBuf[0] != 0) ? strBuf : ""); | |||||
| cVendor = strdup((strBuf[0] != 0) ? strBuf : ""); | |||||
| VstCurrentUniqueId = effect->uniqueID; | VstCurrentUniqueId = effect->uniqueID; | ||||
| intptr_t VstCategory = effect->dispatcher(effect, effGetPlugCategory, 0, 0, nullptr, 0.0f); | intptr_t VstCategory = effect->dispatcher(effect, effGetPlugCategory, 0, 0, nullptr, 0.0f); | ||||
| // only init if required | |||||
| if (init || VstCategory == kPlugCategShell) | |||||
| effect->dispatcher(effect, effOpen, 0, 0, nullptr, 0.0f); | |||||
| while (true) | while (true) | ||||
| { | { | ||||
| // only init if required | |||||
| if (init || VstCategory == kPlugCategShell) | |||||
| effect->dispatcher(effect, effOpen, 0, 0, nullptr, 0.0f); | |||||
| int hints = 0; | int hints = 0; | ||||
| int audioIns = effect->numInputs; | int audioIns = effect->numInputs; | ||||
| int audioOuts = effect->numOutputs; | int audioOuts = effect->numOutputs; | ||||
| @@ -838,15 +837,11 @@ void do_vst_check(void* const lib_handle, const bool init) | |||||
| // end crash-free plugin test | // end crash-free plugin test | ||||
| // ----------------------------------------------------------------------- | // ----------------------------------------------------------------------- | ||||
| // only close if required | |||||
| if (init || VstCategory == kPlugCategShell) | |||||
| effect->dispatcher(effect, effClose, 0, 0, nullptr, 0.0f); | |||||
| DISCOVERY_OUT("init", "-----------"); | DISCOVERY_OUT("init", "-----------"); | ||||
| DISCOVERY_OUT("name", c_name); | |||||
| DISCOVERY_OUT("label", c_product); | |||||
| DISCOVERY_OUT("maker", c_vendor); | |||||
| DISCOVERY_OUT("copyright", c_vendor); | |||||
| DISCOVERY_OUT("name", cName); | |||||
| DISCOVERY_OUT("label", cProduct); | |||||
| DISCOVERY_OUT("maker", cVendor); | |||||
| DISCOVERY_OUT("copyright", cVendor); | |||||
| DISCOVERY_OUT("unique_id", VstCurrentUniqueId); | DISCOVERY_OUT("unique_id", VstCurrentUniqueId); | ||||
| DISCOVERY_OUT("hints", hints); | DISCOVERY_OUT("hints", hints); | ||||
| DISCOVERY_OUT("audio.ins", audioIns); | DISCOVERY_OUT("audio.ins", audioIns); | ||||
| @@ -861,26 +856,28 @@ void do_vst_check(void* const lib_handle, const bool init) | |||||
| DISCOVERY_OUT("build", BINARY_NATIVE); | DISCOVERY_OUT("build", BINARY_NATIVE); | ||||
| DISCOVERY_OUT("end", "------------"); | DISCOVERY_OUT("end", "------------"); | ||||
| if (VstCategory == kPlugCategShell) | |||||
| { | |||||
| strBuf[0] = 0; | |||||
| VstCurrentUniqueId = effect->dispatcher(effect, effShellGetNextPlugin, 0, 0, strBuf, 0.0f); | |||||
| if (VstCategory != kPlugCategShell) | |||||
| break; | |||||
| if (VstCurrentUniqueId != 0) | |||||
| { | |||||
| free((void*)c_name); | |||||
| c_name = strdup((strBuf[0] != 0) ? strBuf : ""); | |||||
| } | |||||
| else | |||||
| break; | |||||
| strBuf[0] = 0; | |||||
| VstCurrentUniqueId = effect->dispatcher(effect, effShellGetNextPlugin, 0, 0, strBuf, 0.0f); | |||||
| if (VstCurrentUniqueId != 0) | |||||
| { | |||||
| free((void*)cName); | |||||
| cName = strdup((strBuf[0] != 0) ? strBuf : ""); | |||||
| } | } | ||||
| else | else | ||||
| break; | break; | ||||
| } | } | ||||
| free((void*)c_name); | |||||
| free((void*)c_product); | |||||
| free((void*)c_vendor); | |||||
| // only close if required | |||||
| if (init || VstCategory == kPlugCategShell) | |||||
| effect->dispatcher(effect, effClose, 0, 0, nullptr, 0.0f); | |||||
| free((void*)cName); | |||||
| free((void*)cProduct); | |||||
| free((void*)cVendor); | |||||
| } | } | ||||
| else | else | ||||
| DISCOVERY_OUT("error", "Failed to init VST plugin"); | DISCOVERY_OUT("error", "Failed to init VST plugin"); | ||||
| @@ -947,7 +944,7 @@ void do_fluidsynth_check(const char* const filename, const bool init) | |||||
| void do_linuxsampler_check(const char* const filename, const char* const stype, const bool init) | void do_linuxsampler_check(const char* const filename, const char* const stype, const bool init) | ||||
| { | { | ||||
| #ifdef WANT_LINUXSAMPLER | #ifdef WANT_LINUXSAMPLER | ||||
| QFileInfo file(filename); | |||||
| const QFileInfo file(filename); | |||||
| if (! file.exists()) | if (! file.exists()) | ||||
| { | { | ||||
| @@ -971,12 +968,12 @@ void do_linuxsampler_check(const char* const filename, const char* const stype, | |||||
| class LinuxSamplerScopedEngine { | class LinuxSamplerScopedEngine { | ||||
| public: | public: | ||||
| LinuxSamplerScopedEngine(const char* filename, const char* stype) | |||||
| LinuxSamplerScopedEngine(const char* const filename, const char* const stype) | |||||
| { | { | ||||
| try { | try { | ||||
| engine = EngineFactory::Create(stype); | engine = EngineFactory::Create(stype); | ||||
| } | } | ||||
| catch (Exception& e) | |||||
| catch (const Exception& e) | |||||
| { | { | ||||
| DISCOVERY_OUT("error", e.what()); | DISCOVERY_OUT("error", e.what()); | ||||
| return; | return; | ||||
| @@ -985,7 +982,7 @@ void do_linuxsampler_check(const char* const filename, const char* const stype, | |||||
| try { | try { | ||||
| ins = engine->GetInstrumentManager(); | ins = engine->GetInstrumentManager(); | ||||
| } | } | ||||
| catch (Exception& e) | |||||
| catch (const Exception& e) | |||||
| { | { | ||||
| DISCOVERY_OUT("error", e.what()); | DISCOVERY_OUT("error", e.what()); | ||||
| return; | return; | ||||
| @@ -996,7 +993,7 @@ void do_linuxsampler_check(const char* const filename, const char* const stype, | |||||
| try { | try { | ||||
| ids = ins->GetInstrumentFileContent(filename); | ids = ins->GetInstrumentFileContent(filename); | ||||
| } | } | ||||
| catch (Exception& e) | |||||
| catch (const Exception& e) | |||||
| { | { | ||||
| DISCOVERY_OUT("error", e.what()); | DISCOVERY_OUT("error", e.what()); | ||||
| return; | return; | ||||
| @@ -2,7 +2,7 @@ | |||||
| QT = core | QT = core | ||||
| CONFIG = link_pkgconfig qt warn_on debug | |||||
| CONFIG = debug link_pkgconfig qt warn_on | |||||
| DEFINES = DEBUG BUILD_NATIVE WANT_FLUIDSYNTH WANT_LINUXSAMPLER | DEFINES = DEBUG BUILD_NATIVE WANT_FLUIDSYNTH WANT_LINUXSAMPLER | ||||
| PKGCONFIG = fluidsynth linuxsampler | PKGCONFIG = fluidsynth linuxsampler | ||||
| @@ -16,18 +16,20 @@ SOURCES = \ | |||||
| HEADERS = \ | HEADERS = \ | ||||
| ../../carla-includes/carla_includes.h \ | ../../carla-includes/carla_includes.h \ | ||||
| ../../carla-includes/carla_lib_includes.h \ | ../../carla-includes/carla_lib_includes.h \ | ||||
| ../../carla-includes/carla_vst_includes.h \ | |||||
| ../../carla-includes/carla_ladspa_includes.h \ | |||||
| ../../carla-includes/carla_lv2_includes.h \ | |||||
| ../../carla-includes/carla_vst_includes.h \ | |||||
| ../../carla-includes/carla_linuxsampler_includes.h \ | |||||
| ../../carla-includes/carla_ladspa.h \ | |||||
| ../../carla-includes/carla_dssi.h \ | |||||
| ../../carla-includes/carla_lv2.h \ | |||||
| ../../carla-includes/carla_vst.h \ | |||||
| ../../carla-includes/carla_fluidsynth.h \ | |||||
| ../../carla-includes/carla_linuxsampler.h \ | |||||
| ../../carla-includes/ladspa_rdf.h \ | |||||
| ../../carla-includes/lv2_rdf.h | ../../carla-includes/lv2_rdf.h | ||||
| INCLUDEPATH = .. \ | INCLUDEPATH = .. \ | ||||
| ../../carla-backend \ | ../../carla-backend \ | ||||
| ../../carla-includes \ | |||||
| ../../carla-includes/vst | |||||
| ../../carla-includes | |||||
| LIBS = ../../carla-lilv/carla_lilv.a -ldl | |||||
| LIBS = \ | |||||
| ../../carla-lilv/carla_lilv.a | |||||
| QMAKE_CXXFLAGS *= -std=c++0x | QMAKE_CXXFLAGS *= -std=c++0x | ||||
| @@ -0,0 +1,24 @@ | |||||
| /* | |||||
| * Carla common DSSI code | |||||
| * Copyright (C) 2012 Filipe Coelho <falktx@gmail.com> | |||||
| * | |||||
| * This program is free software; you can redistribute it and/or modify | |||||
| * it under the terms of the GNU General Public License as published by | |||||
| * the Free Software Foundation; either version 2 of the License, or | |||||
| * any later version. | |||||
| * | |||||
| * This program is distributed in the hope that it will be useful, | |||||
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
| * GNU General Public License for more details. | |||||
| * | |||||
| * For a full copy of the GNU General Public License see the COPYING file | |||||
| */ | |||||
| #ifndef CARLA_DSSI_INCLUDES_H | |||||
| #define CARLA_DSSI_INCLUDES_H | |||||
| #include "carla_ladspa.h" | |||||
| #include "dssi/dssi.h" | |||||
| #endif // CARLA_DSSI_INCLUDES_H | |||||
| @@ -0,0 +1,27 @@ | |||||
| /* | |||||
| * Carla common FluidSynth code | |||||
| * Copyright (C) 2012 Filipe Coelho <falktx@gmail.com> | |||||
| * | |||||
| * This program is free software; you can redistribute it and/or modify | |||||
| * it under the terms of the GNU General Public License as published by | |||||
| * the Free Software Foundation; either version 2 of the License, or | |||||
| * any later version. | |||||
| * | |||||
| * This program is distributed in the hope that it will be useful, | |||||
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
| * GNU General Public License for more details. | |||||
| * | |||||
| * For a full copy of the GNU General Public License see the COPYING file | |||||
| */ | |||||
| #ifndef CARLA_FLUIDSYNTH_INCLUDES_H | |||||
| #define CARLA_FLUIDSYNTH_INCLUDES_H | |||||
| #include <fluidsynth.h> | |||||
| #if (FLUIDSYNTH_VERSION_MAJOR >= 1 && FLUIDSYNTH_VERSION_MINOR >= 1 && FLUIDSYNTH_VERSION_MICRO >= 4) | |||||
| # define FLUIDSYNTH_VERSION_NEW_API | |||||
| #endif | |||||
| #endif // CARLA_FLUIDSYNTH_INCLUDES_H | |||||
| @@ -19,12 +19,12 @@ | |||||
| #define CARLA_INCLUDES_H | #define CARLA_INCLUDES_H | ||||
| #ifdef __WINE__ | #ifdef __WINE__ | ||||
| #define __socklen_t_defined | |||||
| #define __WINE_WINSOCK2__ | |||||
| #define HRESULT LONG | |||||
| #define Q_CORE_EXPORT | |||||
| #define Q_GUI_EXPORT | |||||
| #define QT_NO_STL | |||||
| # define __socklen_t_defined | |||||
| # define __WINE_WINSOCK2__ | |||||
| # define HRESULT LONG | |||||
| # define Q_CORE_EXPORT | |||||
| # define Q_GUI_EXPORT | |||||
| # define QT_NO_STL | |||||
| #endif | #endif | ||||
| #include <QtCore/Qt> | #include <QtCore/Qt> | ||||
| @@ -40,7 +40,7 @@ protected: | |||||
| friend class Engine; | friend class Engine; | ||||
| }; | }; | ||||
| #if ! (defined(BUILD_BRIDGE) || defined(BUILD_NATIVE)) | |||||
| #ifndef BUILD_NATIVE | |||||
| #include "carla_plugin.h" | #include "carla_plugin.h" | ||||
| @@ -155,7 +155,7 @@ public: | |||||
| } | } | ||||
| }; | }; | ||||
| #endif // BUILD_BRIDGE || BUILD_NATIVE | |||||
| #endif // ! BUILD_NATIVE | |||||
| } // namespace LinuxSampler | } // namespace LinuxSampler | ||||
| @@ -51,6 +51,7 @@ | |||||
| #include "lv2_rdf.h" | #include "lv2_rdf.h" | ||||
| #include "lilv/lilvmm.hpp" | #include "lilv/lilvmm.hpp" | ||||
| #include "sratom/sratom.h" | |||||
| #include <QtCore/QMap> | #include <QtCore/QMap> | ||||
| #include <QtCore/QString> | #include <QtCore/QString> | ||||
| @@ -20,10 +20,8 @@ | |||||
| #include <cstdint> | #include <cstdint> | ||||
| #define VST_FORCE_DEPRECATED 0 | |||||
| #include "aeffectx.h" | |||||
| #if VESTIGE_HEADER | #if VESTIGE_HEADER | ||||
| #include "vestige/aeffectx.h" | |||||
| #define audioMasterGetOutputSpeakerArrangement audioMasterGetSpeakerArrangement | #define audioMasterGetOutputSpeakerArrangement audioMasterGetSpeakerArrangement | ||||
| #define effFlagsProgramChunks (1 << 5) | #define effFlagsProgramChunks (1 << 5) | ||||
| #define effSetProgramName 4 | #define effSetProgramName 4 | ||||
| @@ -106,6 +104,8 @@ struct VstTimeInfo_R { | |||||
| int32_t timeSigNumerator, timeSigDenominator, smpteOffset, smpteFrameRate, samplesToNextClock, flags; | int32_t timeSigNumerator, timeSigDenominator, smpteOffset, smpteFrameRate, samplesToNextClock, flags; | ||||
| }; | }; | ||||
| #else | #else | ||||
| #define VST_FORCE_DEPRECATED 0 | |||||
| #include "vst/aeffectx.h" | |||||
| typedef VstTimeInfo VstTimeInfo_R; | typedef VstTimeInfo VstTimeInfo_R; | ||||
| #endif | #endif | ||||