@@ -250,6 +250,7 @@ wine64: | |||||
# ---------------------------------------------------------------------------------------------------------------------------- | # ---------------------------------------------------------------------------------------------------------------------------- | ||||
# Resources | # Resources | ||||
ifeq ($(HAVE_PYQT),true) | |||||
RES = \ | RES = \ | ||||
bin/resources/carla_app.py \ | bin/resources/carla_app.py \ | ||||
bin/resources/carla_backend.py \ | bin/resources/carla_backend.py \ | ||||
@@ -310,10 +311,14 @@ source/resources_rc.py: resources/resources.qrc resources/*/*.png resources/*/*. | |||||
bin/resources/%.py: source/%.py | bin/resources/%.py: source/%.py | ||||
$(LINK) $(CURDIR)/source/$*.py bin/resources/ | $(LINK) $(CURDIR)/source/$*.py bin/resources/ | ||||
else | |||||
RES: | |||||
endif | |||||
# ---------------------------------------------------------------------------------------------------------------------------- | # ---------------------------------------------------------------------------------------------------------------------------- | ||||
# UI code | # UI code | ||||
ifeq ($(HAVE_PYQT),true) | |||||
UIs = \ | UIs = \ | ||||
source/ui_carla_control.py \ | source/ui_carla_control.py \ | ||||
source/ui_carla_about.py \ | source/ui_carla_about.py \ | ||||
@@ -338,6 +343,9 @@ UI: $(UIs) | |||||
source/ui_%.py: resources/ui/%.ui | source/ui_%.py: resources/ui/%.ui | ||||
$(PYUIC) $< -o $@ | $(PYUIC) $< -o $@ | ||||
else | |||||
UI: | |||||
endif | |||||
# ---------------------------------------------------------------------------------------------------------------------------- | # ---------------------------------------------------------------------------------------------------------------------------- | ||||
# Widgets | # Widgets | ||||
@@ -785,20 +793,25 @@ endif | |||||
@echo "$(tS)---> Internal plugins: $(tE)" | @echo "$(tS)---> Internal plugins: $(tE)" | ||||
ifneq ($(WIN32),true) | ifneq ($(WIN32),true) | ||||
@echo "Carla-Patchbay:$(ANS_YES)" | |||||
@echo "Carla-Rack: $(ANS_YES)" | |||||
@echo "Carla-Patchbay: $(ANS_YES)" | |||||
@echo "Carla-Rack: $(ANS_YES)" | |||||
else | |||||
@echo "Carla-Patchbay: $(ANS_NO) $(mS)Not available for Windows$(mE)" | |||||
@echo "Carla-Rack: $(ANS_NO) $(mS)Not available for Windows$(mE)" | |||||
endif | |||||
ifeq ($(HAVE_DGL),true) | |||||
@echo "DISTRHO Plugins:$(ANS_YES) (with UI)" | |||||
else | else | ||||
@echo "Carla-Patchbay:$(ANS_NO) $(mS)Not available for Windows$(mE)" | |||||
@echo "Carla-Rack: $(ANS_NO) $(mS)Not available for Windows$(mE)" | |||||
@echo "DISTRHO Plugins:$(ANS_YES) (without UI)" | |||||
endif | endif | ||||
ifeq ($(HAVE_ZYN_DEPS),true) | ifeq ($(HAVE_ZYN_DEPS),true) | ||||
ifeq ($(HAVE_ZYN_UI_DEPS),true) | ifeq ($(HAVE_ZYN_UI_DEPS),true) | ||||
@echo "ZynAddSubFX: $(ANS_YES) (with UI)" | |||||
@echo "ZynAddSubFX: $(ANS_YES) (with UI)" | |||||
else | else | ||||
@echo "ZynAddSubFX: $(ANS_YES) (without UI) $(mS)NTK missing$(mE)" | |||||
@echo "ZynAddSubFX: $(ANS_YES) (without UI) $(mS)NTK missing$(mE)" | |||||
endif | endif | ||||
else | else | ||||
@echo "ZynAddSubFX: $(ANS_NO) $(mS)fftw3, mxml or zlib missing$(mE)" | |||||
@echo "ZynAddSubFX: $(ANS_NO) $(mS)fftw3, mxml or zlib missing$(mE)" | |||||
endif | endif | ||||
# ---------------------------------------------------------------------------------------------------------------------------- | # ---------------------------------------------------------------------------------------------------------------------------- | ||||
@@ -145,10 +145,6 @@ endif | |||||
# -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
# Check for required libs | # Check for required libs | ||||
ifneq ($(shell pkg-config --exists liblo && echo true),true) | |||||
$(error liblo missing, cannot continue) | |||||
endif | |||||
ifeq ($(LINUX),true) | ifeq ($(LINUX),true) | ||||
ifeq (,$(wildcard /usr/include/magic.h)) | ifeq (,$(wildcard /usr/include/magic.h)) | ||||
$(error libmagic missing, cannot continue) | $(error libmagic missing, cannot continue) | ||||
@@ -173,6 +169,8 @@ endif | |||||
HAVE_QT4 = $(shell pkg-config --exists QtCore QtGui && echo true) | HAVE_QT4 = $(shell pkg-config --exists QtCore QtGui && echo true) | ||||
HAVE_QT5 = $(shell pkg-config --exists Qt5Core Qt5Gui Qt5Widgets && echo true) | HAVE_QT5 = $(shell pkg-config --exists Qt5Core Qt5Gui Qt5Widgets && echo true) | ||||
HAVE_LIBLO = $(shell pkg-config --exists liblo && echo true) | |||||
HAVE_FLUIDSYNTH = $(shell pkg-config --exists fluidsynth && echo true) | HAVE_FLUIDSYNTH = $(shell pkg-config --exists fluidsynth && echo true) | ||||
HAVE_LINUXSAMPLER = $(shell pkg-config --atleast-version=1.0.0.svn41 linuxsampler && echo true) | HAVE_LINUXSAMPLER = $(shell pkg-config --atleast-version=1.0.0.svn41 linuxsampler && echo true) | ||||
@@ -262,6 +260,10 @@ ifeq ($(HAVE_DGL),true) | |||||
BASE_FLAGS += -DHAVE_DGL | BASE_FLAGS += -DHAVE_DGL | ||||
endif | endif | ||||
ifeq ($(HAVE_LIBLO),true) | |||||
BASE_FLAGS += -DHAVE_LIBLO | |||||
endif | |||||
ifeq ($(HAVE_FLUIDSYNTH),true) | ifeq ($(HAVE_FLUIDSYNTH),true) | ||||
BASE_FLAGS += -DHAVE_FLUIDSYNTH | BASE_FLAGS += -DHAVE_FLUIDSYNTH | ||||
endif | endif | ||||
@@ -281,8 +283,10 @@ endif | |||||
# -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
# Set libs stuff (part 1) | # Set libs stuff (part 1) | ||||
ifeq ($(HAVE_LIBLO),true) | |||||
LIBLO_FLAGS = $(shell pkg-config --cflags liblo) | LIBLO_FLAGS = $(shell pkg-config --cflags liblo) | ||||
LIBLO_LIBS = $(shell pkg-config --libs liblo) | LIBLO_LIBS = $(shell pkg-config --libs liblo) | ||||
endif | |||||
ifeq ($(HAVE_FLUIDSYNTH),true) | ifeq ($(HAVE_FLUIDSYNTH),true) | ||||
FLUIDSYNTH_FLAGS = $(shell pkg-config --cflags fluidsynth) | FLUIDSYNTH_FLAGS = $(shell pkg-config --cflags fluidsynth) | ||||
@@ -26,7 +26,10 @@ | |||||
#include "CarlaBackendUtils.hpp" | #include "CarlaBackendUtils.hpp" | ||||
#include "CarlaBase64Utils.hpp" | #include "CarlaBase64Utils.hpp" | ||||
#include "CarlaOscUtils.hpp" | |||||
#ifdef HAVE_LIBLO | |||||
# include "CarlaOscUtils.hpp" | |||||
#endif | |||||
#include "juce_audio_formats.h" | #include "juce_audio_formats.h" | ||||
@@ -79,6 +82,7 @@ struct CarlaBackendStandalone { | |||||
static CarlaBackendStandalone gStandalone; | static CarlaBackendStandalone gStandalone; | ||||
#ifdef HAVE_LIBLO | |||||
// ------------------------------------------------------------------------------------------------------------------- | // ------------------------------------------------------------------------------------------------------------------- | ||||
// NSM support | // NSM support | ||||
@@ -345,6 +349,8 @@ private: | |||||
static CarlaNSM gNSM; | static CarlaNSM gNSM; | ||||
#endif // HAVE_LIBLO | |||||
// ------------------------------------------------------------------------------------------------------------------- | // ------------------------------------------------------------------------------------------------------------------- | ||||
// API | // API | ||||
@@ -679,7 +685,9 @@ void carla_engine_idle() | |||||
{ | { | ||||
CARLA_SAFE_ASSERT_RETURN(gStandalone.engine != nullptr,); | CARLA_SAFE_ASSERT_RETURN(gStandalone.engine != nullptr,); | ||||
#ifdef HAVE_LIBLO | |||||
gNSM.idle(); | gNSM.idle(); | ||||
#endif | |||||
gStandalone.engine->idle(); | gStandalone.engine->idle(); | ||||
} | } | ||||
@@ -788,8 +796,9 @@ void carla_set_engine_option(EngineOption option, int value, const char* valueSt | |||||
case CB:: ENGINE_OPTION_NSM_INIT: | case CB:: ENGINE_OPTION_NSM_INIT: | ||||
CARLA_SAFE_ASSERT_RETURN(value != 0,); | CARLA_SAFE_ASSERT_RETURN(value != 0,); | ||||
CARLA_SAFE_ASSERT_RETURN(valueStr != nullptr && valueStr[0] != '\0',); | CARLA_SAFE_ASSERT_RETURN(valueStr != nullptr && valueStr[0] != '\0',); | ||||
#ifdef HAVE_LIBLO | |||||
gNSM.announce(value, valueStr); | gNSM.announce(value, valueStr); | ||||
#endif | |||||
break; | break; | ||||
case CB::ENGINE_OPTION_PLUGIN_PATH: | case CB::ENGINE_OPTION_PLUGIN_PATH: | ||||
@@ -2153,6 +2162,7 @@ const char* carla_get_host_osc_url_tcp() | |||||
{ | { | ||||
carla_debug("carla_get_host_osc_url_tcp()"); | carla_debug("carla_get_host_osc_url_tcp()"); | ||||
#ifdef HAVE_LIBLO | |||||
if (gStandalone.engine == nullptr) | if (gStandalone.engine == nullptr) | ||||
{ | { | ||||
carla_stderr2("Engine is not running"); | carla_stderr2("Engine is not running"); | ||||
@@ -2161,12 +2171,16 @@ const char* carla_get_host_osc_url_tcp() | |||||
} | } | ||||
return gStandalone.engine->getOscServerPathTCP(); | return gStandalone.engine->getOscServerPathTCP(); | ||||
#else | |||||
return nullptr; | |||||
#endif | |||||
} | } | ||||
const char* carla_get_host_osc_url_udp() | const char* carla_get_host_osc_url_udp() | ||||
{ | { | ||||
carla_debug("carla_get_host_osc_url_udp()"); | carla_debug("carla_get_host_osc_url_udp()"); | ||||
#ifdef HAVE_LIBLO | |||||
if (gStandalone.engine == nullptr) | if (gStandalone.engine == nullptr) | ||||
{ | { | ||||
carla_stderr2("Engine is not running"); | carla_stderr2("Engine is not running"); | ||||
@@ -2175,6 +2189,9 @@ const char* carla_get_host_osc_url_udp() | |||||
} | } | ||||
return gStandalone.engine->getOscServerPathUDP(); | return gStandalone.engine->getOscServerPathUDP(); | ||||
#else | |||||
return nullptr; | |||||
#endif | |||||
} | } | ||||
// ------------------------------------------------------------------------------------------------------------------- | // ------------------------------------------------------------------------------------------------------------------- | ||||
@@ -270,7 +270,7 @@ bool CarlaEngine::close() | |||||
removeAllPlugins(); | removeAllPlugins(); | ||||
} | } | ||||
#ifndef BUILD_BRIDGE | |||||
#if defined(HAVE_LIBLO) && ! defined(BUILD_BRIDGE) | |||||
if (pData->osc.isControlRegistered()) | if (pData->osc.isControlRegistered()) | ||||
oscSend_control_exit(); | oscSend_control_exit(); | ||||
#endif | #endif | ||||
@@ -303,7 +303,9 @@ void CarlaEngine::idle() noexcept | |||||
} | } | ||||
} | } | ||||
#ifdef HAVE_LIBLO | |||||
pData->osc.idle(); | pData->osc.idle(); | ||||
#endif | |||||
} | } | ||||
CarlaEngineClient* CarlaEngine::addClient(CarlaPlugin* const) | CarlaEngineClient* CarlaEngine::addClient(CarlaPlugin* const) | ||||
@@ -521,7 +523,7 @@ bool CarlaEngine::addPlugin(const BinaryType btype, const PluginType ptype, cons | |||||
if (plugin == nullptr) | if (plugin == nullptr) | ||||
return false; | return false; | ||||
#ifndef BUILD_BRIDGE | |||||
#if defined(HAVE_LIBLO) && ! defined(BUILD_BRIDGE) | |||||
plugin->registerToOscClient(); | plugin->registerToOscClient(); | ||||
#endif | #endif | ||||
@@ -611,8 +613,10 @@ bool CarlaEngine::removePlugin(const uint id) | |||||
} | } | ||||
*/ | */ | ||||
# ifdef HAVE_LIBLO | |||||
if (isOscControlRegistered()) | if (isOscControlRegistered()) | ||||
oscSend_control_remove_plugin(id); | oscSend_control_remove_plugin(id); | ||||
# endif | |||||
#else | #else | ||||
pData->curPluginCount = 0; | pData->curPluginCount = 0; | ||||
carla_zeroStruct(pData->plugins, 1); | carla_zeroStruct(pData->plugins, 1); | ||||
@@ -1397,15 +1401,16 @@ void CarlaEngine::setOption(const EngineOption option, const int value, const ch | |||||
} | } | ||||
} | } | ||||
#ifdef HAVE_LIBLO | |||||
// ----------------------------------------------------------------------- | // ----------------------------------------------------------------------- | ||||
// OSC Stuff | // OSC Stuff | ||||
#ifndef BUILD_BRIDGE | |||||
# ifndef BUILD_BRIDGE | |||||
bool CarlaEngine::isOscControlRegistered() const noexcept | bool CarlaEngine::isOscControlRegistered() const noexcept | ||||
{ | { | ||||
return pData->osc.isControlRegistered(); | return pData->osc.isControlRegistered(); | ||||
} | } | ||||
#endif | |||||
# endif | |||||
void CarlaEngine::idleOsc() const noexcept | void CarlaEngine::idleOsc() const noexcept | ||||
{ | { | ||||
@@ -1421,6 +1426,7 @@ const char* CarlaEngine::getOscServerPathUDP() const noexcept | |||||
{ | { | ||||
return pData->osc.getServerPathUDP(); | return pData->osc.getServerPathUDP(); | ||||
} | } | ||||
#endif | |||||
// ----------------------------------------------------------------------- | // ----------------------------------------------------------------------- | ||||
// Helper functions | // Helper functions | ||||
@@ -94,9 +94,11 @@ void EngineNextAction::clearAndReset() noexcept | |||||
// CarlaEngine::ProtectedData | // CarlaEngine::ProtectedData | ||||
CarlaEngine::ProtectedData::ProtectedData(CarlaEngine* const engine) noexcept | CarlaEngine::ProtectedData::ProtectedData(CarlaEngine* const engine) noexcept | ||||
: osc(engine), | |||||
thread(engine), | |||||
: thread(engine), | |||||
#ifdef HAVE_LIBLO | |||||
osc(engine), | |||||
oscData(nullptr), | oscData(nullptr), | ||||
#endif | |||||
callback(nullptr), | callback(nullptr), | ||||
callbackPtr(nullptr), | callbackPtr(nullptr), | ||||
fileCallback(nullptr), | fileCallback(nullptr), | ||||
@@ -145,7 +147,9 @@ CarlaEngine::ProtectedData::~ProtectedData() noexcept | |||||
bool CarlaEngine::ProtectedData::init(const char* const clientName) | bool CarlaEngine::ProtectedData::init(const char* const clientName) | ||||
{ | { | ||||
CARLA_SAFE_ASSERT_RETURN_INTERNAL_ERR(name.isEmpty(), "Invalid engine internal data (err #1)"); | CARLA_SAFE_ASSERT_RETURN_INTERNAL_ERR(name.isEmpty(), "Invalid engine internal data (err #1)"); | ||||
#ifdef HAVE_LIBLO | |||||
CARLA_SAFE_ASSERT_RETURN_INTERNAL_ERR(oscData == nullptr, "Invalid engine internal data (err #2)"); | CARLA_SAFE_ASSERT_RETURN_INTERNAL_ERR(oscData == nullptr, "Invalid engine internal data (err #2)"); | ||||
#endif | |||||
CARLA_SAFE_ASSERT_RETURN_INTERNAL_ERR(events.in == nullptr, "Invalid engine internal data (err #4)"); | CARLA_SAFE_ASSERT_RETURN_INTERNAL_ERR(events.in == nullptr, "Invalid engine internal data (err #4)"); | ||||
CARLA_SAFE_ASSERT_RETURN_INTERNAL_ERR(events.out == nullptr, "Invalid engine internal data (err #5)"); | CARLA_SAFE_ASSERT_RETURN_INTERNAL_ERR(events.out == nullptr, "Invalid engine internal data (err #5)"); | ||||
CARLA_SAFE_ASSERT_RETURN_INTERNAL_ERR(clientName != nullptr && clientName[0] != '\0', "Invalid client name"); | CARLA_SAFE_ASSERT_RETURN_INTERNAL_ERR(clientName != nullptr && clientName[0] != '\0', "Invalid client name"); | ||||
@@ -193,10 +197,14 @@ bool CarlaEngine::ProtectedData::init(const char* const clientName) | |||||
timeInfo.clear(); | timeInfo.clear(); | ||||
#ifdef HAVE_LIBLO | |||||
osc.init(clientName); | osc.init(clientName); | ||||
# ifndef BUILD_BRIDGE | |||||
oscData = osc.getControlData(); | |||||
# endif | |||||
#endif | |||||
#ifndef BUILD_BRIDGE | #ifndef BUILD_BRIDGE | ||||
oscData = osc.getControlData(); | |||||
plugins = new EnginePluginData[maxPluginNumber]; | plugins = new EnginePluginData[maxPluginNumber]; | ||||
carla_zeroStruct(plugins, maxPluginNumber); | carla_zeroStruct(plugins, maxPluginNumber); | ||||
#endif | #endif | ||||
@@ -219,8 +227,10 @@ void CarlaEngine::ProtectedData::close() | |||||
thread.stopThread(500); | thread.stopThread(500); | ||||
nextAction.ready(); | nextAction.ready(); | ||||
#ifdef HAVE_LIBLO | |||||
osc.close(); | osc.close(); | ||||
oscData = nullptr; | oscData = nullptr; | ||||
#endif | |||||
aboutToClose = false; | aboutToClose = false; | ||||
curPluginCount = 0; | curPluginCount = 0; | ||||
@@ -150,13 +150,15 @@ struct EnginePluginData { | |||||
// CarlaEngineProtectedData | // CarlaEngineProtectedData | ||||
struct CarlaEngine::ProtectedData { | struct CarlaEngine::ProtectedData { | ||||
CarlaEngineOsc osc; | |||||
CarlaEngineThread thread; | CarlaEngineThread thread; | ||||
#ifdef BUILD_BRIDGE | |||||
#ifdef HAVE_LIBLO | |||||
CarlaEngineOsc osc; | |||||
# ifdef BUILD_BRIDGE | |||||
CarlaOscData* oscData; | CarlaOscData* oscData; | ||||
#else | |||||
# else | |||||
const CarlaOscData* oscData; | const CarlaOscData* oscData; | ||||
# endif | |||||
#endif | #endif | ||||
EngineCallbackFunc callback; | EngineCallbackFunc callback; | ||||
@@ -1467,7 +1467,9 @@ protected: | |||||
} | } | ||||
} | } | ||||
#ifdef HAVE_LIBLO | |||||
pData->osc.idle(); | pData->osc.idle(); | ||||
#endif | |||||
fUiServer.idlePipe(); | fUiServer.idlePipe(); | ||||
@@ -15,6 +15,8 @@ | |||||
* For a full copy of the GNU General Public License see the doc/GPL.txt file. | * For a full copy of the GNU General Public License see the doc/GPL.txt file. | ||||
*/ | */ | ||||
#ifdef HAVE_LIBLO | |||||
#include "CarlaEngine.hpp" | #include "CarlaEngine.hpp" | ||||
#include "CarlaEngineOsc.hpp" | #include "CarlaEngineOsc.hpp" | ||||
#include "CarlaPlugin.hpp" | #include "CarlaPlugin.hpp" | ||||
@@ -541,3 +543,5 @@ int CarlaEngineOsc::handleMsgNoteOff(CARLA_ENGINE_OSC_HANDLE_ARGS) | |||||
// ----------------------------------------------------------------------- | // ----------------------------------------------------------------------- | ||||
CARLA_BACKEND_END_NAMESPACE | CARLA_BACKEND_END_NAMESPACE | ||||
#endif // HAVE_LIBLO |
@@ -18,6 +18,8 @@ | |||||
#ifndef CARLA_ENGINE_OSC_HPP_INCLUDED | #ifndef CARLA_ENGINE_OSC_HPP_INCLUDED | ||||
#define CARLA_ENGINE_OSC_HPP_INCLUDED | #define CARLA_ENGINE_OSC_HPP_INCLUDED | ||||
#ifdef HAVE_LIBLO | |||||
#include "CarlaBackend.h" | #include "CarlaBackend.h" | ||||
#include "CarlaOscUtils.hpp" | #include "CarlaOscUtils.hpp" | ||||
#include "CarlaString.hpp" | #include "CarlaString.hpp" | ||||
@@ -156,4 +158,6 @@ private: | |||||
CARLA_BACKEND_END_NAMESPACE | CARLA_BACKEND_END_NAMESPACE | ||||
#endif // HAVE_LIBLO | |||||
#endif // CARLA_ENGINE_OSC_HPP_INCLUDED | #endif // CARLA_ENGINE_OSC_HPP_INCLUDED |
@@ -15,6 +15,8 @@ | |||||
* For a full copy of the GNU General Public License see the doc/GPL.txt file. | * For a full copy of the GNU General Public License see the doc/GPL.txt file. | ||||
*/ | */ | ||||
#ifdef HAVE_LIBLO | |||||
#include "CarlaBackendUtils.hpp" | #include "CarlaBackendUtils.hpp" | ||||
#include "CarlaEngineInternal.hpp" | #include "CarlaEngineInternal.hpp" | ||||
#include "CarlaMIDI.h" | #include "CarlaMIDI.h" | ||||
@@ -401,3 +403,5 @@ void CarlaEngine::oscSend_control_exit() const noexcept | |||||
// ----------------------------------------------------------------------- | // ----------------------------------------------------------------------- | ||||
CARLA_BACKEND_END_NAMESPACE | CARLA_BACKEND_END_NAMESPACE | ||||
#endif // HAVE_LIBLO |
@@ -51,12 +51,14 @@ void CarlaEngineThread::run() noexcept | |||||
#ifdef BUILD_BRIDGE | #ifdef BUILD_BRIDGE | ||||
for (; /*kEngine->isRunning() &&*/ ! shouldThreadExit();) | for (; /*kEngine->isRunning() &&*/ ! shouldThreadExit();) | ||||
{ | |||||
const bool oscRegisted = false; | |||||
#else | #else | ||||
for (; kEngine->isRunning() && ! shouldThreadExit();) | for (; kEngine->isRunning() && ! shouldThreadExit();) | ||||
#endif | |||||
{ | { | ||||
#if defined(HAVE_LIBLO) && ! defined(BUILD_BRIDGE) | |||||
const bool oscRegisted = kEngine->isOscControlRegistered(); | const bool oscRegisted = kEngine->isOscControlRegistered(); | ||||
#else | |||||
const bool oscRegisted = false; | |||||
#endif | #endif | ||||
for (uint i=0, count = kEngine->getCurrentPluginCount(); i < count; ++i) | for (uint i=0, count = kEngine->getCurrentPluginCount(); i < count; ++i) | ||||
@@ -91,7 +93,7 @@ void CarlaEngineThread::run() noexcept | |||||
value = plugin->getParameterValue(j); | value = plugin->getParameterValue(j); | ||||
#ifndef BUILD_BRIDGE | |||||
#if defined(HAVE_LIBLO) && ! defined(BUILD_BRIDGE) | |||||
// Update OSC engine client | // Update OSC engine client | ||||
if (oscRegisted) | if (oscRegisted) | ||||
kEngine->oscSend_control_set_parameter_value(i, static_cast<int32_t>(j), value); | kEngine->oscSend_control_set_parameter_value(i, static_cast<int32_t>(j), value); | ||||
@@ -109,7 +111,7 @@ void CarlaEngineThread::run() noexcept | |||||
} | } | ||||
} | } | ||||
#ifndef BUILD_BRIDGE | |||||
#if defined(HAVE_LIBLO) && ! defined(BUILD_BRIDGE) | |||||
// ----------------------------------------------------------- | // ----------------------------------------------------------- | ||||
// Update OSC control client peaks | // Update OSC control client peaks | ||||
@@ -966,15 +966,17 @@ void CarlaPlugin::setActive(const bool active, const bool sendOsc, const bool se | |||||
#ifndef BUILD_BRIDGE | #ifndef BUILD_BRIDGE | ||||
const float value(active ? 1.0f : 0.0f); | const float value(active ? 1.0f : 0.0f); | ||||
# ifdef HAVE_LIBLO | |||||
if (sendOsc && pData->engine->isOscControlRegistered()) | if (sendOsc && pData->engine->isOscControlRegistered()) | ||||
pData->engine->oscSend_control_set_parameter_value(pData->id, PARAMETER_ACTIVE, value); | pData->engine->oscSend_control_set_parameter_value(pData->id, PARAMETER_ACTIVE, value); | ||||
# endif | |||||
if (sendCallback) | if (sendCallback) | ||||
pData->engine->callback(ENGINE_CALLBACK_PARAMETER_VALUE_CHANGED, pData->id, PARAMETER_ACTIVE, 0, value, nullptr); | pData->engine->callback(ENGINE_CALLBACK_PARAMETER_VALUE_CHANGED, pData->id, PARAMETER_ACTIVE, 0, value, nullptr); | ||||
#else | |||||
// unused | |||||
return; (void)sendOsc; (void)sendCallback; | |||||
#endif | #endif | ||||
// may be unused | |||||
return; (void)sendOsc; (void)sendCallback; | |||||
} | } | ||||
#ifndef BUILD_BRIDGE | #ifndef BUILD_BRIDGE | ||||
@@ -989,11 +991,16 @@ void CarlaPlugin::setDryWet(const float value, const bool sendOsc, const bool se | |||||
pData->postProc.dryWet = fixedValue; | pData->postProc.dryWet = fixedValue; | ||||
#ifdef HAVE_LIBLO | |||||
if (sendOsc && pData->engine->isOscControlRegistered()) | if (sendOsc && pData->engine->isOscControlRegistered()) | ||||
pData->engine->oscSend_control_set_parameter_value(pData->id, PARAMETER_DRYWET, fixedValue); | pData->engine->oscSend_control_set_parameter_value(pData->id, PARAMETER_DRYWET, fixedValue); | ||||
#endif | |||||
if (sendCallback) | if (sendCallback) | ||||
pData->engine->callback(ENGINE_CALLBACK_PARAMETER_VALUE_CHANGED, pData->id, PARAMETER_DRYWET, 0, fixedValue, nullptr); | pData->engine->callback(ENGINE_CALLBACK_PARAMETER_VALUE_CHANGED, pData->id, PARAMETER_DRYWET, 0, fixedValue, nullptr); | ||||
// may be unused | |||||
return; (void)sendOsc; | |||||
} | } | ||||
void CarlaPlugin::setVolume(const float value, const bool sendOsc, const bool sendCallback) noexcept | void CarlaPlugin::setVolume(const float value, const bool sendOsc, const bool sendCallback) noexcept | ||||
@@ -1007,11 +1014,16 @@ void CarlaPlugin::setVolume(const float value, const bool sendOsc, const bool se | |||||
pData->postProc.volume = fixedValue; | pData->postProc.volume = fixedValue; | ||||
#ifdef HAVE_LIBLO | |||||
if (sendOsc && pData->engine->isOscControlRegistered()) | if (sendOsc && pData->engine->isOscControlRegistered()) | ||||
pData->engine->oscSend_control_set_parameter_value(pData->id, PARAMETER_VOLUME, fixedValue); | pData->engine->oscSend_control_set_parameter_value(pData->id, PARAMETER_VOLUME, fixedValue); | ||||
#endif | |||||
if (sendCallback) | if (sendCallback) | ||||
pData->engine->callback(ENGINE_CALLBACK_PARAMETER_VALUE_CHANGED, pData->id, PARAMETER_VOLUME, 0, fixedValue, nullptr); | pData->engine->callback(ENGINE_CALLBACK_PARAMETER_VALUE_CHANGED, pData->id, PARAMETER_VOLUME, 0, fixedValue, nullptr); | ||||
// may be unused | |||||
return; (void)sendOsc; | |||||
} | } | ||||
void CarlaPlugin::setBalanceLeft(const float value, const bool sendOsc, const bool sendCallback) noexcept | void CarlaPlugin::setBalanceLeft(const float value, const bool sendOsc, const bool sendCallback) noexcept | ||||
@@ -1025,11 +1037,16 @@ void CarlaPlugin::setBalanceLeft(const float value, const bool sendOsc, const bo | |||||
pData->postProc.balanceLeft = fixedValue; | pData->postProc.balanceLeft = fixedValue; | ||||
#ifdef HAVE_LIBLO | |||||
if (sendOsc && pData->engine->isOscControlRegistered()) | if (sendOsc && pData->engine->isOscControlRegistered()) | ||||
pData->engine->oscSend_control_set_parameter_value(pData->id, PARAMETER_BALANCE_LEFT, fixedValue); | pData->engine->oscSend_control_set_parameter_value(pData->id, PARAMETER_BALANCE_LEFT, fixedValue); | ||||
#endif | |||||
if (sendCallback) | if (sendCallback) | ||||
pData->engine->callback(ENGINE_CALLBACK_PARAMETER_VALUE_CHANGED, pData->id, PARAMETER_BALANCE_LEFT, 0, fixedValue, nullptr); | pData->engine->callback(ENGINE_CALLBACK_PARAMETER_VALUE_CHANGED, pData->id, PARAMETER_BALANCE_LEFT, 0, fixedValue, nullptr); | ||||
// may be unused | |||||
return; (void)sendOsc; | |||||
} | } | ||||
void CarlaPlugin::setBalanceRight(const float value, const bool sendOsc, const bool sendCallback) noexcept | void CarlaPlugin::setBalanceRight(const float value, const bool sendOsc, const bool sendCallback) noexcept | ||||
@@ -1043,11 +1060,16 @@ void CarlaPlugin::setBalanceRight(const float value, const bool sendOsc, const b | |||||
pData->postProc.balanceRight = fixedValue; | pData->postProc.balanceRight = fixedValue; | ||||
#ifdef HAVE_LIBLO | |||||
if (sendOsc && pData->engine->isOscControlRegistered()) | if (sendOsc && pData->engine->isOscControlRegistered()) | ||||
pData->engine->oscSend_control_set_parameter_value(pData->id, PARAMETER_BALANCE_RIGHT, fixedValue); | pData->engine->oscSend_control_set_parameter_value(pData->id, PARAMETER_BALANCE_RIGHT, fixedValue); | ||||
#endif | |||||
if (sendCallback) | if (sendCallback) | ||||
pData->engine->callback(ENGINE_CALLBACK_PARAMETER_VALUE_CHANGED, pData->id, PARAMETER_BALANCE_RIGHT, 0, fixedValue, nullptr); | pData->engine->callback(ENGINE_CALLBACK_PARAMETER_VALUE_CHANGED, pData->id, PARAMETER_BALANCE_RIGHT, 0, fixedValue, nullptr); | ||||
// may be unused | |||||
return; (void)sendOsc; | |||||
} | } | ||||
void CarlaPlugin::setPanning(const float value, const bool sendOsc, const bool sendCallback) noexcept | void CarlaPlugin::setPanning(const float value, const bool sendOsc, const bool sendCallback) noexcept | ||||
@@ -1061,13 +1083,18 @@ void CarlaPlugin::setPanning(const float value, const bool sendOsc, const bool s | |||||
pData->postProc.panning = fixedValue; | pData->postProc.panning = fixedValue; | ||||
#ifdef HAVE_LIBLO | |||||
if (sendOsc && pData->engine->isOscControlRegistered()) | if (sendOsc && pData->engine->isOscControlRegistered()) | ||||
pData->engine->oscSend_control_set_parameter_value(pData->id, PARAMETER_PANNING, fixedValue); | pData->engine->oscSend_control_set_parameter_value(pData->id, PARAMETER_PANNING, fixedValue); | ||||
#endif | |||||
if (sendCallback) | if (sendCallback) | ||||
pData->engine->callback(ENGINE_CALLBACK_PARAMETER_VALUE_CHANGED, pData->id, PARAMETER_PANNING, 0, fixedValue, nullptr); | pData->engine->callback(ENGINE_CALLBACK_PARAMETER_VALUE_CHANGED, pData->id, PARAMETER_PANNING, 0, fixedValue, nullptr); | ||||
// may be unused | |||||
return; (void)sendOsc; | |||||
} | } | ||||
#endif | |||||
#endif // ! BUILD_BRIDGE | |||||
void CarlaPlugin::setCtrlChannel(const int8_t channel, const bool sendOsc, const bool sendCallback) noexcept | void CarlaPlugin::setCtrlChannel(const int8_t channel, const bool sendOsc, const bool sendCallback) noexcept | ||||
{ | { | ||||
@@ -1084,15 +1111,17 @@ void CarlaPlugin::setCtrlChannel(const int8_t channel, const bool sendOsc, const | |||||
#ifndef BUILD_BRIDGE | #ifndef BUILD_BRIDGE | ||||
const float channelf(channel); | const float channelf(channel); | ||||
# ifdef HAVE_LIBLO | |||||
if (sendOsc && pData->engine->isOscControlRegistered()) | if (sendOsc && pData->engine->isOscControlRegistered()) | ||||
pData->engine->oscSend_control_set_parameter_value(pData->id, PARAMETER_CTRL_CHANNEL, channelf); | pData->engine->oscSend_control_set_parameter_value(pData->id, PARAMETER_CTRL_CHANNEL, channelf); | ||||
# endif | |||||
if (sendCallback) | if (sendCallback) | ||||
pData->engine->callback(ENGINE_CALLBACK_PARAMETER_VALUE_CHANGED, pData->id, PARAMETER_CTRL_CHANNEL, 0, channelf, nullptr); | pData->engine->callback(ENGINE_CALLBACK_PARAMETER_VALUE_CHANGED, pData->id, PARAMETER_CTRL_CHANNEL, 0, channelf, nullptr); | ||||
#else | |||||
// unused | |||||
return; (void)sendOsc; (void)sendCallback; | |||||
#endif | #endif | ||||
// may be unused | |||||
return; (void)sendOsc; (void)sendCallback; | |||||
} | } | ||||
// ------------------------------------------------------------------- | // ------------------------------------------------------------------- | ||||
@@ -1106,17 +1135,17 @@ void CarlaPlugin::setParameterValue(const uint32_t parameterId, const float valu | |||||
uiParameterChange(parameterId, value); | uiParameterChange(parameterId, value); | ||||
#ifndef BUILD_BRIDGE | #ifndef BUILD_BRIDGE | ||||
# ifdef HAVE_LIBLO | |||||
if (sendOsc && pData->engine->isOscControlRegistered()) | if (sendOsc && pData->engine->isOscControlRegistered()) | ||||
pData->engine->oscSend_control_set_parameter_value(pData->id, static_cast<int32_t>(parameterId), value); | pData->engine->oscSend_control_set_parameter_value(pData->id, static_cast<int32_t>(parameterId), value); | ||||
#endif | |||||
# endif | |||||
if (sendCallback) | if (sendCallback) | ||||
pData->engine->callback(ENGINE_CALLBACK_PARAMETER_VALUE_CHANGED, pData->id, static_cast<int>(parameterId), 0, value, nullptr); | pData->engine->callback(ENGINE_CALLBACK_PARAMETER_VALUE_CHANGED, pData->id, static_cast<int>(parameterId), 0, value, nullptr); | ||||
#ifdef BUILD_BRIDGE | |||||
// unused | |||||
return; (void)sendOsc; | |||||
#endif | #endif | ||||
// may be unused | |||||
return; (void)sendOsc; (void)sendCallback; | |||||
} | } | ||||
void CarlaPlugin::setParameterValueByRealIndex(const int32_t rindex, const float value, const bool sendGui, const bool sendOsc, const bool sendCallback) noexcept | void CarlaPlugin::setParameterValueByRealIndex(const int32_t rindex, const float value, const bool sendGui, const bool sendOsc, const bool sendCallback) noexcept | ||||
@@ -1166,15 +1195,17 @@ void CarlaPlugin::setParameterMidiChannel(const uint32_t parameterId, const uint | |||||
pData->param.data[parameterId].midiChannel = channel; | pData->param.data[parameterId].midiChannel = channel; | ||||
#ifndef BUILD_BRIDGE | #ifndef BUILD_BRIDGE | ||||
# ifdef HAVE_LIBLO | |||||
if (sendOsc && pData->engine->isOscControlRegistered()) | if (sendOsc && pData->engine->isOscControlRegistered()) | ||||
pData->engine->oscSend_control_set_parameter_midi_channel(pData->id, parameterId, channel); | pData->engine->oscSend_control_set_parameter_midi_channel(pData->id, parameterId, channel); | ||||
# endif | |||||
if (sendCallback) | if (sendCallback) | ||||
pData->engine->callback(ENGINE_CALLBACK_PARAMETER_MIDI_CHANNEL_CHANGED, pData->id, static_cast<int>(parameterId), channel, 0.0f, nullptr); | pData->engine->callback(ENGINE_CALLBACK_PARAMETER_MIDI_CHANNEL_CHANGED, pData->id, static_cast<int>(parameterId), channel, 0.0f, nullptr); | ||||
#else | |||||
// unused | |||||
return; (void)sendOsc; (void)sendCallback; | |||||
#endif | #endif | ||||
// may be unused | |||||
return; (void)sendOsc; (void)sendCallback; | |||||
} | } | ||||
void CarlaPlugin::setParameterMidiCC(const uint32_t parameterId, const int16_t cc, const bool sendOsc, const bool sendCallback) noexcept | void CarlaPlugin::setParameterMidiCC(const uint32_t parameterId, const int16_t cc, const bool sendOsc, const bool sendCallback) noexcept | ||||
@@ -1188,15 +1219,17 @@ void CarlaPlugin::setParameterMidiCC(const uint32_t parameterId, const int16_t c | |||||
pData->param.data[parameterId].midiCC = cc; | pData->param.data[parameterId].midiCC = cc; | ||||
#ifndef BUILD_BRIDGE | #ifndef BUILD_BRIDGE | ||||
# ifdef HAVE_LIBLO | |||||
if (sendOsc && pData->engine->isOscControlRegistered()) | if (sendOsc && pData->engine->isOscControlRegistered()) | ||||
pData->engine->oscSend_control_set_parameter_midi_cc(pData->id, parameterId, cc); | pData->engine->oscSend_control_set_parameter_midi_cc(pData->id, parameterId, cc); | ||||
# endif | |||||
if (sendCallback) | if (sendCallback) | ||||
pData->engine->callback(ENGINE_CALLBACK_PARAMETER_MIDI_CC_CHANGED, pData->id, static_cast<int>(parameterId), cc, 0.0f, nullptr); | pData->engine->callback(ENGINE_CALLBACK_PARAMETER_MIDI_CC_CHANGED, pData->id, static_cast<int>(parameterId), cc, 0.0f, nullptr); | ||||
#else | |||||
// unused | |||||
return; (void)sendOsc; (void)sendCallback; | |||||
#endif | #endif | ||||
// may be unused | |||||
return; (void)sendOsc; (void)sendCallback; | |||||
} | } | ||||
void CarlaPlugin::setCustomData(const char* const type, const char* const key, const char* const value, const bool) | void CarlaPlugin::setCustomData(const char* const type, const char* const key, const char* const value, const bool) | ||||
@@ -1249,13 +1282,13 @@ void CarlaPlugin::setProgram(const int32_t index, const bool sendGui, const bool | |||||
pData->prog.current = index; | pData->prog.current = index; | ||||
#ifdef BUILD_BRIDGE | |||||
const bool reallySendOsc(false); | |||||
#else | |||||
#if defined(HAVE_LIBLO) && ! defined(BUILD_BRIDGE) | |||||
const bool reallySendOsc(sendOsc && pData->engine->isOscControlRegistered()); | const bool reallySendOsc(sendOsc && pData->engine->isOscControlRegistered()); | ||||
if (reallySendOsc) | if (reallySendOsc) | ||||
pData->engine->oscSend_control_set_current_program(pData->id, index); | pData->engine->oscSend_control_set_current_program(pData->id, index); | ||||
#else | |||||
const bool reallySendOsc(false); | |||||
#endif | #endif | ||||
if (sendCallback) | if (sendCallback) | ||||
@@ -1273,10 +1306,8 @@ void CarlaPlugin::setProgram(const int32_t index, const bool sendGui, const bool | |||||
pData->updateParameterValues(this, reallySendOsc, sendCallback, true); | pData->updateParameterValues(this, reallySendOsc, sendCallback, true); | ||||
} | } | ||||
#ifdef BUILD_BRIDGE | |||||
// unused | |||||
// may be unused | |||||
return; (void)sendGui; (void)sendOsc; | return; (void)sendGui; (void)sendOsc; | ||||
#endif | |||||
} | } | ||||
void CarlaPlugin::setMidiProgram(const int32_t index, const bool sendGui, const bool sendOsc, const bool sendCallback) noexcept | void CarlaPlugin::setMidiProgram(const int32_t index, const bool sendGui, const bool sendOsc, const bool sendCallback) noexcept | ||||
@@ -1285,13 +1316,13 @@ void CarlaPlugin::setMidiProgram(const int32_t index, const bool sendGui, const | |||||
pData->midiprog.current = index; | pData->midiprog.current = index; | ||||
#ifdef BUILD_BRIDGE | |||||
const bool reallySendOsc(false); | |||||
#else | |||||
#if defined(HAVE_LIBLO) && ! defined(BUILD_BRIDGE) | |||||
const bool reallySendOsc(sendOsc && pData->engine->isOscControlRegistered()); | const bool reallySendOsc(sendOsc && pData->engine->isOscControlRegistered()); | ||||
if (reallySendOsc) | if (reallySendOsc) | ||||
pData->engine->oscSend_control_set_current_midi_program(pData->id, index); | pData->engine->oscSend_control_set_current_midi_program(pData->id, index); | ||||
#else | |||||
const bool reallySendOsc(false); | |||||
#endif | #endif | ||||
if (sendCallback) | if (sendCallback) | ||||
@@ -1308,10 +1339,8 @@ void CarlaPlugin::setMidiProgram(const int32_t index, const bool sendGui, const | |||||
pData->updateParameterValues(this, reallySendOsc, sendCallback, true); | pData->updateParameterValues(this, reallySendOsc, sendCallback, true); | ||||
} | } | ||||
#ifdef BUILD_BRIDGE | |||||
// unused | |||||
// may be unused | |||||
return; (void)sendGui; (void)sendOsc; | return; (void)sendGui; (void)sendOsc; | ||||
#endif | |||||
} | } | ||||
void CarlaPlugin::setMidiProgramById(const uint32_t bank, const uint32_t program, const bool sendGui, const bool sendOsc, const bool sendCallback) noexcept | void CarlaPlugin::setMidiProgramById(const uint32_t bank, const uint32_t program, const bool sendGui, const bool sendOsc, const bool sendCallback) noexcept | ||||
@@ -1365,7 +1394,7 @@ void CarlaPlugin::idle() | |||||
const bool hasUI(pData->hints & PLUGIN_HAS_CUSTOM_UI); | const bool hasUI(pData->hints & PLUGIN_HAS_CUSTOM_UI); | ||||
const bool needsUiMainThread(pData->hints & PLUGIN_NEEDS_UI_MAIN_THREAD); | const bool needsUiMainThread(pData->hints & PLUGIN_NEEDS_UI_MAIN_THREAD); | ||||
#ifndef BUILD_BRIDGE | |||||
#if defined(HAVE_LIBLO) && ! defined(BUILD_BRIDGE) | |||||
const bool sendOsc(pData->engine->isOscControlRegistered()); | const bool sendOsc(pData->engine->isOscControlRegistered()); | ||||
#endif | #endif | ||||
@@ -1397,7 +1426,7 @@ void CarlaPlugin::idle() | |||||
if (event.value2 != 1) | if (event.value2 != 1) | ||||
{ | { | ||||
#ifndef BUILD_BRIDGE | |||||
#if defined(HAVE_LIBLO) && ! defined(BUILD_BRIDGE) | |||||
// Update OSC control client | // Update OSC control client | ||||
if (sendOsc) | if (sendOsc) | ||||
pData->engine->oscSend_control_set_parameter_value(pData->id, event.value1, event.value3); | pData->engine->oscSend_control_set_parameter_value(pData->id, event.value1, event.value3); | ||||
@@ -1423,7 +1452,7 @@ void CarlaPlugin::idle() | |||||
const float paramDefault(pData->param.ranges[j].def); | const float paramDefault(pData->param.ranges[j].def); | ||||
const float paramValue(getParameterValue(j)); | const float paramValue(getParameterValue(j)); | ||||
#ifndef BUILD_BRIDGE | |||||
#if defined(HAVE_LIBLO) && ! defined(BUILD_BRIDGE) | |||||
if (sendOsc) | if (sendOsc) | ||||
{ | { | ||||
pData->engine->oscSend_control_set_parameter_value(pData->id, static_cast<int32_t>(j), paramValue); | pData->engine->oscSend_control_set_parameter_value(pData->id, static_cast<int32_t>(j), paramValue); | ||||
@@ -1434,7 +1463,7 @@ void CarlaPlugin::idle() | |||||
pData->engine->callback(ENGINE_CALLBACK_PARAMETER_DEFAULT_CHANGED, pData->id, static_cast<int>(j), 0, paramDefault, nullptr); | pData->engine->callback(ENGINE_CALLBACK_PARAMETER_DEFAULT_CHANGED, pData->id, static_cast<int>(j), 0, paramDefault, nullptr); | ||||
} | } | ||||
#ifndef BUILD_BRIDGE | |||||
#if defined(HAVE_LIBLO) && ! defined(BUILD_BRIDGE) | |||||
// Update OSC control client | // Update OSC control client | ||||
if (sendOsc) | if (sendOsc) | ||||
pData->engine->oscSend_control_set_current_program(pData->id, event.value1); | pData->engine->oscSend_control_set_current_program(pData->id, event.value1); | ||||
@@ -1460,7 +1489,7 @@ void CarlaPlugin::idle() | |||||
const float paramDefault(pData->param.ranges[j].def); | const float paramDefault(pData->param.ranges[j].def); | ||||
const float paramValue(getParameterValue(j)); | const float paramValue(getParameterValue(j)); | ||||
#ifndef BUILD_BRIDGE | |||||
#if defined(HAVE_LIBLO) && ! defined(BUILD_BRIDGE) | |||||
if (sendOsc) | if (sendOsc) | ||||
{ | { | ||||
pData->engine->oscSend_control_set_parameter_value(pData->id, static_cast<int32_t>(j), paramValue); | pData->engine->oscSend_control_set_parameter_value(pData->id, static_cast<int32_t>(j), paramValue); | ||||
@@ -1471,7 +1500,7 @@ void CarlaPlugin::idle() | |||||
pData->engine->callback(ENGINE_CALLBACK_PARAMETER_DEFAULT_CHANGED, pData->id, static_cast<int>(j), 0, paramDefault, nullptr); | pData->engine->callback(ENGINE_CALLBACK_PARAMETER_DEFAULT_CHANGED, pData->id, static_cast<int>(j), 0, paramDefault, nullptr); | ||||
} | } | ||||
#ifndef BUILD_BRIDGE | |||||
#if defined(HAVE_LIBLO) && ! defined(BUILD_BRIDGE) | |||||
// Update OSC control client | // Update OSC control client | ||||
if (sendOsc) | if (sendOsc) | ||||
pData->engine->oscSend_control_set_current_midi_program(pData->id, event.value1); | pData->engine->oscSend_control_set_current_midi_program(pData->id, event.value1); | ||||
@@ -1499,7 +1528,7 @@ void CarlaPlugin::idle() | |||||
uiNoteOn(channel, note, velocity); | uiNoteOn(channel, note, velocity); | ||||
} | } | ||||
#ifndef BUILD_BRIDGE | |||||
#if defined(HAVE_LIBLO) && ! defined(BUILD_BRIDGE) | |||||
// Update OSC control client | // Update OSC control client | ||||
if (sendOsc) | if (sendOsc) | ||||
pData->engine->oscSend_control_note_on(pData->id, channel, note, velocity); | pData->engine->oscSend_control_note_on(pData->id, channel, note, velocity); | ||||
@@ -1525,7 +1554,7 @@ void CarlaPlugin::idle() | |||||
uiNoteOff(channel, note); | uiNoteOff(channel, note); | ||||
} | } | ||||
#ifndef BUILD_BRIDGE | |||||
#if defined(HAVE_LIBLO) && ! defined(BUILD_BRIDGE) | |||||
// Update OSC control client | // Update OSC control client | ||||
if (sendOsc) | if (sendOsc) | ||||
pData->engine->oscSend_control_note_off(pData->id, channel, note); | pData->engine->oscSend_control_note_off(pData->id, channel, note); | ||||
@@ -1573,10 +1602,10 @@ void CarlaPlugin::clearBuffers() noexcept | |||||
pData->clearBuffers(); | pData->clearBuffers(); | ||||
} | } | ||||
#if defined(HAVE_LIBLO) && ! defined(BUILD_BRIDGE) | |||||
// ------------------------------------------------------------------- | // ------------------------------------------------------------------- | ||||
// OSC stuff | // OSC stuff | ||||
#ifndef BUILD_BRIDGE | |||||
void CarlaPlugin::registerToOscClient() noexcept | void CarlaPlugin::registerToOscClient() noexcept | ||||
{ | { | ||||
if (! pData->engine->isOscControlRegistered()) | if (! pData->engine->isOscControlRegistered()) | ||||
@@ -1675,12 +1704,14 @@ void CarlaPlugin::registerToOscClient() noexcept | |||||
pData->engine->oscSend_control_set_parameter_value(pData->id, PARAMETER_ACTIVE, pData->active ? 1.0f : 0.0f); | pData->engine->oscSend_control_set_parameter_value(pData->id, PARAMETER_ACTIVE, pData->active ? 1.0f : 0.0f); | ||||
} | } | ||||
} | } | ||||
#endif // BUILD_BRIDGE | |||||
#endif | |||||
// FIXME | |||||
void CarlaPlugin::handleOscMessage(const char* const, const int, const void* const, const char* const, const lo_message) | void CarlaPlugin::handleOscMessage(const char* const, const int, const void* const, const char* const, const lo_message) | ||||
{ | { | ||||
// do nothing | // do nothing | ||||
} | } | ||||
//#endif // HAVE_LIBLO && ! BUILD_BRIDGE | |||||
// ------------------------------------------------------------------- | // ------------------------------------------------------------------- | ||||
// MIDI events | // MIDI events | ||||
@@ -1709,7 +1740,7 @@ void CarlaPlugin::sendMidiSingleNote(const uint8_t channel, const uint8_t note, | |||||
uiNoteOff(channel, note); | uiNoteOff(channel, note); | ||||
} | } | ||||
#ifndef BUILD_BRIDGE | |||||
#if defined(HAVE_LIBLO) && ! defined(BUILD_BRIDGE) | |||||
if (sendOsc && pData->engine->isOscControlRegistered()) | if (sendOsc && pData->engine->isOscControlRegistered()) | ||||
{ | { | ||||
if (velo > 0) | if (velo > 0) | ||||
@@ -1722,10 +1753,8 @@ void CarlaPlugin::sendMidiSingleNote(const uint8_t channel, const uint8_t note, | |||||
if (sendCallback) | if (sendCallback) | ||||
pData->engine->callback((velo > 0) ? ENGINE_CALLBACK_NOTE_ON : ENGINE_CALLBACK_NOTE_OFF, pData->id, channel, note, velo, nullptr); | pData->engine->callback((velo > 0) ? ENGINE_CALLBACK_NOTE_ON : ENGINE_CALLBACK_NOTE_OFF, pData->id, channel, note, velo, nullptr); | ||||
#ifdef BUILD_BRIDGE | |||||
// unused | |||||
// may be unused | |||||
return; (void)sendOsc; | return; (void)sendOsc; | ||||
#endif | |||||
} | } | ||||
#ifndef BUILD_BRIDGE | #ifndef BUILD_BRIDGE | ||||
@@ -23,7 +23,11 @@ | |||||
#include "CarlaDssiUtils.hpp" | #include "CarlaDssiUtils.hpp" | ||||
#include "CarlaMathUtils.hpp" | #include "CarlaMathUtils.hpp" | ||||
#include "CarlaThread.hpp" | |||||
#ifdef HAVE_LIBLO | |||||
# include "CarlaOscUtils.hpp" | |||||
# include "CarlaThread.hpp" | |||||
#endif | |||||
using juce::ChildProcess; | using juce::ChildProcess; | ||||
using juce::ScopedPointer; | using juce::ScopedPointer; | ||||
@@ -60,6 +64,7 @@ CARLA_BACKEND_START_NAMESPACE | |||||
static const CustomData kCustomDataFallback = { nullptr, nullptr, nullptr }; | static const CustomData kCustomDataFallback = { nullptr, nullptr, nullptr }; | ||||
#ifdef HAVE_LIBLO | |||||
// ------------------------------------------------------------------- | // ------------------------------------------------------------------- | ||||
class CarlaThreadDSSIUI : public CarlaThread | class CarlaThreadDSSIUI : public CarlaThread | ||||
@@ -241,6 +246,7 @@ private: | |||||
CARLA_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(CarlaThreadDSSIUI) | CARLA_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(CarlaThreadDSSIUI) | ||||
}; | }; | ||||
#endif | |||||
// ----------------------------------------------------- | // ----------------------------------------------------- | ||||
@@ -254,14 +260,18 @@ public: | |||||
fDescriptor(nullptr), | fDescriptor(nullptr), | ||||
fDssiDescriptor(nullptr), | fDssiDescriptor(nullptr), | ||||
fUsesCustomData(false), | fUsesCustomData(false), | ||||
#ifdef HAVE_LIBLO | |||||
fUiFilename(nullptr), | fUiFilename(nullptr), | ||||
#endif | |||||
fAudioInBuffers(nullptr), | fAudioInBuffers(nullptr), | ||||
fAudioOutBuffers(nullptr), | fAudioOutBuffers(nullptr), | ||||
fParamBuffers(nullptr), | fParamBuffers(nullptr), | ||||
fLatencyChanged(false), | fLatencyChanged(false), | ||||
fLatencyIndex(-1), | fLatencyIndex(-1), | ||||
#ifdef HAVE_LIBLO | |||||
fOscData(), | fOscData(), | ||||
fThreadUI(engine, this, fOscData), | fThreadUI(engine, this, fOscData), | ||||
#endif | |||||
leakDetector_CarlaPluginDSSI() | leakDetector_CarlaPluginDSSI() | ||||
{ | { | ||||
carla_debug("CarlaPluginDSSI::CarlaPluginDSSI(%p, %i)", engine, id); | carla_debug("CarlaPluginDSSI::CarlaPluginDSSI(%p, %i)", engine, id); | ||||
@@ -271,6 +281,7 @@ public: | |||||
{ | { | ||||
carla_debug("CarlaPluginDSSI::~CarlaPluginDSSI()"); | carla_debug("CarlaPluginDSSI::~CarlaPluginDSSI()"); | ||||
#ifdef HAVE_LIBLO | |||||
// close UI | // close UI | ||||
if (pData->hints & PLUGIN_HAS_CUSTOM_UI) | if (pData->hints & PLUGIN_HAS_CUSTOM_UI) | ||||
{ | { | ||||
@@ -278,6 +289,7 @@ public: | |||||
fThreadUI.stopThread(static_cast<int>(pData->engine->getOptions().uiBridgesTimeout * 2)); | fThreadUI.stopThread(static_cast<int>(pData->engine->getOptions().uiBridgesTimeout * 2)); | ||||
} | } | ||||
#endif | |||||
pData->singleMutex.lock(); | pData->singleMutex.lock(); | ||||
pData->masterMutex.lock(); | pData->masterMutex.lock(); | ||||
@@ -319,11 +331,13 @@ public: | |||||
fDssiDescriptor = nullptr; | fDssiDescriptor = nullptr; | ||||
} | } | ||||
#ifdef HAVE_LIBLO | |||||
if (fUiFilename != nullptr) | if (fUiFilename != nullptr) | ||||
{ | { | ||||
delete[] fUiFilename; | delete[] fUiFilename; | ||||
fUiFilename = nullptr; | fUiFilename = nullptr; | ||||
} | } | ||||
#endif | |||||
clearBuffers(); | clearBuffers(); | ||||
} | } | ||||
@@ -557,8 +571,10 @@ public: | |||||
} | } | ||||
} | } | ||||
#ifdef HAVE_LIBLO | |||||
if (sendGui && fOscData.target != nullptr) | if (sendGui && fOscData.target != nullptr) | ||||
osc_send_configure(fOscData, key, value); | osc_send_configure(fOscData, key, value); | ||||
#endif | |||||
if (std::strcmp(key, "reloadprograms") == 0 || std::strcmp(key, "load") == 0 || std::strncmp(key, "patches", 7) == 0) | if (std::strcmp(key, "reloadprograms") == 0 || std::strcmp(key, "load") == 0 || std::strncmp(key, "patches", 7) == 0) | ||||
{ | { | ||||
@@ -588,10 +604,10 @@ public: | |||||
} CARLA_SAFE_EXCEPTION("CarlaPluginDSSI::setChunkData"); | } CARLA_SAFE_EXCEPTION("CarlaPluginDSSI::setChunkData"); | ||||
} | } | ||||
#ifdef BUILD_BRIDGE | |||||
const bool sendOsc(false); | |||||
#else | |||||
#if defined(HAVE_LIBLO) && ! defined(BUILD_BRIDGE) | |||||
const bool sendOsc(pData->engine->isOscControlRegistered()); | const bool sendOsc(pData->engine->isOscControlRegistered()); | ||||
#else | |||||
const bool sendOsc(false); | |||||
#endif | #endif | ||||
pData->updateParameterValues(this, sendOsc, true, false); | pData->updateParameterValues(this, sendOsc, true, false); | ||||
} | } | ||||
@@ -625,6 +641,7 @@ public: | |||||
CarlaPlugin::setMidiProgram(index, sendGui, sendOsc, sendCallback); | CarlaPlugin::setMidiProgram(index, sendGui, sendOsc, sendCallback); | ||||
} | } | ||||
#ifdef HAVE_LIBLO | |||||
// ------------------------------------------------------------------- | // ------------------------------------------------------------------- | ||||
// Set ui stuff | // Set ui stuff | ||||
@@ -649,6 +666,7 @@ public: | |||||
fThreadUI.stopThread(static_cast<int>(pData->engine->getOptions().uiBridgesTimeout * 2)); | fThreadUI.stopThread(static_cast<int>(pData->engine->getOptions().uiBridgesTimeout * 2)); | ||||
} | } | ||||
} | } | ||||
#endif | |||||
void idle() override | void idle() override | ||||
{ | { | ||||
@@ -1069,8 +1087,10 @@ public: | |||||
if (LADSPA_IS_HARD_RT_CAPABLE(fDescriptor->Properties)) | if (LADSPA_IS_HARD_RT_CAPABLE(fDescriptor->Properties)) | ||||
pData->hints |= PLUGIN_IS_RTSAFE; | pData->hints |= PLUGIN_IS_RTSAFE; | ||||
#ifdef HAVE_LIBLO | |||||
if (fUiFilename != nullptr) | if (fUiFilename != nullptr) | ||||
pData->hints |= PLUGIN_HAS_CUSTOM_UI; | pData->hints |= PLUGIN_HAS_CUSTOM_UI; | ||||
#endif | |||||
#ifndef BUILD_BRIDGE | #ifndef BUILD_BRIDGE | ||||
if (aOuts > 0 && (aIns == aOuts || aIns == 1)) | if (aOuts > 0 && (aIns == aOuts || aIns == 1)) | ||||
@@ -1204,7 +1224,7 @@ public: | |||||
} | } | ||||
} | } | ||||
#ifndef BUILD_BRIDGE | |||||
#if defined(HAVE_LIBLO) && ! defined(BUILD_BRIDGE) | |||||
// Update OSC Names | // Update OSC Names | ||||
if (pData->engine->isOscControlRegistered()) | if (pData->engine->isOscControlRegistered()) | ||||
{ | { | ||||
@@ -2117,6 +2137,7 @@ public: | |||||
carla_debug("CarlaPluginDSSI::clearBuffers() - end"); | carla_debug("CarlaPluginDSSI::clearBuffers() - end"); | ||||
} | } | ||||
#ifdef HAVE_LIBLO | |||||
// ------------------------------------------------------------------- | // ------------------------------------------------------------------- | ||||
// OSC stuff | // OSC stuff | ||||
@@ -2315,7 +2336,9 @@ public: | |||||
// tell frontend | // tell frontend | ||||
pData->engine->callback(ENGINE_CALLBACK_UI_STATE_CHANGED, pData->id, 0, 0, 0.0f, nullptr); | pData->engine->callback(ENGINE_CALLBACK_UI_STATE_CHANGED, pData->id, 0, 0, 0.0f, nullptr); | ||||
} | } | ||||
#endif | |||||
#ifdef HAVE_LIBLO | |||||
// ------------------------------------------------------------------- | // ------------------------------------------------------------------- | ||||
// Post-poned UI Stuff | // Post-poned UI Stuff | ||||
@@ -2377,6 +2400,7 @@ public: | |||||
osc_send_midi(fOscData, midiData); | osc_send_midi(fOscData, midiData); | ||||
#endif | #endif | ||||
} | } | ||||
#endif | |||||
// ------------------------------------------------------------------- | // ------------------------------------------------------------------- | ||||
@@ -2390,6 +2414,7 @@ public: | |||||
return fDssiDescriptor; | return fDssiDescriptor; | ||||
} | } | ||||
#ifdef HAVE_LIBLO | |||||
uintptr_t getUiBridgeProcessId() const noexcept override | uintptr_t getUiBridgeProcessId() const noexcept override | ||||
{ | { | ||||
return fThreadUI.getProcessPID(); | return fThreadUI.getProcessPID(); | ||||
@@ -2399,6 +2424,7 @@ public: | |||||
{ | { | ||||
return fUiFilename; | return fUiFilename; | ||||
} | } | ||||
#endif | |||||
// ------------------------------------------------------------------- | // ------------------------------------------------------------------- | ||||
@@ -2562,6 +2588,7 @@ public: | |||||
} | } | ||||
} | } | ||||
#ifdef HAVE_LIBLO | |||||
// --------------------------------------------------------------- | // --------------------------------------------------------------- | ||||
// gui stuff | // gui stuff | ||||
@@ -2570,6 +2597,7 @@ public: | |||||
fThreadUI.setData(guiFilename, fDescriptor->Label); | fThreadUI.setData(guiFilename, fDescriptor->Label); | ||||
fUiFilename = guiFilename; | fUiFilename = guiFilename; | ||||
} | } | ||||
#endif | |||||
// --------------------------------------------------------------- | // --------------------------------------------------------------- | ||||
// set default options | // set default options | ||||
@@ -2617,7 +2645,9 @@ private: | |||||
const DSSI_Descriptor* fDssiDescriptor; | const DSSI_Descriptor* fDssiDescriptor; | ||||
bool fUsesCustomData; | bool fUsesCustomData; | ||||
#ifdef HAVE_LIBLO | |||||
const char* fUiFilename; | const char* fUiFilename; | ||||
#endif | |||||
float** fAudioInBuffers; | float** fAudioInBuffers; | ||||
float** fAudioOutBuffers; | float** fAudioOutBuffers; | ||||
@@ -2628,8 +2658,10 @@ private: | |||||
snd_seq_event_t fMidiEvents[kPluginMaxMidiEvents]; | snd_seq_event_t fMidiEvents[kPluginMaxMidiEvents]; | ||||
#ifdef HAVE_LIBLO | |||||
CarlaOscData fOscData; | CarlaOscData fOscData; | ||||
CarlaThreadDSSIUI fThreadUI; | CarlaThreadDSSIUI fThreadUI; | ||||
#endif | |||||
// ------------------------------------------------------------------- | // ------------------------------------------------------------------- | ||||
@@ -743,7 +743,7 @@ void CarlaPlugin::ProtectedData::updateParameterValues(CarlaPlugin* const plugin | |||||
if (useDefault) | if (useDefault) | ||||
param.ranges[i].def = value; | param.ranges[i].def = value; | ||||
#ifndef BUILD_BRIDGE | |||||
#if defined(HAVE_LIBLO) && ! defined(BUILD_BRIDGE) | |||||
if (sendOsc) | if (sendOsc) | ||||
{ | { | ||||
if (useDefault) | if (useDefault) | ||||
@@ -760,10 +760,8 @@ void CarlaPlugin::ProtectedData::updateParameterValues(CarlaPlugin* const plugin | |||||
} | } | ||||
} | } | ||||
#ifdef BUILD_BRIDGE | |||||
// unused | |||||
// may be unused | |||||
return; (void)sendOsc; | return; (void)sendOsc; | ||||
#endif | |||||
} | } | ||||
// ----------------------------------------------------------------------- | // ----------------------------------------------------------------------- | ||||
@@ -21,7 +21,6 @@ | |||||
#include "CarlaPlugin.hpp" | #include "CarlaPlugin.hpp" | ||||
#include "CarlaLibUtils.hpp" | #include "CarlaLibUtils.hpp" | ||||
#include "CarlaOscUtils.hpp" | |||||
#include "CarlaStateUtils.hpp" | #include "CarlaStateUtils.hpp" | ||||
#include "CarlaMIDI.h" | #include "CarlaMIDI.h" | ||||
@@ -2470,7 +2470,7 @@ public: | |||||
} | } | ||||
} | } | ||||
#ifndef BUILD_BRIDGE | |||||
#if defined(HAVE_LIBLO) && ! defined(BUILD_BRIDGE) | |||||
// Update OSC Names | // Update OSC Names | ||||
if (pData->engine->isOscControlRegistered()) | if (pData->engine->isOscControlRegistered()) | ||||
{ | { | ||||
@@ -1197,7 +1197,7 @@ public: | |||||
} | } | ||||
} | } | ||||
#ifndef BUILD_BRIDGE | |||||
#if defined(HAVE_LIBLO) && ! defined(BUILD_BRIDGE) | |||||
// Update OSC Names | // Update OSC Names | ||||
if (pData->engine->isOscControlRegistered()) | if (pData->engine->isOscControlRegistered()) | ||||
{ | { | ||||
@@ -356,10 +356,10 @@ public: | |||||
// simulate an updateDisplay callback | // simulate an updateDisplay callback | ||||
handleAudioMasterCallback(audioMasterUpdateDisplay, 0, 0, nullptr, 0.0f); | handleAudioMasterCallback(audioMasterUpdateDisplay, 0, 0, nullptr, 0.0f); | ||||
#ifdef BUILD_BRIDGE | |||||
const bool sendOsc(false); | |||||
#else | |||||
#if defined(HAVE_LIBLO) && ! defined(BUILD_BRIDGE) | |||||
const bool sendOsc(pData->engine->isOscControlRegistered()); | const bool sendOsc(pData->engine->isOscControlRegistered()); | ||||
#else | |||||
const bool sendOsc(false); | |||||
#endif | #endif | ||||
pData->updateParameterValues(this, sendOsc, true, false); | pData->updateParameterValues(this, sendOsc, true, false); | ||||
} | } | ||||
@@ -912,7 +912,7 @@ public: | |||||
} | } | ||||
} | } | ||||
#ifndef BUILD_BRIDGE | |||||
#if defined(HAVE_LIBLO) && ! defined(BUILD_BRIDGE) | |||||
// Update OSC Names | // Update OSC Names | ||||
if (pData->engine->isOscControlRegistered()) | if (pData->engine->isOscControlRegistered()) | ||||
{ | { | ||||
@@ -26,12 +26,16 @@ | |||||
// Plugin Code | // Plugin Code | ||||
#include "distrho-3bandeq/DistrhoArtwork3BandEQ.cpp" | #include "distrho-3bandeq/DistrhoArtwork3BandEQ.cpp" | ||||
#include "distrho-3bandeq/DistrhoPlugin3BandEQ.cpp" | #include "distrho-3bandeq/DistrhoPlugin3BandEQ.cpp" | ||||
#ifdef HAVE_DGL | |||||
#include "distrho-3bandeq/DistrhoUI3BandEQ.cpp" | #include "distrho-3bandeq/DistrhoUI3BandEQ.cpp" | ||||
#endif | |||||
// DISTRHO Code | // DISTRHO Code | ||||
#define DISTRHO_PLUGIN_TARGET_CARLA | #define DISTRHO_PLUGIN_TARGET_CARLA | ||||
#include "DistrhoPluginMain.cpp" | #include "DistrhoPluginMain.cpp" | ||||
#ifdef HAVE_DGL | |||||
#include "DistrhoUIMain.cpp" | #include "DistrhoUIMain.cpp" | ||||
#endif | |||||
START_NAMESPACE_DISTRHO | START_NAMESPACE_DISTRHO | ||||
@@ -26,12 +26,16 @@ | |||||
// Plugin Code | // Plugin Code | ||||
#include "distrho-3bandsplitter/DistrhoArtwork3BandSplitter.cpp" | #include "distrho-3bandsplitter/DistrhoArtwork3BandSplitter.cpp" | ||||
#include "distrho-3bandsplitter/DistrhoPlugin3BandSplitter.cpp" | #include "distrho-3bandsplitter/DistrhoPlugin3BandSplitter.cpp" | ||||
#ifdef HAVE_DGL | |||||
#include "distrho-3bandsplitter/DistrhoUI3BandSplitter.cpp" | #include "distrho-3bandsplitter/DistrhoUI3BandSplitter.cpp" | ||||
#endif | |||||
// DISTRHO Code | // DISTRHO Code | ||||
#define DISTRHO_PLUGIN_TARGET_CARLA | #define DISTRHO_PLUGIN_TARGET_CARLA | ||||
#include "DistrhoPluginMain.cpp" | #include "DistrhoPluginMain.cpp" | ||||
#ifdef HAVE_DGL | |||||
#include "DistrhoUIMain.cpp" | #include "DistrhoUIMain.cpp" | ||||
#endif | |||||
START_NAMESPACE_DISTRHO | START_NAMESPACE_DISTRHO | ||||
@@ -26,13 +26,17 @@ | |||||
// Plugin Code | // Plugin Code | ||||
#include "distrho-mverb/DistrhoArtworkMVerb.cpp" | #include "distrho-mverb/DistrhoArtworkMVerb.cpp" | ||||
#include "distrho-mverb/DistrhoPluginMVerb.cpp" | #include "distrho-mverb/DistrhoPluginMVerb.cpp" | ||||
#ifdef HAVE_DGL | |||||
#include "distrho-mverb/DistrhoUIMVerb.cpp" | #include "distrho-mverb/DistrhoUIMVerb.cpp" | ||||
#include "distrho-mverb/font/Kh-Kangrey.cpp" | #include "distrho-mverb/font/Kh-Kangrey.cpp" | ||||
#endif | |||||
// DISTRHO Code | // DISTRHO Code | ||||
#define DISTRHO_PLUGIN_TARGET_CARLA | #define DISTRHO_PLUGIN_TARGET_CARLA | ||||
#include "DistrhoPluginMain.cpp" | #include "DistrhoPluginMain.cpp" | ||||
#ifdef HAVE_DGL | |||||
#include "DistrhoUIMain.cpp" | #include "DistrhoUIMain.cpp" | ||||
#endif | |||||
START_NAMESPACE_DISTRHO | START_NAMESPACE_DISTRHO | ||||
@@ -26,12 +26,16 @@ | |||||
// Plugin Code | // Plugin Code | ||||
#include "distrho-nekobi/DistrhoArtworkNekobi.cpp" | #include "distrho-nekobi/DistrhoArtworkNekobi.cpp" | ||||
#include "distrho-nekobi/DistrhoPluginNekobi.cpp" | #include "distrho-nekobi/DistrhoPluginNekobi.cpp" | ||||
#ifdef HAVE_DGL | |||||
#include "distrho-nekobi/DistrhoUINekobi.cpp" | #include "distrho-nekobi/DistrhoUINekobi.cpp" | ||||
#endif | |||||
// DISTRHO Code | // DISTRHO Code | ||||
#define DISTRHO_PLUGIN_TARGET_CARLA | #define DISTRHO_PLUGIN_TARGET_CARLA | ||||
#include "DistrhoPluginMain.cpp" | #include "DistrhoPluginMain.cpp" | ||||
#ifdef HAVE_DGL | |||||
#include "DistrhoUIMain.cpp" | #include "DistrhoUIMain.cpp" | ||||
#endif | |||||
START_NAMESPACE_DISTRHO | START_NAMESPACE_DISTRHO | ||||
@@ -26,12 +26,16 @@ | |||||
// Plugin Code | // Plugin Code | ||||
#include "distrho-pingpongpan/DistrhoArtworkPingPongPan.cpp" | #include "distrho-pingpongpan/DistrhoArtworkPingPongPan.cpp" | ||||
#include "distrho-pingpongpan/DistrhoPluginPingPongPan.cpp" | #include "distrho-pingpongpan/DistrhoPluginPingPongPan.cpp" | ||||
#ifdef HAVE_DGL | |||||
#include "distrho-pingpongpan/DistrhoUIPingPongPan.cpp" | #include "distrho-pingpongpan/DistrhoUIPingPongPan.cpp" | ||||
#endif | |||||
// DISTRHO Code | // DISTRHO Code | ||||
#define DISTRHO_PLUGIN_TARGET_CARLA | #define DISTRHO_PLUGIN_TARGET_CARLA | ||||
#include "DistrhoPluginMain.cpp" | #include "DistrhoPluginMain.cpp" | ||||
#ifdef HAVE_DGL | |||||
#include "DistrhoUIMain.cpp" | #include "DistrhoUIMain.cpp" | ||||
#endif | |||||
START_NAMESPACE_DISTRHO | START_NAMESPACE_DISTRHO | ||||