@@ -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 | ||||