diff --git a/Makefile b/Makefile index 3935423e8..f5b4eac4d 100644 --- a/Makefile +++ b/Makefile @@ -21,6 +21,7 @@ endif # ---------------------------------------------------------------------------------------------------------------------------- PREFIX := /usr/local +LIBDIR := $(PREFIX)/lib DESTDIR := BINDIR := $(CURDIR)/bin diff --git a/source/backend/CarlaPlugin.hpp b/source/backend/CarlaPlugin.hpp index 3b3c54852..c91deaa92 100644 --- a/source/backend/CarlaPlugin.hpp +++ b/source/backend/CarlaPlugin.hpp @@ -47,11 +47,7 @@ CARLA_BACKEND_START_NAMESPACE class CarlaEngineAudioPort; class CarlaEngineCVPort; class CarlaEngineEventPort; - -/*! - * Save state data. - */ -struct StateSave; +struct CarlaStateSave; // ----------------------------------------------------------------------- @@ -396,14 +392,14 @@ public: * * @see loadStateSave() */ - const StateSave& getStateSave(); + const CarlaStateSave& getStateSave(); /*! * Get the plugin's save state. * * @see getStateSave() */ - void loadStateSave(const StateSave& stateSave); + void loadStateSave(const CarlaStateSave& stateSave); /*! * Save the current plugin state to @a filename. diff --git a/source/backend/engine/CarlaEngine.cpp b/source/backend/engine/CarlaEngine.cpp index 66107ff12..d3587239a 100644 --- a/source/backend/engine/CarlaEngine.cpp +++ b/source/backend/engine/CarlaEngine.cpp @@ -1803,7 +1803,7 @@ bool CarlaEngine::loadProjectInternal(juce::XmlDocument& xmlDoc) if (isPreset || tagName.equalsIgnoreCase("plugin")) { - StateSave stateSave; + CarlaStateSave stateSave; stateSave.fillFromXmlElement(isPreset ? xmlElement.get() : elem); callback(ENGINE_CALLBACK_IDLE, 0, 0, 0, 0.0f, nullptr); diff --git a/source/backend/engine/CarlaEngineJack.cpp b/source/backend/engine/CarlaEngineJack.cpp index 3c6695665..a5ef7842d 100644 --- a/source/backend/engine/CarlaEngineJack.cpp +++ b/source/backend/engine/CarlaEngineJack.cpp @@ -1058,7 +1058,7 @@ public: if (needsReinit) { // reload plugin to recreate its ports - const StateSave& saveState(plugin->getStateSave()); + const CarlaStateSave& saveState(plugin->getStateSave()); plugin->reload(); plugin->loadStateSave(saveState); } diff --git a/source/backend/engine/CarlaEngineOsc.cpp b/source/backend/engine/CarlaEngineOsc.cpp index f62ac0c76..7d78f98ce 100644 --- a/source/backend/engine/CarlaEngineOsc.cpp +++ b/source/backend/engine/CarlaEngineOsc.cpp @@ -388,12 +388,6 @@ int CarlaEngineOsc::handleMessage(const bool isTCP, const char* const path, cons if (std::strcmp(bmethod, "error") == 0) return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgeOscError, argc, argv, types); } - - // Plugin-specific methods - if (std::strcmp(method, "lv2_atom_transfer") == 0) - return handleMsgLv2AtomTransfer(plugin, argc, argv, types); - if (std::strcmp(method, "lv2_urid_map") == 0) - return handleMsgLv2UridMap(plugin, argc, argv, types); #endif carla_stderr("CarlaEngineOsc::handleMessage() - unsupported OSC method '%s'", method); diff --git a/source/backend/engine/CarlaEngineOsc.hpp b/source/backend/engine/CarlaEngineOsc.hpp index 14d8e2c5b..8cfd181e3 100644 --- a/source/backend/engine/CarlaEngineOsc.hpp +++ b/source/backend/engine/CarlaEngineOsc.hpp @@ -108,6 +108,7 @@ private: int handleMessage(const bool isTCP, const char* const path, const int argc, const lo_arg* const* const argv, const char* const types, const lo_message msg); + // Common OSC methods (all bridges) int handleMsgUpdate(CARLA_ENGINE_OSC_HANDLE_ARGS2, const lo_address source); int handleMsgExiting(CARLA_ENGINE_OSC_HANDLE_ARGS1); @@ -115,11 +116,13 @@ private: int handleMsgRegister(const bool isTCP, const int argc, const lo_arg* const* const argv, const char* const types, const lo_address source); int handleMsgUnregister(); + // Common OSC methods (DSSI and bridge UIs) int handleMsgConfigure(CARLA_ENGINE_OSC_HANDLE_ARGS2); int handleMsgControl(CARLA_ENGINE_OSC_HANDLE_ARGS2); int handleMsgProgram(CARLA_ENGINE_OSC_HANDLE_ARGS2); int handleMsgMidi(CARLA_ENGINE_OSC_HANDLE_ARGS2); + // Internal methods int handleMsgSetActive(CARLA_ENGINE_OSC_HANDLE_ARGS2); int handleMsgSetDryWet(CARLA_ENGINE_OSC_HANDLE_ARGS2); int handleMsgSetVolume(CARLA_ENGINE_OSC_HANDLE_ARGS2); @@ -133,9 +136,6 @@ private: int handleMsgSetMidiProgram(CARLA_ENGINE_OSC_HANDLE_ARGS2); int handleMsgNoteOn(CARLA_ENGINE_OSC_HANDLE_ARGS2); int handleMsgNoteOff(CARLA_ENGINE_OSC_HANDLE_ARGS2); - - int handleMsgLv2AtomTransfer(CARLA_ENGINE_OSC_HANDLE_ARGS2); - int handleMsgLv2UridMap(CARLA_ENGINE_OSC_HANDLE_ARGS2); #endif // ----------------------------------------------------------------------- diff --git a/source/backend/plugin/CarlaPlugin.cpp b/source/backend/plugin/CarlaPlugin.cpp index bf4d4b8e3..6ef346d63 100644 --- a/source/backend/plugin/CarlaPlugin.cpp +++ b/source/backend/plugin/CarlaPlugin.cpp @@ -73,7 +73,7 @@ struct ParamSymbol { // Constructor and destructor CarlaPlugin::CarlaPlugin(CarlaEngine* const engine, const uint id) - : pData(new ProtectedData(engine, id, this)) + : pData(new ProtectedData(engine, id)) { CARLA_SAFE_ASSERT_RETURN(engine != nullptr,); CARLA_SAFE_ASSERT(id < engine->getMaxPluginNumber()); @@ -471,7 +471,7 @@ void CarlaPlugin::randomizeParameters() noexcept } } -const StateSave& CarlaPlugin::getStateSave() +const CarlaStateSave& CarlaPlugin::getStateSave() { pData->stateSave.clear(); prepareForSave(); @@ -558,7 +558,7 @@ const StateSave& CarlaPlugin::getStateSave() if ((paramData.hints & PARAMETER_IS_ENABLED) == 0) continue; - StateParameter* const stateParameter(new StateParameter()); + CarlaStateSave::Parameter* const stateParameter(new CarlaStateSave::Parameter()); stateParameter->isInput = (paramData.type == PARAMETER_INPUT); stateParameter->index = paramData.index; @@ -588,7 +588,7 @@ const StateSave& CarlaPlugin::getStateSave() { const CustomData& cData(it.getValue()); - StateCustomData* stateCustomData(new StateCustomData()); + CarlaStateSave::CustomData* stateCustomData(new CarlaStateSave::CustomData()); stateCustomData->type = carla_strdup(cData.type); stateCustomData->key = carla_strdup(cData.key); @@ -600,7 +600,7 @@ const StateSave& CarlaPlugin::getStateSave() return pData->stateSave; } -void CarlaPlugin::loadStateSave(const StateSave& stateSave) +void CarlaPlugin::loadStateSave(const CarlaStateSave& stateSave) { char strBuf[STR_MAX+1]; const bool usesMultiProgs(pData->extraHints & PLUGIN_EXTRA_HINT_USES_MULTI_PROGS); @@ -608,9 +608,9 @@ void CarlaPlugin::loadStateSave(const StateSave& stateSave) // --------------------------------------------------------------- // Part 1 - PRE-set custom data (only that which reload programs) - for (LinkedList::Itenerator it = stateSave.customData.begin(); it.valid(); it.next()) + for (CarlaStateSave::CustomDataItenerator it = stateSave.customData.begin(); it.valid(); it.next()) { - const StateCustomData* const stateCustomData(it.getValue()); + const CarlaStateSave::CustomData* const stateCustomData(it.getValue()); const char* const key(stateCustomData->key); bool wantData = false; @@ -688,9 +688,9 @@ void CarlaPlugin::loadStateSave(const StateSave& stateSave) const float sampleRate(static_cast(pData->engine->getSampleRate())); - for (LinkedList::Itenerator it = stateSave.parameters.begin(); it.valid(); it.next()) + for (CarlaStateSave::ParameterItenerator it = stateSave.parameters.begin(); it.valid(); it.next()) { - StateParameter* const stateParameter(it.getValue()); + CarlaStateSave::Parameter* const stateParameter(it.getValue()); int32_t index = -1; @@ -778,9 +778,9 @@ void CarlaPlugin::loadStateSave(const StateSave& stateSave) // --------------------------------------------------------------- // Part 5 - set custom data - for (LinkedList::Itenerator it = stateSave.customData.begin(); it.valid(); it.next()) + for (CarlaStateSave::CustomDataItenerator it = stateSave.customData.begin(); it.valid(); it.next()) { - const StateCustomData* const stateCustomData(it.getValue()); + const CarlaStateSave::CustomData* const stateCustomData(it.getValue()); const char* const key(stateCustomData->key); if (getType() == PLUGIN_DSSI && (std::strcmp(key, "reloadprograms") == 0 || std::strcmp(key, "load") == 0 || std::strncmp(key, "patches", 7) == 0)) @@ -1338,7 +1338,13 @@ void CarlaPlugin::idle() CarlaString uiTitle(pData->name); uiTitle += " (GUI)"; - if (CarlaPluginUI::tryTransientWinIdMatch(pData->osc.data.target != nullptr ? pData->osc.thread.getPid() : 0, uiTitle, pData->engine->getOptions().frontendWinId, true)) + uint32_t pid = 0; +#ifndef BUILD_BRIDGE + if (pData->oscData.target != nullptr && pData->childProcess != nullptr) + pid = pData->childProcess->getPID(); +#endif + + if (CarlaPluginUI::tryTransientWinIdMatch(pid, uiTitle, pData->engine->getOptions().frontendWinId, true)) pData->transientTryCounter = 0; } @@ -1572,14 +1578,14 @@ void CarlaPlugin::updateOscData(const lo_address& source, const char* const url) // FIXME - remove debug prints later carla_stdout("CarlaPlugin::updateOscData(%p, \"%s\")", source, url); - pData->osc.data.clear(); + pData->oscData.clear(); const int proto = lo_address_get_protocol(source); { const char* host = lo_address_get_hostname(source); const char* port = lo_address_get_port(source); - pData->osc.data.source = lo_address_new_with_proto(proto, host, port); + pData->oscData.source = lo_address_new_with_proto(proto, host, port); carla_stdout("CarlaPlugin::updateOscData() - source: host \"%s\", port \"%s\"", host, port); } @@ -1587,9 +1593,9 @@ void CarlaPlugin::updateOscData(const lo_address& source, const char* const url) { char* host = lo_url_get_hostname(url); char* port = lo_url_get_port(url); - pData->osc.data.path = carla_strdup_free(lo_url_get_path(url)); - pData->osc.data.target = lo_address_new_with_proto(proto, host, port); - carla_stdout("CarlaPlugin::updateOscData() - target: host \"%s\", port \"%s\", path \"%s\"", host, port, pData->osc.data.path); + pData->oscData.path = carla_strdup_free(lo_url_get_path(url)); + pData->oscData.target = lo_address_new_with_proto(proto, host, port); + carla_stdout("CarlaPlugin::updateOscData() - target: host \"%s\", port \"%s\", path \"%s\"", host, port, pData->oscData.path); std::free(host); std::free(port); @@ -1607,7 +1613,7 @@ void CarlaPlugin::updateOscData(const lo_address& source, const char* const url) if (updateOscDataExtra()) pData->engine->idleOsc(); - osc_send_sample_rate(pData->osc.data, static_cast(pData->engine->getSampleRate())); + osc_send_sample_rate(pData->oscData, static_cast(pData->engine->getSampleRate())); for (LinkedList::Itenerator it = pData->custom.begin(); it.valid(); it.next()) { @@ -1618,24 +1624,24 @@ void CarlaPlugin::updateOscData(const lo_address& source, const char* const url) CARLA_SAFE_ASSERT_CONTINUE(cData.value != nullptr); if (std::strcmp(cData.type, CUSTOM_DATA_TYPE_STRING) == 0) - osc_send_configure(pData->osc.data, cData.key, cData.value); + osc_send_configure(pData->oscData, cData.key, cData.value); } if (pData->prog.current >= 0) - osc_send_program(pData->osc.data, static_cast(pData->prog.current)); + osc_send_program(pData->oscData, static_cast(pData->prog.current)); if (pData->midiprog.current >= 0) { const MidiProgramData& curMidiProg(pData->midiprog.getCurrent()); if (getType() == PLUGIN_DSSI) - osc_send_program(pData->osc.data, curMidiProg.bank, curMidiProg.program); + osc_send_program(pData->oscData, curMidiProg.bank, curMidiProg.program); else - osc_send_midi_program(pData->osc.data, curMidiProg.bank, curMidiProg.program); + osc_send_midi_program(pData->oscData, curMidiProg.bank, curMidiProg.program); } for (uint32_t i=0; i < pData->param.count; ++i) - osc_send_control(pData->osc.data, pData->param.data[i].rindex, getParameterValue(i)); + osc_send_control(pData->oscData, pData->param.data[i].rindex, getParameterValue(i)); if ((pData->hints & PLUGIN_HAS_CUSTOM_UI) != 0 && pData->engine->getOptions().frontendWinId != 0) pData->transientTryCounter = 1; @@ -1652,7 +1658,7 @@ void CarlaPlugin::updateOscURL() { const String newURL(String(pData->engine->getOscServerPathUDP()) + String("/") + String(pData->id)); - osc_send_update_url(pData->osc.data, newURL.toRawUTF8()); + osc_send_update_url(pData->oscData, newURL.toRawUTF8()); } bool CarlaPlugin::waitForOscGuiShow() @@ -1663,14 +1669,14 @@ bool CarlaPlugin::waitForOscGuiShow() // wait for UI 'update' call for (; i < oscUiTimeout/100; ++i) { - if (pData->osc.data.target != nullptr) + if (pData->oscData.target != nullptr) { carla_stdout("CarlaPlugin::waitForOscGuiShow() - got response, asking UI to show itself now"); - osc_send_show(pData->osc.data); + osc_send_show(pData->oscData); return true; } - if (pData->osc.thread.isThreadRunning()) + if (pData->childProcess != nullptr && pData->childProcess->isRunning()) carla_msleep(100); else return false; diff --git a/source/backend/plugin/CarlaPluginBridge.cpp b/source/backend/plugin/CarlaPluginBridge.cpp index 4e4e30d1f..7cb815b25 100644 --- a/source/backend/plugin/CarlaPluginBridge.cpp +++ b/source/backend/plugin/CarlaPluginBridge.cpp @@ -63,6 +63,7 @@ using juce::StringArray; CARLA_BACKEND_START_NAMESPACE +#if 0 // ------------------------------------------------------------------------------------------------------------------- // call carla_shm_create with for a XXXXXX temp filename @@ -357,8 +358,6 @@ public: { carla_debug("BridgePlugin::BridgePlugin(%p, %i, %s, %s)", engine, id, BinaryType2Str(btype), PluginType2Str(ptype)); - pData->osc.thread.setMode(CarlaPluginThread::PLUGIN_THREAD_BRIDGE); - pData->hints |= PLUGIN_IS_BRIDGE; } @@ -2219,6 +2218,7 @@ private: CARLA_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(BridgePlugin) }; +#endif CARLA_BACKEND_END_NAMESPACE @@ -2232,7 +2232,7 @@ CarlaPlugin* CarlaPlugin::newBridge(const Initializer& init, BinaryType btype, P { carla_debug("CarlaPlugin::newBridge({%p, \"%s\", \"%s\", \"%s\"}, %s, %s, \"%s\")", init.engine, init.filename, init.name, init.label, BinaryType2Str(btype), PluginType2Str(ptype), bridgeBinary); -#ifndef BUILD_BRIDGE +#if 0 //ndef BUILD_BRIDGE if (bridgeBinary == nullptr || bridgeBinary[0] == '\0') { init.engine->setLastError("Bridge not possible, bridge-binary not found"); @@ -2283,7 +2283,7 @@ CarlaPlugin* CarlaPlugin::newBridge(const Initializer& init, BinaryType btype, P return nullptr; // unused - (void)bridgeBinary; + (void)bridgeBinary; (void)btype; (void)ptype; #endif } @@ -2296,11 +2296,12 @@ CarlaPlugin* CarlaPlugin::newBridge(const Initializer& init, BinaryType btype, P extern int CarlaPluginSetOscBridgeInfo(CarlaPlugin* const plugin, const PluginBridgeOscInfoType type, const int argc, const lo_arg* const* const argv, const char* const types); -int CarlaPluginSetOscBridgeInfo(CarlaPlugin* const plugin, const PluginBridgeOscInfoType type, - const int argc, const lo_arg* const* const argv, const char* const types) +int CarlaPluginSetOscBridgeInfo(CarlaPlugin* const plugin, const PluginBridgeOscInfoType /*type*/, + const int /*argc*/, const lo_arg* const* const /*argv*/, const char* const /*types*/) { CARLA_SAFE_ASSERT(plugin != nullptr && (plugin->getHints() & PLUGIN_IS_BRIDGE) != 0); - return bridgePlugin->setOscPluginBridgeInfo(type, argc, argv, types); + return 0; + //return bridgePlugin->setOscPluginBridgeInfo(type, argc, argv, types); } #undef bridgePlugin diff --git a/source/backend/plugin/CarlaPluginDSSI.cpp b/source/backend/plugin/CarlaPluginDSSI.cpp index c875ff103..d6a25a873 100644 --- a/source/backend/plugin/CarlaPluginDSSI.cpp +++ b/source/backend/plugin/CarlaPluginDSSI.cpp @@ -26,6 +26,7 @@ CARLA_BACKEND_START_NAMESPACE +#if 0 // ----------------------------------------------------- class CarlaPluginDSSI : public CarlaPlugin @@ -2325,6 +2326,7 @@ private: }; LinkedList CarlaPluginDSSI::sMultiSynthList; +#endif // ------------------------------------------------------------------------------------------------------------------- @@ -2332,6 +2334,7 @@ CarlaPlugin* CarlaPlugin::newDSSI(const Initializer& init) { carla_debug("CarlaPlugin::newDSSI({%p, \"%s\", \"%s\", \"%s\", " P_INT64 "})", init.engine, init.filename, init.name, init.label, init.uniqueId); +#if 0 CarlaPluginDSSI* const plugin(new CarlaPluginDSSI(init.engine, init.id)); if (! plugin->init(init.filename, init.name, init.label)) @@ -2370,6 +2373,9 @@ CarlaPlugin* CarlaPlugin::newDSSI(const Initializer& init) } return plugin; +#endif + return nullptr; + (void)init; } // ------------------------------------------------------------------------------------------------------------------- diff --git a/source/backend/plugin/CarlaPluginInternal.cpp b/source/backend/plugin/CarlaPluginInternal.cpp index 30246a160..02c1939df 100644 --- a/source/backend/plugin/CarlaPluginInternal.cpp +++ b/source/backend/plugin/CarlaPluginInternal.cpp @@ -432,13 +432,7 @@ CarlaPlugin::ProtectedData::PostProc::PostProc() noexcept // ----------------------------------------------------------------------- -CarlaPlugin::ProtectedData::OSC::OSC(CarlaEngine* const eng, CarlaPlugin* const plug) noexcept - : data(), - thread(eng, plug) {} - -// ----------------------------------------------------------------------- - -CarlaPlugin::ProtectedData::ProtectedData(CarlaEngine* const eng, const uint idx, CarlaPlugin* const plug) noexcept +CarlaPlugin::ProtectedData::ProtectedData(CarlaEngine* const eng, const uint idx) noexcept : engine(eng), client(nullptr), id(idx), @@ -471,13 +465,17 @@ CarlaPlugin::ProtectedData::ProtectedData(CarlaEngine* const eng, const uint idx custom(), masterMutex(), singleMutex(), +#ifndef BUILD_BRIDGE + childProcess(), + oscData(), +#endif stateSave(), extNotes(), postRtEvents(), #ifndef BUILD_BRIDGE postProc(), #endif - osc(eng, plug) {} + leakDetector_ProtectedData() {} CarlaPlugin::ProtectedData::~ProtectedData() noexcept { diff --git a/source/backend/plugin/CarlaPluginInternal.hpp b/source/backend/plugin/CarlaPluginInternal.hpp index aca5ce327..44c1a3577 100644 --- a/source/backend/plugin/CarlaPluginInternal.hpp +++ b/source/backend/plugin/CarlaPluginInternal.hpp @@ -22,15 +22,19 @@ #include "CarlaPluginThread.hpp" #include "CarlaLibUtils.hpp" +#include "CarlaMutex.hpp" #include "CarlaOscUtils.hpp" #include "CarlaStateUtils.hpp" +#include "CarlaString.hpp" #include "CarlaMIDI.h" #include "RtLinkedList.hpp" #include "juce_audio_basics.h" +using juce::ChildProcess; using juce::FloatVectorOperations; +using juce::ScopedPointer; CARLA_BACKEND_START_NAMESPACE @@ -250,7 +254,12 @@ struct CarlaPlugin::ProtectedData { CarlaMutex masterMutex; // global master lock CarlaMutex singleMutex; // small lock used only in processSingle() - StateSave stateSave; +#ifndef BUILD_BRIDGE + ScopedPointer childProcess; + CarlaOscData oscData; +#endif + + CarlaStateSave stateSave; struct ExternalNotes { CarlaMutex mutex; @@ -297,19 +306,7 @@ struct CarlaPlugin::ProtectedData { } postProc; #endif - struct OSC { - CarlaOscData data; - CarlaPluginThread thread; - - OSC(CarlaEngine* const engine, CarlaPlugin* const plugin) noexcept; - -#ifdef CARLA_PROPER_CPP11_SUPPORT - OSC() = delete; - CARLA_DECLARE_NON_COPY_STRUCT(OSC) -#endif - } osc; - - ProtectedData(CarlaEngine* const engine, const uint idx, CarlaPlugin* const plugin) noexcept; + ProtectedData(CarlaEngine* const engine, const uint idx) noexcept; ~ProtectedData() noexcept; // ------------------------------------------------------------------- @@ -359,8 +356,9 @@ struct CarlaPlugin::ProtectedData { #ifdef CARLA_PROPER_CPP11_SUPPORT ProtectedData() = delete; - CARLA_DECLARE_NON_COPY_STRUCT(ProtectedData) + CARLA_DECLARE_NON_COPY_STRUCT(ProtectedData); #endif + CARLA_LEAK_DETECTOR(ProtectedData); }; CARLA_BACKEND_END_NAMESPACE diff --git a/source/backend/plugin/CarlaPluginLV2.cpp b/source/backend/plugin/CarlaPluginLV2.cpp index 2bd816896..a6f3e4199 100644 --- a/source/backend/plugin/CarlaPluginLV2.cpp +++ b/source/backend/plugin/CarlaPluginLV2.cpp @@ -42,6 +42,7 @@ using juce::File; CARLA_BACKEND_START_NAMESPACE +#if 0 // ----------------------------------------------------- // Maximum default buffer size @@ -5951,12 +5952,15 @@ int CarlaEngineOsc::handleMsgLv2UridMap(CARLA_ENGINE_OSC_HANDLE_ARGS2) #undef lv2PluginPtr +#endif + // ------------------------------------------------------------------------------------------------------------------- CarlaPlugin* CarlaPlugin::newLV2(const Initializer& init) { carla_debug("CarlaPlugin::newLV2({%p, \"%s\", \"%s\", " P_INT64 "})", init.engine, init.name, init.label, init.uniqueId); +#if 0 CarlaPluginLV2* const plugin(new CarlaPluginLV2(init.engine, init.id)); if (! plugin->init(init.name, init.label)) @@ -5995,6 +5999,9 @@ CarlaPlugin* CarlaPlugin::newLV2(const Initializer& init) } return plugin; +#endif + return nullptr; + (void)init; } // ------------------------------------------------------------------------------------------------------------------- diff --git a/source/backend/plugin/CarlaPluginThread.cpp b/source/backend/plugin/CarlaPluginThread.cpp index 17e5e4459..1e4675bc6 100644 --- a/source/backend/plugin/CarlaPluginThread.cpp +++ b/source/backend/plugin/CarlaPluginThread.cpp @@ -15,6 +15,8 @@ * For a full copy of the GNU General Public License see the doc/GPL.txt file. */ +#if 0 + #include "CarlaPlugin.hpp" #include "CarlaPluginThread.hpp" #include "CarlaEngine.hpp" @@ -386,3 +388,5 @@ void CarlaPluginThread::run() // ----------------------------------------------------------------------- CARLA_BACKEND_END_NAMESPACE + +#endif diff --git a/source/backend/plugin/CarlaPluginThread.hpp b/source/backend/plugin/CarlaPluginThread.hpp index c90c698c0..3b546fdee 100644 --- a/source/backend/plugin/CarlaPluginThread.hpp +++ b/source/backend/plugin/CarlaPluginThread.hpp @@ -15,6 +15,8 @@ * For a full copy of the GNU General Public License see the doc/GPL.txt file. */ +#if 0 + #ifndef CARLA_PLUGIN_THREAD_HPP_INCLUDED #define CARLA_PLUGIN_THREAD_HPP_INCLUDED @@ -73,3 +75,5 @@ private: CARLA_BACKEND_END_NAMESPACE #endif // CARLA_PLUGIN_THREAD_HPP_INCLUDED + +#endif diff --git a/source/backend/plugin/CarlaPluginVST2.cpp b/source/backend/plugin/CarlaPluginVST2.cpp index d4bbaa7df..701a1a44a 100644 --- a/source/backend/plugin/CarlaPluginVST2.cpp +++ b/source/backend/plugin/CarlaPluginVST2.cpp @@ -40,6 +40,7 @@ using juce::File; CARLA_BACKEND_START_NAMESPACE +#if 0 // ----------------------------------------------------- const uint PLUGIN_CAN_PROCESS_REPLACING = 0x1000; @@ -2547,6 +2548,8 @@ private: CarlaPluginVST2* CarlaPluginVST2::sLastCarlaPluginVST2 = nullptr; +#endif + CARLA_BACKEND_END_NAMESPACE #endif // ! USE_JUCE_FOR_VST @@ -2561,7 +2564,7 @@ CarlaPlugin* CarlaPlugin::newVST2(const Initializer& init) #ifdef USE_JUCE_FOR_VST return newJuce(init, "VST"); -#else +#elif 0 //se CarlaPluginVST2* const plugin(new CarlaPluginVST2(init.engine, init.id)); if (! plugin->init(init.filename, init.name, init.uniqueId)) @@ -2580,6 +2583,9 @@ CarlaPlugin* CarlaPlugin::newVST2(const Initializer& init) } return plugin; +#else + return nullptr; + (void)init; #endif } diff --git a/source/includes/CarlaNative.hpp b/source/includes/CarlaNative.hpp index 931f13cdd..8ef9a6d21 100644 --- a/source/includes/CarlaNative.hpp +++ b/source/includes/CarlaNative.hpp @@ -40,9 +40,7 @@ public: CARLA_SAFE_ASSERT(host != nullptr); } - virtual ~NativePluginClass() - { - } + virtual ~NativePluginClass() {} protected: // ------------------------------------------------------------------- @@ -268,8 +266,7 @@ protected: return; // unused - (void)bank; - (void)program; + (void)bank; (void)program; } virtual void setCustomData(const char* const key, const char* const value) @@ -281,13 +278,9 @@ protected: // ------------------------------------------------------------------- // Plugin process calls - virtual void activate() - { - } + virtual void activate() {} - virtual void deactivate() - { - } + virtual void deactivate() {} virtual void process(float** const inBuffer, float** const outBuffer, const uint32_t frames, const NativeMidiEvent* const midiEvents, const uint32_t midiEventCount) = 0; @@ -321,13 +314,12 @@ protected: return; // unused - (void)bank; - (void)program; + (void)bank; (void)program; } virtual void uiSetCustomData(const char* const key, const char* const value) { - CARLA_SAFE_ASSERT_RETURN(key != nullptr,); + CARLA_SAFE_ASSERT_RETURN(key != nullptr && key[0] != '\0',); CARLA_SAFE_ASSERT_RETURN(value != nullptr,); } diff --git a/source/includes/CarlaNativeExtUI.hpp b/source/includes/CarlaNativeExtUI.hpp index a21f1bc82..a3bc4b7b2 100644 --- a/source/includes/CarlaNativeExtUI.hpp +++ b/source/includes/CarlaNativeExtUI.hpp @@ -58,7 +58,7 @@ protected: carla_stdout("Trying to start UI using \"%s\"", path.buffer()); CarlaExternalUI::setData(path, getSampleRate(), getUiName()); - CarlaExternalUI::startPipeServer(); + CarlaExternalUI::startPipeServer(true); } else { diff --git a/source/utils/CarlaStateUtils.cpp b/source/utils/CarlaStateUtils.cpp index 6f05253db..e38e12507 100644 --- a/source/utils/CarlaStateUtils.cpp +++ b/source/utils/CarlaStateUtils.cpp @@ -108,7 +108,7 @@ static const char* xmlSafeStringCharDup(const String& string, const bool toXml) // ----------------------------------------------------------------------- // StateParameter -StateParameter::StateParameter() noexcept +CarlaStateSave::Parameter::Parameter() noexcept : isInput(true), index(-1), name(nullptr), @@ -121,7 +121,7 @@ StateParameter::StateParameter() noexcept value(0.0f) {} #endif -StateParameter::~StateParameter() noexcept +CarlaStateSave::Parameter::~Parameter() noexcept { if (name != nullptr) { @@ -138,12 +138,12 @@ StateParameter::~StateParameter() noexcept // ----------------------------------------------------------------------- // StateCustomData -StateCustomData::StateCustomData() noexcept +CarlaStateSave::CustomData::CustomData() noexcept : type(nullptr), key(nullptr), value(nullptr) {} -StateCustomData::~StateCustomData() noexcept +CarlaStateSave::CustomData::~CustomData() noexcept { if (type != nullptr) { @@ -165,7 +165,7 @@ StateCustomData::~StateCustomData() noexcept // ----------------------------------------------------------------------- // StateSave -StateSave::StateSave() noexcept +CarlaStateSave::CarlaStateSave() noexcept : type(nullptr), name(nullptr), label(nullptr), @@ -189,12 +189,12 @@ StateSave::StateSave() noexcept parameters(), customData() {} -StateSave::~StateSave() noexcept +CarlaStateSave::~CarlaStateSave() noexcept { clear(); } -void StateSave::clear() noexcept +void CarlaStateSave::clear() noexcept { if (type != nullptr) { @@ -242,15 +242,15 @@ void StateSave::clear() noexcept currentMidiBank = -1; currentMidiProgram = -1; - for (StateParameterItenerator it = parameters.begin(); it.valid(); it.next()) + for (ParameterItenerator it = parameters.begin(); it.valid(); it.next()) { - StateParameter* const stateParameter(it.getValue()); + Parameter* const stateParameter(it.getValue()); delete stateParameter; } - for (StateCustomDataItenerator it = customData.begin(); it.valid(); it.next()) + for (CustomDataItenerator it = customData.begin(); it.valid(); it.next()) { - StateCustomData* const stateCustomData(it.getValue()); + CustomData* const stateCustomData(it.getValue()); delete stateCustomData; } @@ -261,7 +261,7 @@ void StateSave::clear() noexcept // ----------------------------------------------------------------------- // fillFromXmlElement -bool StateSave::fillFromXmlElement(const XmlElement* const xmlElement) +bool CarlaStateSave::fillFromXmlElement(const XmlElement* const xmlElement) { CARLA_SAFE_ASSERT_RETURN(xmlElement != nullptr, false); @@ -386,7 +386,7 @@ bool StateSave::fillFromXmlElement(const XmlElement* const xmlElement) else if (tag.equalsIgnoreCase("parameter")) { - StateParameter* const stateParameter(new StateParameter()); + Parameter* const stateParameter(new Parameter()); for (XmlElement* xmlSubData = xmlData->getFirstChildElement(); xmlSubData != nullptr; xmlSubData = xmlSubData->getNextElement()) { @@ -436,7 +436,7 @@ bool StateSave::fillFromXmlElement(const XmlElement* const xmlElement) else if (tag.equalsIgnoreCase("customdata") || tag.equalsIgnoreCase("custom-data")) { - StateCustomData* const stateCustomData(new StateCustomData()); + CustomData* const stateCustomData(new CustomData()); for (XmlElement* xmlSubData = xmlData->getFirstChildElement(); xmlSubData != nullptr; xmlSubData = xmlSubData->getNextElement()) { @@ -472,7 +472,7 @@ bool StateSave::fillFromXmlElement(const XmlElement* const xmlElement) // ----------------------------------------------------------------------- // fillXmlStringFromStateSave -String StateSave::toString() const +String CarlaStateSave::toString() const { String content; @@ -557,9 +557,9 @@ String StateSave::toString() const } #endif - for (StateParameterItenerator it = parameters.begin(); it.valid(); it.next()) + for (ParameterItenerator it = parameters.begin(); it.valid(); it.next()) { - StateParameter* const stateParameter(it.getValue()); + Parameter* const stateParameter(it.getValue()); String parameterXml("\n"" \n"); @@ -607,9 +607,9 @@ String StateSave::toString() const content << midiProgramXml; } - for (StateCustomDataItenerator it = customData.begin(); it.valid(); it.next()) + for (CustomDataItenerator it = customData.begin(); it.valid(); it.next()) { - StateCustomData* const stateCustomData(it.getValue()); + CustomData* const stateCustomData(it.getValue()); CARLA_SAFE_ASSERT_CONTINUE(stateCustomData->type != nullptr && stateCustomData->type[0] != '\0'); CARLA_SAFE_ASSERT_CONTINUE(stateCustomData->key != nullptr && stateCustomData->key[0] != '\0'); CARLA_SAFE_ASSERT_CONTINUE(stateCustomData->value != nullptr); diff --git a/source/utils/CarlaStateUtils.hpp b/source/utils/CarlaStateUtils.hpp index 661553cf5..883098016 100644 --- a/source/utils/CarlaStateUtils.hpp +++ b/source/utils/CarlaStateUtils.hpp @@ -27,41 +27,41 @@ CARLA_BACKEND_START_NAMESPACE // ----------------------------------------------------------------------- -struct StateParameter { - bool isInput; - int32_t index; - const char* name; - const char* symbol; - float value; +struct CarlaStateSave { + struct Parameter { + bool isInput; + int32_t index; + const char* name; + const char* symbol; + float value; #ifndef BUILD_BRIDGE - uint8_t midiChannel; - int16_t midiCC; + uint8_t midiChannel; + int16_t midiCC; #endif - StateParameter() noexcept; - ~StateParameter() noexcept; + Parameter() noexcept; + ~Parameter() noexcept; - CARLA_DECLARE_NON_COPY_STRUCT(StateParameter) -}; + CARLA_DECLARE_NON_COPY_STRUCT(Parameter) + }; -struct StateCustomData { - const char* type; - const char* key; - const char* value; + typedef LinkedList ParameterList; + typedef LinkedList::Itenerator ParameterItenerator; - StateCustomData() noexcept; - ~StateCustomData() noexcept; + struct CustomData { + const char* type; + const char* key; + const char* value; - CARLA_DECLARE_NON_COPY_STRUCT(StateCustomData) -}; + CustomData() noexcept; + ~CustomData() noexcept; -typedef LinkedList StateParameterList; -typedef LinkedList StateCustomDataList; + CARLA_DECLARE_NON_COPY_STRUCT(CustomData) + }; -typedef LinkedList::Itenerator StateParameterItenerator; -typedef LinkedList::Itenerator StateCustomDataItenerator; + typedef LinkedList CustomDataList; + typedef LinkedList::Itenerator CustomDataItenerator; -struct StateSave { const char* type; const char* name; const char* label; @@ -85,17 +85,17 @@ struct StateSave { int32_t currentMidiProgram; const char* chunk; - StateParameterList parameters; - StateCustomDataList customData; + ParameterList parameters; + CustomDataList customData; - StateSave() noexcept; - ~StateSave() noexcept; + CarlaStateSave() noexcept; + ~CarlaStateSave() noexcept; void clear() noexcept; bool fillFromXmlElement(const juce::XmlElement* const xmlElement); juce::String toString() const; - CARLA_DECLARE_NON_COPY_STRUCT(StateSave) + CARLA_DECLARE_NON_COPY_STRUCT(CarlaStateSave) }; static inline