| @@ -100,13 +100,7 @@ enum EnginePortType { | |||
| * Event port type (Control or MIDI). | |||
| ** \see CarlaEngineEventPort | |||
| */ | |||
| kEnginePortTypeEvent = 3, | |||
| /*! | |||
| * OSC port type. | |||
| ** \see CarlaEngineOscPort | |||
| */ | |||
| kEnginePortTypeOSC = 4 | |||
| kEnginePortTypeEvent = 3 | |||
| }; | |||
| /*! | |||
| @@ -246,34 +240,12 @@ struct EngineOptions { | |||
| unsigned int audioBufferSize; | |||
| unsigned int audioSampleRate; | |||
| CarlaString audioDevice; | |||
| CarlaString resourceDir; | |||
| #ifndef BUILD_BRIDGE | |||
| CarlaString bridge_native; | |||
| CarlaString bridge_posix32; | |||
| CarlaString bridge_posix64; | |||
| CarlaString bridge_win32; | |||
| CarlaString bridge_win64; | |||
| #endif | |||
| #ifdef WANT_LV2 | |||
| CarlaString bridge_lv2Extrn; | |||
| CarlaString bridge_lv2Gtk2; | |||
| CarlaString bridge_lv2Gtk3; | |||
| CarlaString bridge_lv2Ntk; | |||
| CarlaString bridge_lv2Qt4; | |||
| CarlaString bridge_lv2Qt5; | |||
| CarlaString bridge_lv2Cocoa; | |||
| CarlaString bridge_lv2Win; | |||
| CarlaString bridge_lv2X11; | |||
| #endif | |||
| #ifdef WANT_VST | |||
| CarlaString bridge_vstMac; | |||
| CarlaString bridge_vstHWND; | |||
| CarlaString bridge_vstX11; | |||
| #endif | |||
| CarlaString binaryDir; | |||
| CarlaString resourceDir; | |||
| EngineOptions() | |||
| #if defined(CARLA_OS_LINUX) | |||
| #ifdef CARLA_OS_LINUX | |||
| : processMode(ENGINE_PROCESS_MODE_MULTIPLE_CLIENTS), | |||
| transportMode(ENGINE_TRANSPORT_MODE_JACK), | |||
| #else | |||
| @@ -1243,7 +1215,7 @@ public: | |||
| void oscSend_bridge_midi_program_count(const int32_t count); | |||
| void oscSend_bridge_plugin_info(const int32_t category, const int32_t hints, const char* const name, const char* const label, const char* const maker, const char* const copyright, const int64_t uniqueId); | |||
| void oscSend_bridge_parameter_info(const int32_t index, const char* const name, const char* const unit); | |||
| void oscSend_bridge_parameter_data(const int32_t index, const int32_t type, const int32_t rindex, const int32_t hints, const int32_t midiChannel, const int32_t midiCC); | |||
| void oscSend_bridge_parameter_data(const int32_t index, const int32_t rindex, const int32_t hints, const int32_t midiChannel, const int32_t midiCC); | |||
| void oscSend_bridge_parameter_ranges(const int32_t index, const float def, const float min, const float max, const float step, const float stepSmall, const float stepLarge); | |||
| void oscSend_bridge_program_info(const int32_t index, const char* const name); | |||
| void oscSend_bridge_midi_program_info(const int32_t index, const int32_t bank, const int32_t program, const char* const label); | |||
| @@ -1260,8 +1232,8 @@ public: | |||
| void oscSend_control_add_plugin_end(const int32_t pluginId); | |||
| void oscSend_control_remove_plugin(const int32_t pluginId); | |||
| void oscSend_control_set_plugin_data(const int32_t pluginId, const int32_t type, const int32_t category, const int32_t hints, const char* const realName, const char* const label, const char* const maker, const char* const copyright, const int64_t uniqueId); | |||
| void oscSend_control_set_plugin_ports(const int32_t pluginId, const int32_t audioIns, const int32_t audioOuts, const int32_t midiIns, const int32_t midiOuts, const int32_t cIns, const int32_t cOuts, const int32_t cTotals); | |||
| void oscSend_control_set_parameter_data(const int32_t pluginId, const int32_t index, const int32_t type, const int32_t hints, const char* const name, const char* const unit, const float current); | |||
| void oscSend_control_set_plugin_ports(const int32_t pluginId, const int32_t audioIns, const int32_t audioOuts, const int32_t midiIns, const int32_t midiOuts, const int32_t cIns, const int32_t cOuts); | |||
| void oscSend_control_set_parameter_data(const int32_t pluginId, const int32_t index, const int32_t hints, const char* const name, const char* const unit, const float current); | |||
| void oscSend_control_set_parameter_ranges(const int32_t pluginId, const int32_t index, const float min, const float max, const float def, const float step, const float stepSmall, const float stepLarge); | |||
| void oscSend_control_set_parameter_midi_cc(const int32_t pluginId, const int32_t index, const int32_t cc); | |||
| void oscSend_control_set_parameter_midi_channel(const int32_t pluginId, const int32_t index, const int32_t channel); | |||
| @@ -307,19 +307,13 @@ typedef struct _CarlaPortCountInfo { | |||
| */ | |||
| uint32_t outs; | |||
| /*! | |||
| * Total number of ports. | |||
| */ | |||
| uint32_t total; | |||
| #ifdef __cplusplus | |||
| /*! | |||
| * C++ constructor. | |||
| */ | |||
| _CarlaPortCountInfo() | |||
| : ins(0), | |||
| outs(0), | |||
| total(0) {} | |||
| outs(0) {} | |||
| #endif | |||
| } CarlaPortCountInfo; | |||
| @@ -485,27 +479,31 @@ CARLA_EXPORT const char* carla_get_complete_license_text(); | |||
| CARLA_EXPORT const char* carla_get_supported_file_extensions(); | |||
| /*! | |||
| * Get how many engine drivers are available to use. | |||
| * Get how many engine drivers are available. | |||
| */ | |||
| CARLA_EXPORT unsigned int carla_get_engine_driver_count(); | |||
| /*! | |||
| * Get the engine driver info for \a index. | |||
| * Get an engine driver name. | |||
| * @param index Driver index | |||
| */ | |||
| CARLA_EXPORT const char* carla_get_engine_driver_name(unsigned int index); | |||
| /*! | |||
| * Get the device names of the engine driver at \a index. | |||
| * Get the device names of an engine driver. | |||
| * @param index Driver index | |||
| */ | |||
| CARLA_EXPORT const char* const* carla_get_engine_driver_device_names(unsigned int index); | |||
| /*! | |||
| * Get a device driver info. | |||
| * Get information about a device driver. | |||
| * @param index Driver index | |||
| * @param name Device name | |||
| */ | |||
| CARLA_EXPORT const EngineDriverDeviceInfo* carla_get_engine_driver_device_info(unsigned int index, const char* driverName); | |||
| CARLA_EXPORT const EngineDriverDeviceInfo* carla_get_engine_driver_device_info(unsigned int index, const char* name); | |||
| /*! | |||
| * Get how many internal plugins are available to use. | |||
| * Get how many internal plugins are available. | |||
| */ | |||
| CARLA_EXPORT unsigned int carla_get_internal_plugin_count(); | |||
| @@ -30,6 +30,16 @@ struct LADSPA_RDF_Descriptor; | |||
| CARLA_BACKEND_START_NAMESPACE | |||
| /*! | |||
| * @defgroup PluginHints | |||
| * @{ | |||
| */ | |||
| const unsigned int PLUGIN_NEEDS_FIXED_BUFFERS = 0x100; | |||
| const unsigned int PLUGIN_NEEDS_SINGLE_THREAD = 0x200; | |||
| /** @} */ | |||
| /*! | |||
| * @defgroup CarlaPluginAPI Carla Plugin API | |||
| * | |||
| @@ -378,7 +388,7 @@ public: | |||
| * | |||
| * \see getParameterCount() | |||
| */ | |||
| void getParameterCountInfo(uint32_t& ins, uint32_t& outs, uint32_t& total) const; | |||
| void getParameterCountInfo(uint32_t& ins, uint32_t& outs) const noexcept; | |||
| // ------------------------------------------------------------------- | |||
| // Set data (state) | |||
| @@ -328,8 +328,6 @@ CarlaEnginePort* CarlaEngineClient::addPort(const EnginePortType portType, const | |||
| return new CarlaEngineCVPort(fEngine, isInput); | |||
| case kEnginePortTypeEvent: | |||
| return new CarlaEngineEventPort(fEngine, isInput); | |||
| case kEnginePortTypeOSC: | |||
| return nullptr; //new CarlaEngineOscPort(fEngine, isInput); | |||
| } | |||
| carla_stderr("CarlaEngineClient::addPort(%i, \"%s\", %s) - invalid type", portType, name, bool2str(isInput)); | |||
| @@ -403,7 +401,7 @@ const char* const* CarlaEngine::getDriverDeviceNames(const unsigned int index) | |||
| { | |||
| carla_debug("CarlaEngine::getDriverDeviceNames(%i)", index); | |||
| if (index == 0) | |||
| if (index == 0) // JACK | |||
| { | |||
| static const char* ret[3] = { "Auto-Connect OFF", "Auto-Connect ON", nullptr }; | |||
| return ret; | |||
| @@ -431,12 +429,13 @@ const EngineDriverDeviceInfo* CarlaEngine::getDriverDeviceInfo(const unsigned in | |||
| { | |||
| carla_debug("CarlaEngine::getDriverDeviceInfo(%i, \"%s\")", index, deviceName); | |||
| if (index == 0) | |||
| if (index == 0) // JACK | |||
| { | |||
| static uint32_t bufSizes[11] = { 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 0 }; | |||
| static EngineDriverDeviceInfo devInfo; | |||
| devInfo.hints |= ENGINE_DRIVER_VARIABLE_BUFFER_SIZE; | |||
| devInfo.hints = ENGINE_DRIVER_DEVICE_VARIABLE_BUFFER_SIZE; | |||
| devInfo.bufferSizes = bufSizes; | |||
| devInfo.sampleRates = nullptr; | |||
| return &devInfo; | |||
| } | |||
| @@ -639,7 +638,7 @@ void CarlaEngine::idle() | |||
| CarlaPlugin* const plugin(pData->plugins[i].plugin); | |||
| if (plugin != nullptr && plugin->isEnabled()) | |||
| plugin->idleGui(); | |||
| plugin->idle(); | |||
| } | |||
| } | |||
| @@ -696,7 +695,7 @@ bool CarlaEngine::addPlugin(const BinaryType btype, const PluginType ptype, cons | |||
| CarlaPlugin* plugin = nullptr; | |||
| #ifndef BUILD_BRIDGE | |||
| #if 0 //ndef BUILD_BRIDGE | |||
| const char* bridgeBinary; | |||
| switch (btype) | |||
| @@ -720,7 +719,7 @@ bool CarlaEngine::addPlugin(const BinaryType btype, const PluginType ptype, cons | |||
| # ifndef CARLA_OS_WIN | |||
| if (btype == BINARY_NATIVE && fOptions.bridge_native.isNotEmpty()) | |||
| bridgeBinary = (const char*)fOptions.bridge_native; | |||
| bridgeBinary = (const char*)fOptions.bridge_native; | |||
| # endif | |||
| if (btype != BINARY_NATIVE || (fOptions.preferPluginBridges && bridgeBinary != nullptr)) | |||
| @@ -1487,7 +1486,7 @@ void CarlaEngine::setOption(const EngineOption option, const int value, const ch | |||
| switch (option) | |||
| { | |||
| case ENGINE_OPTION_PROCESS_NAME: | |||
| case ENGINE_OPTION_DEBUG: | |||
| break; | |||
| case ENGINE_OPTION_PROCESS_MODE: | |||
| @@ -1559,69 +1558,13 @@ void CarlaEngine::setOption(const EngineOption option, const int value, const ch | |||
| fOptions.audioDevice = valueStr; | |||
| break; | |||
| case ENGINE_OPTION_PATH_RESOURCES: | |||
| fOptions.resourceDir = valueStr; | |||
| case ENGINE_OPTION_PATH_BINARIES: | |||
| fOptions.binaryDir = valueStr; | |||
| break; | |||
| #ifndef BUILD_BRIDGE | |||
| case ENGINE_OPTION_PATH_BRIDGE_NATIVE: | |||
| fOptions.bridge_native = valueStr; | |||
| break; | |||
| case ENGINE_OPTION_PATH_BRIDGE_POSIX32: | |||
| fOptions.bridge_posix32 = valueStr; | |||
| break; | |||
| case ENGINE_OPTION_PATH_BRIDGE_POSIX64: | |||
| fOptions.bridge_posix64 = valueStr; | |||
| break; | |||
| case ENGINE_OPTION_PATH_BRIDGE_WIN32: | |||
| fOptions.bridge_win32 = valueStr; | |||
| break; | |||
| case ENGINE_OPTION_PATH_BRIDGE_WIN64: | |||
| fOptions.bridge_win64 = valueStr; | |||
| break; | |||
| #endif | |||
| #ifdef WANT_LV2 | |||
| case ENGINE_OPTION_PATH_BRIDGE_LV2_EXTERNAL: | |||
| fOptions.bridge_lv2Extrn = valueStr; | |||
| break; | |||
| case ENGINE_OPTION_PATH_BRIDGE_LV2_GTK2: | |||
| fOptions.bridge_lv2Gtk2 = valueStr; | |||
| break; | |||
| case ENGINE_OPTION_PATH_BRIDGE_LV2_GTK3: | |||
| fOptions.bridge_lv2Gtk3 = valueStr; | |||
| break; | |||
| case ENGINE_OPTION_PATH_BRIDGE_LV2_NTK: | |||
| fOptions.bridge_lv2Ntk = valueStr; | |||
| break; | |||
| case ENGINE_OPTION_PATH_BRIDGE_LV2_QT4: | |||
| fOptions.bridge_lv2Qt4 = valueStr; | |||
| break; | |||
| case ENGINE_OPTION_PATH_BRIDGE_LV2_QT5: | |||
| fOptions.bridge_lv2Qt5 = valueStr; | |||
| break; | |||
| case ENGINE_OPTION_PATH_BRIDGE_LV2_COCOA: | |||
| fOptions.bridge_lv2Cocoa = valueStr; | |||
| break; | |||
| case ENGINE_OPTION_PATH_BRIDGE_LV2_WINDOWS: | |||
| fOptions.bridge_lv2Win = valueStr; | |||
| break; | |||
| case ENGINE_OPTION_PATH_BRIDGE_LV2_X11: | |||
| fOptions.bridge_lv2X11 = valueStr; | |||
| break; | |||
| #endif | |||
| #ifdef WANT_VST | |||
| case ENGINE_OPTION_PATH_BRIDGE_VST_MAC: | |||
| fOptions.bridge_vstMac = valueStr; | |||
| break; | |||
| case ENGINE_OPTION_PATH_BRIDGE_VST_HWND: | |||
| fOptions.bridge_vstHWND = valueStr; | |||
| break; | |||
| case ENGINE_OPTION_PATH_BRIDGE_VST_X11: | |||
| fOptions.bridge_vstX11 = valueStr; | |||
| case ENGINE_OPTION_PATH_RESOURCES: | |||
| fOptions.resourceDir = valueStr; | |||
| break; | |||
| #endif | |||
| } | |||
| } | |||
| @@ -1963,37 +1906,36 @@ void CarlaEngine::oscSend_control_set_plugin_data(const int32_t pluginId, const | |||
| } | |||
| } | |||
| void CarlaEngine::oscSend_control_set_plugin_ports(const int32_t pluginId, const int32_t audioIns, const int32_t audioOuts, const int32_t midiIns, const int32_t midiOuts, const int32_t cIns, const int32_t cOuts, const int32_t cTotals) | |||
| void CarlaEngine::oscSend_control_set_plugin_ports(const int32_t pluginId, const int32_t audioIns, const int32_t audioOuts, const int32_t midiIns, const int32_t midiOuts, const int32_t cIns, const int32_t cOuts) | |||
| { | |||
| CARLA_SAFE_ASSERT_RETURN(pData->oscData != nullptr,); | |||
| CARLA_SAFE_ASSERT_RETURN(pluginId >= 0 && pluginId < static_cast<int32_t>(pData->maxPluginNumber),); | |||
| carla_debug("CarlaEngine::oscSend_control_set_plugin_ports(%i, %i, %i, %i, %i, %i, %i, %i)", pluginId, audioIns, audioOuts, midiIns, midiOuts, cIns, cOuts, cTotals); | |||
| carla_debug("CarlaEngine::oscSend_control_set_plugin_ports(%i, %i, %i, %i, %i, %i, %i)", pluginId, audioIns, audioOuts, midiIns, midiOuts, cIns, cOuts); | |||
| if (pData->oscData->target != nullptr) | |||
| { | |||
| char targetPath[std::strlen(pData->oscData->path)+18]; | |||
| std::strcpy(targetPath, pData->oscData->path); | |||
| std::strcat(targetPath, "/set_plugin_ports"); | |||
| lo_send(pData->oscData->target, targetPath, "iiiiiiii", pluginId, audioIns, audioOuts, midiIns, midiOuts, cIns, cOuts, cTotals); | |||
| lo_send(pData->oscData->target, targetPath, "iiiiiii", pluginId, audioIns, audioOuts, midiIns, midiOuts, cIns, cOuts); | |||
| } | |||
| } | |||
| void CarlaEngine::oscSend_control_set_parameter_data(const int32_t pluginId, const int32_t index, const int32_t type, const int32_t hints, const char* const name, const char* const unit, const float current) | |||
| void CarlaEngine::oscSend_control_set_parameter_data(const int32_t pluginId, const int32_t index, const int32_t hints, const char* const name, const char* const unit, const float current) | |||
| { | |||
| CARLA_SAFE_ASSERT_RETURN(pData->oscData != nullptr,); | |||
| CARLA_SAFE_ASSERT_RETURN(pluginId >= 0 && pluginId < static_cast<int32_t>(pData->maxPluginNumber),); | |||
| CARLA_SAFE_ASSERT_RETURN(index >= 0,); | |||
| CARLA_SAFE_ASSERT_RETURN(type != PARAMETER_UNKNOWN,); | |||
| CARLA_SAFE_ASSERT_RETURN(name != nullptr && name[0] != '\0',); | |||
| CARLA_SAFE_ASSERT_RETURN(unit != nullptr,); | |||
| carla_debug("CarlaEngine::oscSend_control_set_parameter_data(%i, %i, %i, %i, \"%s\", \"%s\", %f)", pluginId, index, type, hints, name, unit, current); | |||
| carla_debug("CarlaEngine::oscSend_control_set_parameter_data(%i, %i, %i, %i, \"%s\", \"%s\", %f)", pluginId, index, hints, name, unit, current); | |||
| if (pData->oscData->target != nullptr) | |||
| { | |||
| char targetPath[std::strlen(pData->oscData->path)+20]; | |||
| std::strcpy(targetPath, pData->oscData->path); | |||
| std::strcat(targetPath, "/set_parameter_data"); | |||
| lo_send(pData->oscData->target, targetPath, "iiiissf", pluginId, index, type, hints, name, unit, current); | |||
| lo_send(pData->oscData->target, targetPath, "iiissf", pluginId, index, hints, name, unit, current); | |||
| } | |||
| } | |||
| @@ -2350,17 +2292,17 @@ void CarlaEngine::oscSend_bridge_parameter_info(const int32_t index, const char* | |||
| } | |||
| } | |||
| void CarlaEngine::oscSend_bridge_parameter_data(const int32_t index, const int32_t type, const int32_t rindex, const int32_t hints, const int32_t midiChannel, const int32_t midiCC) | |||
| void CarlaEngine::oscSend_bridge_parameter_data(const int32_t index, const int32_t rindex, const int32_t hints, const int32_t midiChannel, const int32_t midiCC) | |||
| { | |||
| CARLA_SAFE_ASSERT_RETURN(pData->oscData != nullptr,); | |||
| carla_debug("CarlaEngine::oscSend_bridge_parameter_data(%i, %i, %i, %i, %i, %i)", index, type, rindex, hints, midiChannel, midiCC); | |||
| carla_debug("CarlaEngine::oscSend_bridge_parameter_data(%i, %i, %i, %i, %i)", index, rindex, hints, midiChannel, midiCC); | |||
| if (pData->oscData->target != nullptr) | |||
| { | |||
| char targetPath[std::strlen(pData->oscData->path)+23]; | |||
| std::strcpy(targetPath, pData->oscData->path); | |||
| std::strcat(targetPath, "/bridge_parameter_data"); | |||
| lo_send(pData->oscData->target, targetPath, "iiiiii", index, type, rindex, hints, midiChannel, midiCC); | |||
| lo_send(pData->oscData->target, targetPath, "iiiii", index, rindex, hints, midiChannel, midiCC); | |||
| } | |||
| } | |||
| @@ -70,8 +70,6 @@ const char* EnginePortType2Str(const EnginePortType type) | |||
| return "kEnginePortTypeCV"; | |||
| case kEnginePortTypeEvent: | |||
| return "kEnginePortTypeEvent"; | |||
| case kEnginePortTypeOSC: | |||
| return "kEnginePortTypeOSC"; | |||
| } | |||
| carla_stderr("CarlaBackend::EnginePortType2Str(%i) - invalid type", type); | |||
| @@ -528,8 +528,6 @@ public: | |||
| case kEnginePortTypeEvent: | |||
| port = jackbridge_port_register(fClient, name, JACK_DEFAULT_MIDI_TYPE, isInput ? JackPortIsInput : JackPortIsOutput, 0); | |||
| break; | |||
| case kEnginePortTypeOSC: | |||
| break; | |||
| } | |||
| } | |||
| @@ -544,8 +542,6 @@ public: | |||
| return new CarlaEngineJackCVPort(fEngine, isInput, fClient, port); | |||
| case kEnginePortTypeEvent: | |||
| return new CarlaEngineJackEventPort(fEngine, isInput, fClient, port); | |||
| case kEnginePortTypeOSC: | |||
| break; | |||
| } | |||
| carla_stderr("CarlaEngineJackClient::addPort(%s, \"%s\", %s) - invalid type", EnginePortType2Str(portType), name, bool2str(isInput)); | |||
| @@ -816,7 +812,7 @@ public: | |||
| const char* const icon((const char*)data); | |||
| CARLA_ASSERT(std::strlen(icon)+1 == dataSize); | |||
| callback(ENGINE_CALLBACK_PATCHBAY_ICON_CHANGED, 0, groupId, 0, 0.0f, icon); | |||
| callback(ENGINE_CALLBACK_PATCHBAY_CLIENT_ICON_CHANGED, 0, groupId, 0, 0.0f, icon); | |||
| jackbridge_free(data); | |||
| } | |||
| @@ -1175,6 +1171,8 @@ protected: | |||
| FloatVectorOperations::copy(audioOut1, audioIn1, nframes); | |||
| FloatVectorOperations::copy(audioOut2, audioIn2, nframes); | |||
| #else | |||
| carla_copyFloat(audioOut1, audioIn1, nframes); | |||
| carla_copyFloat(audioOut2, audioIn2, nframes); | |||
| #endif | |||
| jackbridge_midi_clear_buffer(eventOut); | |||
| } | |||
| @@ -1506,11 +1504,11 @@ protected: | |||
| bool portIsCV = (jackPortFlags & JackPortIsControlVoltage); | |||
| unsigned int canvasPortFlags = 0x0; | |||
| canvasPortFlags |= portIsInput ? PATCHBAY_PORT_IS_INPUT : PATCHBAY_PORT_IS_OUTPUT; | |||
| canvasPortFlags |= portIsAudio ? PATCHBAY_PORT_IS_AUDIO : PATCHBAY_PORT_IS_MIDI; | |||
| canvasPortFlags |= portIsInput ? PATCHBAY_PORT_IS_INPUT : 0x0; | |||
| canvasPortFlags |= portIsAudio ? PATCHBAY_PORT_TYPE_AUDIO : PATCHBAY_PORT_TYPE_MIDI; | |||
| if (portIsAudio && portIsCV) | |||
| canvasPortFlags |= PATCHBAY_PORT_IS_CV; | |||
| canvasPortFlags |= PATCHBAY_PORT_TYPE_CV; | |||
| PortNameToId portNameToId(groupId, fLastPortId++, portName, fullPortName); | |||
| fUsedPortNames.append(portNameToId); | |||
| @@ -18,7 +18,7 @@ | |||
| #ifndef CARLA_ENGINE_OSC_HPP_INCLUDED | |||
| #define CARLA_ENGINE_OSC_HPP_INCLUDED | |||
| #include "CarlaBackend.hpp" | |||
| #include "CarlaBackend.h" | |||
| #include "CarlaOscUtils.hpp" | |||
| #include "CarlaString.hpp" | |||
| @@ -657,12 +657,12 @@ public: | |||
| { | |||
| callback(ENGINE_CALLBACK_PATCHBAY_CLIENT_ADDED, 0, PATCHBAY_GROUP_CARLA, 0, 0.0f, getName()); | |||
| callback(ENGINE_CALLBACK_PATCHBAY_PORT_ADDED, 0, PATCHBAY_GROUP_CARLA, PATCHBAY_PORT_AUDIO_IN1, PATCHBAY_PORT_IS_AUDIO|PATCHBAY_PORT_IS_INPUT, "audio-in1"); | |||
| callback(ENGINE_CALLBACK_PATCHBAY_PORT_ADDED, 0, PATCHBAY_GROUP_CARLA, PATCHBAY_PORT_AUDIO_IN2, PATCHBAY_PORT_IS_AUDIO|PATCHBAY_PORT_IS_INPUT, "audio-in2"); | |||
| callback(ENGINE_CALLBACK_PATCHBAY_PORT_ADDED, 0, PATCHBAY_GROUP_CARLA, PATCHBAY_PORT_AUDIO_OUT1, PATCHBAY_PORT_IS_AUDIO|PATCHBAY_PORT_IS_OUTPUT, "audio-out1"); | |||
| callback(ENGINE_CALLBACK_PATCHBAY_PORT_ADDED, 0, PATCHBAY_GROUP_CARLA, PATCHBAY_PORT_AUDIO_OUT2, PATCHBAY_PORT_IS_AUDIO|PATCHBAY_PORT_IS_OUTPUT, "audio-out2"); | |||
| callback(ENGINE_CALLBACK_PATCHBAY_PORT_ADDED, 0, PATCHBAY_GROUP_CARLA, PATCHBAY_PORT_MIDI_IN, PATCHBAY_PORT_IS_MIDI|PATCHBAY_PORT_IS_INPUT, "midi-in"); | |||
| callback(ENGINE_CALLBACK_PATCHBAY_PORT_ADDED, 0, PATCHBAY_GROUP_CARLA, PATCHBAY_PORT_MIDI_OUT, PATCHBAY_PORT_IS_MIDI|PATCHBAY_PORT_IS_OUTPUT, "midi-out"); | |||
| callback(ENGINE_CALLBACK_PATCHBAY_PORT_ADDED, 0, PATCHBAY_GROUP_CARLA, PATCHBAY_PORT_AUDIO_IN1, PATCHBAY_PORT_TYPE_AUDIO|PATCHBAY_PORT_IS_INPUT, "audio-in1"); | |||
| callback(ENGINE_CALLBACK_PATCHBAY_PORT_ADDED, 0, PATCHBAY_GROUP_CARLA, PATCHBAY_PORT_AUDIO_IN2, PATCHBAY_PORT_TYPE_AUDIO|PATCHBAY_PORT_IS_INPUT, "audio-in2"); | |||
| callback(ENGINE_CALLBACK_PATCHBAY_PORT_ADDED, 0, PATCHBAY_GROUP_CARLA, PATCHBAY_PORT_AUDIO_OUT1, PATCHBAY_PORT_TYPE_AUDIO, "audio-out1"); | |||
| callback(ENGINE_CALLBACK_PATCHBAY_PORT_ADDED, 0, PATCHBAY_GROUP_CARLA, PATCHBAY_PORT_AUDIO_OUT2, PATCHBAY_PORT_TYPE_AUDIO, "audio-out2"); | |||
| callback(ENGINE_CALLBACK_PATCHBAY_PORT_ADDED, 0, PATCHBAY_GROUP_CARLA, PATCHBAY_PORT_MIDI_IN, PATCHBAY_PORT_TYPE_MIDI|PATCHBAY_PORT_IS_INPUT, "midi-in"); | |||
| callback(ENGINE_CALLBACK_PATCHBAY_PORT_ADDED, 0, PATCHBAY_GROUP_CARLA, PATCHBAY_PORT_MIDI_OUT, PATCHBAY_PORT_TYPE_MIDI, "midi-out"); | |||
| } | |||
| // Audio In | |||
| @@ -677,7 +677,7 @@ public: | |||
| for (unsigned int i=0; i < fAudioCountIn; ++i) | |||
| { | |||
| std::snprintf(strBuf, STR_MAX, "capture_%i", i+1); | |||
| callback(ENGINE_CALLBACK_PATCHBAY_PORT_ADDED, 0, PATCHBAY_GROUP_AUDIO_IN, PATCHBAY_GROUP_AUDIO_IN*1000 + i, PATCHBAY_PORT_IS_AUDIO|PATCHBAY_PORT_IS_OUTPUT, strBuf); | |||
| callback(ENGINE_CALLBACK_PATCHBAY_PORT_ADDED, 0, PATCHBAY_GROUP_AUDIO_IN, PATCHBAY_GROUP_AUDIO_IN*1000 + i, PATCHBAY_PORT_TYPE_AUDIO, strBuf); | |||
| } | |||
| } | |||
| @@ -693,7 +693,7 @@ public: | |||
| for (unsigned int i=0; i < fAudioCountOut; ++i) | |||
| { | |||
| std::snprintf(strBuf, STR_MAX, "playback_%i", i+1); | |||
| callback(ENGINE_CALLBACK_PATCHBAY_PORT_ADDED, 0, PATCHBAY_GROUP_AUDIO_OUT, PATCHBAY_GROUP_AUDIO_OUT*1000 + i, PATCHBAY_PORT_IS_AUDIO|PATCHBAY_PORT_IS_INPUT, strBuf); | |||
| callback(ENGINE_CALLBACK_PATCHBAY_PORT_ADDED, 0, PATCHBAY_GROUP_AUDIO_OUT, PATCHBAY_GROUP_AUDIO_OUT*1000 + i, PATCHBAY_PORT_TYPE_AUDIO|PATCHBAY_PORT_IS_INPUT, strBuf); | |||
| } | |||
| } | |||
| @@ -708,7 +708,7 @@ public: | |||
| std::strncpy(portNameToId.name, fDummyMidiIn.getPortName(i).c_str(), STR_MAX); | |||
| fUsedMidiIns.append(portNameToId); | |||
| callback(ENGINE_CALLBACK_PATCHBAY_PORT_ADDED, 0, PATCHBAY_GROUP_MIDI_IN, portNameToId.portId, PATCHBAY_PORT_IS_MIDI|PATCHBAY_PORT_IS_OUTPUT, portNameToId.name); | |||
| callback(ENGINE_CALLBACK_PATCHBAY_PORT_ADDED, 0, PATCHBAY_GROUP_MIDI_IN, portNameToId.portId, PATCHBAY_PORT_TYPE_MIDI, portNameToId.name); | |||
| } | |||
| } | |||
| @@ -724,7 +724,7 @@ public: | |||
| std::strncpy(portNameToId.name, fDummyMidiOut.getPortName(i).c_str(), STR_MAX); | |||
| fUsedMidiOuts.append(portNameToId); | |||
| callback(ENGINE_CALLBACK_PATCHBAY_PORT_ADDED, 0, PATCHBAY_GROUP_MIDI_OUT, portNameToId.portId, PATCHBAY_PORT_IS_MIDI|PATCHBAY_PORT_IS_INPUT, portNameToId.name); | |||
| callback(ENGINE_CALLBACK_PATCHBAY_PORT_ADDED, 0, PATCHBAY_GROUP_MIDI_OUT, portNameToId.portId, PATCHBAY_PORT_TYPE_MIDI|PATCHBAY_PORT_IS_INPUT, portNameToId.name); | |||
| } | |||
| } | |||
| #endif | |||
| @@ -18,7 +18,7 @@ | |||
| #ifndef CARLA_ENGINE_THREAD_HPP_INCLUDED | |||
| #define CARLA_ENGINE_THREAD_HPP_INCLUDED | |||
| #include "CarlaBackend.hpp" | |||
| #include "CarlaBackend.h" | |||
| #include "CarlaThread.hpp" | |||
| CARLA_BACKEND_START_NAMESPACE | |||
| @@ -30,7 +30,7 @@ OBJS = $(OBJSp) \ | |||
| # CarlaEngineJuce.cpp.o | |||
| HEADERS = \ | |||
| ../CarlaBackend.hpp ../CarlaEngine.hpp ../CarlaPlugin.hpp \ | |||
| ../CarlaBackend.h ../CarlaEngine.hpp ../CarlaPlugin.hpp \ | |||
| CarlaEngineInternal.hpp CarlaEngineOsc.hpp CarlaEngineThread.hpp | |||
| TARGET = ../libcarla_engine.a | |||
| @@ -365,7 +365,7 @@ public: | |||
| // ------------------------------------------------------------------- | |||
| // Information (per-plugin data) | |||
| unsigned int getAvailableOptions() const override | |||
| unsigned int getOptionsAvailable() const override | |||
| { | |||
| unsigned int options = 0x0; | |||
| @@ -578,7 +578,7 @@ public: | |||
| // ------------------------------------------------------------------- | |||
| // Set gui stuff | |||
| void showGui(const bool yesNo) override | |||
| void showCustomUI(const bool yesNo) override | |||
| { | |||
| if (yesNo) | |||
| osc_send_show(pData->osc.data); | |||
| @@ -586,12 +586,12 @@ public: | |||
| osc_send_hide(pData->osc.data); | |||
| } | |||
| void idleGui() override | |||
| void idle() override | |||
| { | |||
| if (! pData->osc.thread.isRunning()) | |||
| carla_stderr2("TESTING: Bridge has closed!"); | |||
| CarlaPlugin::idleGui(); | |||
| CarlaPlugin::idle(); | |||
| } | |||
| // ------------------------------------------------------------------- | |||
| @@ -891,7 +891,7 @@ public: | |||
| continue; | |||
| if (pData->param.data[k].midiCC != ctrlEvent.param) | |||
| continue; | |||
| if (pData->param.data[k].type != PARAMETER_INPUT) | |||
| if ((pData->param.data[k].hints & PARAMETER_IS_INPUT) == 0) | |||
| continue; | |||
| if ((pData->param.data[k].hints & PARAMETER_IS_AUTOMABLE) == 0) | |||
| continue; | |||
| @@ -1389,17 +1389,15 @@ public: | |||
| case kPluginBridgeParameterData: | |||
| { | |||
| CARLA_BRIDGE_CHECK_OSC_TYPES(6, "iiiiii"); | |||
| CARLA_BRIDGE_CHECK_OSC_TYPES(5, "iiiii"); | |||
| const int32_t index = argv[0]->i; | |||
| const int32_t type = argv[1]->i; | |||
| const int32_t rindex = argv[2]->i; | |||
| const int32_t hints = argv[3]->i; | |||
| const int32_t channel = argv[4]->i; | |||
| const int32_t cc = argv[5]->i; | |||
| CARLA_ASSERT_INT2(index >= 0 && index < static_cast<int32_t>(pData->param.count), index, pData->param.count); | |||
| CARLA_ASSERT(type >= 0); | |||
| CARLA_ASSERT(rindex >= 0); | |||
| CARLA_ASSERT(hints >= 0); | |||
| CARLA_ASSERT(channel >= 0 && channel < 16); | |||
| @@ -1407,7 +1405,6 @@ public: | |||
| if (index >= 0 && static_cast<int32_t>(pData->param.count)) | |||
| { | |||
| pData->param.data[index].type = static_cast<ParameterType>(type); | |||
| pData->param.data[index].index = index; | |||
| pData->param.data[index].rindex = rindex; | |||
| pData->param.data[index].hints = hints; | |||
| @@ -349,7 +349,7 @@ const ParameterRanges& CarlaPlugin::getParameterRanges(const uint32_t parameterI | |||
| bool CarlaPlugin::isParameterOutput(const uint32_t parameterId) const | |||
| { | |||
| CARLA_SAFE_ASSERT_RETURN(parameterId < pData->param.count, false); | |||
| return (pData->param.data[parameterId].type == PARAMETER_OUTPUT); | |||
| return ((pData->param.data[parameterId].hints & PARAMETER_IS_INPUT) == 0); | |||
| } | |||
| const MidiProgramData& CarlaPlugin::getMidiProgramData(const uint32_t index) const | |||
| @@ -374,7 +374,7 @@ int32_t CarlaPlugin::getChunkData(void** const dataPtr) const | |||
| // ------------------------------------------------------------------- | |||
| // Information (per-plugin data) | |||
| unsigned int CarlaPlugin::getAvailableOptions() const | |||
| unsigned int CarlaPlugin::getOptionsAvailable() const | |||
| { | |||
| CARLA_ASSERT(false); // this should never happen | |||
| return 0x0; | |||
| @@ -463,17 +463,16 @@ void CarlaPlugin::getMidiProgramName(const uint32_t index, char* const strBuf) c | |||
| std::strncpy(strBuf, pData->midiprog.data[index].name, STR_MAX); | |||
| } | |||
| void CarlaPlugin::getParameterCountInfo(uint32_t& ins, uint32_t& outs, uint32_t& total) const | |||
| void CarlaPlugin::getParameterCountInfo(uint32_t& ins, uint32_t& outs) const noexcept | |||
| { | |||
| ins = 0; | |||
| outs = 0; | |||
| total = pData->param.count; | |||
| for (uint32_t i=0; i < pData->param.count; ++i) | |||
| { | |||
| if (pData->param.data[i].type == PARAMETER_INPUT) | |||
| if (pData->param.data[i].hints & PARAMETER_IS_INPUT) | |||
| ++ins; | |||
| else if (pData->param.data[i].type == PARAMETER_OUTPUT) | |||
| else | |||
| ++outs; | |||
| } | |||
| } | |||
| @@ -566,7 +565,7 @@ const SaveState& CarlaPlugin::getSaveState() | |||
| { | |||
| const ParameterData& paramData(pData->param.data[i]); | |||
| if (paramData.type != PARAMETER_INPUT || (paramData.hints & PARAMETER_IS_ENABLED) == 0) | |||
| if ((paramData.hints & PARAMETER_IS_INPUT) == 0 || (paramData.hints & PARAMETER_IS_ENABLED) == 0) | |||
| continue; | |||
| StateParameter* stateParameter(new StateParameter()); | |||
| @@ -897,7 +896,7 @@ void CarlaPlugin::setName(const char* const newName) | |||
| void CarlaPlugin::setOption(const unsigned int option, const bool yesNo) | |||
| { | |||
| CARLA_ASSERT(getAvailableOptions() & option); | |||
| CARLA_ASSERT(getOptionsAvailable() & option); | |||
| if (yesNo) | |||
| fOptions |= option; | |||
| @@ -1424,7 +1423,7 @@ void CarlaPlugin::setMidiProgramById(const uint32_t bank, const uint32_t program | |||
| // ------------------------------------------------------------------- | |||
| // Set gui stuff | |||
| void CarlaPlugin::showGui(const bool yesNo) | |||
| void CarlaPlugin::showCustomUI(const bool yesNo) | |||
| { | |||
| CARLA_ASSERT(false); | |||
| return; | |||
| @@ -1433,7 +1432,7 @@ void CarlaPlugin::showGui(const bool yesNo) | |||
| (void)yesNo; | |||
| } | |||
| void CarlaPlugin::idleGui() | |||
| void CarlaPlugin::idle() | |||
| { | |||
| if (! fEnabled) | |||
| return; | |||
| @@ -1446,7 +1445,7 @@ void CarlaPlugin::idleGui() | |||
| // Update parameter outputs | |||
| for (uint32_t i=0; i < pData->param.count; ++i) | |||
| { | |||
| if (pData->param.data[i].type == PARAMETER_OUTPUT) | |||
| if ((pData->param.data[i].hints & PARAMETER_IS_INPUT) == 0) | |||
| uiParameterChange(i, getParameterValue(i)); | |||
| } | |||
| } | |||
| @@ -1546,15 +1545,15 @@ void CarlaPlugin::registerToOscClient() | |||
| // Base count | |||
| { | |||
| uint32_t cIns, cOuts, cTotals; | |||
| getParameterCountInfo(cIns, cOuts, cTotals); | |||
| uint32_t cIns, cOuts; | |||
| getParameterCountInfo(cIns, cOuts); | |||
| #ifdef BUILD_BRIDGE | |||
| pData->engine->oscSend_bridge_audio_count(getAudioInCount(), getAudioOutCount(), getAudioInCount() + getAudioOutCount()); | |||
| pData->engine->oscSend_bridge_midi_count(getMidiInCount(), getMidiOutCount(), getMidiInCount() + getMidiOutCount()); | |||
| pData->engine->oscSend_bridge_parameter_count(cIns, cOuts, cTotals); | |||
| #else | |||
| pData->engine->oscSend_control_set_plugin_ports(fId, getAudioInCount(), getAudioOutCount(), getMidiInCount(), getMidiOutCount(), cIns, cOuts, cTotals); | |||
| pData->engine->oscSend_control_set_plugin_ports(fId, getAudioInCount(), getAudioOutCount(), getMidiInCount(), getMidiOutCount(), cIns, cOuts); | |||
| #endif | |||
| } | |||
| @@ -1576,11 +1575,11 @@ void CarlaPlugin::registerToOscClient() | |||
| #ifdef BUILD_BRIDGE | |||
| pData->engine->oscSend_bridge_parameter_info(i, bufName, bufUnit); | |||
| pData->engine->oscSend_bridge_parameter_data(i, paramData.type, paramData.rindex, paramData.hints, paramData.midiChannel, paramData.midiCC); | |||
| pData->engine->oscSend_bridge_parameter_data(i, paramData.rindex, paramData.hints, paramData.midiChannel, paramData.midiCC); | |||
| pData->engine->oscSend_bridge_parameter_ranges(i, paramRanges.def, paramRanges.min, paramRanges.max, paramRanges.step, paramRanges.stepSmall, paramRanges.stepLarge); | |||
| pData->engine->oscSend_bridge_set_parameter_value(i, getParameterValue(i)); | |||
| #else | |||
| pData->engine->oscSend_control_set_parameter_data(fId, i, paramData.type, paramData.hints, bufName, bufUnit, getParameterValue(i)); | |||
| pData->engine->oscSend_control_set_parameter_data(fId, i,paramData.hints, bufName, bufUnit, getParameterValue(i)); | |||
| pData->engine->oscSend_control_set_parameter_ranges(fId, i, paramRanges.min, paramRanges.max, paramRanges.def, paramRanges.step, paramRanges.stepSmall, paramRanges.stepLarge); | |||
| pData->engine->oscSend_control_set_parameter_midi_cc(fId, i, paramData.midiCC); | |||
| pData->engine->oscSend_control_set_parameter_midi_channel(fId, i, paramData.midiChannel); | |||
| @@ -51,8 +51,6 @@ const unsigned short kPluginMaxMidiEvents = 512; | |||
| const unsigned int PLUGIN_EXTRA_HINT_HAS_MIDI_IN = 0x01; | |||
| const unsigned int PLUGIN_EXTRA_HINT_HAS_MIDI_OUT = 0x02; | |||
| const unsigned int PLUGIN_EXTRA_HINT_CAN_RUN_RACK = 0x04; | |||
| const unsigned int PLUGIN_EXTRA_HINT_FIXED_BUFFERS = 0x10; | |||
| const unsigned int PLUGIN_EXTRA_HINT_SINGLE_THREAD = 0x20; | |||
| // ----------------------------------------------------------------------- | |||
| @@ -18,7 +18,7 @@ | |||
| #ifndef CARLA_PLUGIN_THREAD_HPP_INCLUDED | |||
| #define CARLA_PLUGIN_THREAD_HPP_INCLUDED | |||
| #include "CarlaBackend.hpp" | |||
| #include "CarlaBackend.h" | |||
| #include "CarlaThread.hpp" | |||
| CARLA_BACKEND_START_NAMESPACE | |||
| @@ -53,9 +53,9 @@ public: | |||
| carla_debug("DssiPlugin::~DssiPlugin()"); | |||
| // close UI | |||
| if (fHints & PLUGIN_HAS_GUI) | |||
| if (fHints & PLUGIN_HAS_CUSTOM_UI) | |||
| { | |||
| showGui(false); | |||
| showCustomUI(false); | |||
| pData->osc.thread.stop(pData->engine->getOptions().uiBridgesTimeout * 2); | |||
| } | |||
| @@ -154,7 +154,7 @@ public: | |||
| // ------------------------------------------------------------------- | |||
| // Information (per-plugin data) | |||
| unsigned int getAvailableOptions() const override | |||
| unsigned int getOptionsAvailable() const override | |||
| { | |||
| const bool isAmSynth = fFilename.contains("amsynth", true); | |||
| const bool isDssiVst = fFilename.contains("dssi-vst", true); | |||
| @@ -358,7 +358,7 @@ public: | |||
| // ------------------------------------------------------------------- | |||
| // Set gui stuff | |||
| void showGui(const bool yesNo) override | |||
| void showCustomUI(const bool yesNo) override | |||
| { | |||
| if (yesNo) | |||
| { | |||
| @@ -615,7 +615,7 @@ public: | |||
| if (LADSPA_IS_PORT_INPUT(portType)) | |||
| { | |||
| pData->param.data[j].type = PARAMETER_INPUT; | |||
| pData->param.data[j].hints |= PARAMETER_IS_INPUT; | |||
| pData->param.data[j].hints |= PARAMETER_IS_ENABLED; | |||
| pData->param.data[j].hints |= PARAMETER_IS_AUTOMABLE; | |||
| needsCtrlIn = true; | |||
| @@ -658,7 +658,6 @@ public: | |||
| } | |||
| else | |||
| { | |||
| pData->param.data[j].type = PARAMETER_OUTPUT; | |||
| pData->param.data[j].hints |= PARAMETER_IS_ENABLED; | |||
| pData->param.data[j].hints |= PARAMETER_IS_AUTOMABLE; | |||
| needsCtrlOut = true; | |||
| @@ -666,7 +665,6 @@ public: | |||
| } | |||
| else | |||
| { | |||
| pData->param.data[j].type = PARAMETER_UNKNOWN; | |||
| carla_stderr2("WARNING - Got a broken Port (Control, but not input or output)"); | |||
| } | |||
| @@ -745,7 +743,7 @@ public: | |||
| fHints |= PLUGIN_IS_RTSAFE; | |||
| if (fGuiFilename != nullptr) | |||
| fHints |= PLUGIN_HAS_GUI; | |||
| fHints |= PLUGIN_HAS_CUSTOM_UI; | |||
| if (aOuts > 0 && (aIns == aOuts || aIns == 1)) | |||
| fHints |= PLUGIN_CAN_DRYWET; | |||
| @@ -1163,7 +1161,7 @@ public: | |||
| continue; | |||
| if (pData->param.data[k].midiCC != ctrlEvent.param) | |||
| continue; | |||
| if (pData->param.data[k].type != PARAMETER_INPUT) | |||
| if ((pData->param.data[k].hints & PARAMETER_IS_INPUT) == 0) | |||
| continue; | |||
| if ((pData->param.data[k].hints & PARAMETER_IS_AUTOMABLE) == 0) | |||
| continue; | |||
| @@ -1411,7 +1409,7 @@ public: | |||
| for (uint32_t k=0; k < pData->param.count; ++k) | |||
| { | |||
| if (pData->param.data[k].type != PARAMETER_OUTPUT) | |||
| if (pData->param.data[k].hints & PARAMETER_IS_INPUT) | |||
| continue; | |||
| if (pData->param.data[k].midiCC > 0) | |||
| @@ -1954,7 +1952,7 @@ public: | |||
| pData->idStr += std::strrchr(filename, OS_SEP)+1; | |||
| pData->idStr += "/"; | |||
| pData->idStr += label; | |||
| fOptions = pData->loadSettings(fOptions, getAvailableOptions()); | |||
| fOptions = pData->loadSettings(fOptions, getOptionsAvailable()); | |||
| // ignore settings, we need this anyway | |||
| if (isAmSynth || isDssiVst) | |||
| @@ -156,7 +156,7 @@ public: | |||
| // ------------------------------------------------------------------- | |||
| // Information (per-plugin data) | |||
| unsigned int getAvailableOptions() const override | |||
| unsigned int getOptionsAvailable() const override | |||
| { | |||
| unsigned int options = 0x0; | |||
| @@ -644,8 +644,7 @@ public: | |||
| j = FluidSynthReverbOnOff; | |||
| pData->param.data[j].index = j; | |||
| pData->param.data[j].rindex = j; | |||
| pData->param.data[j].type = PARAMETER_INPUT; | |||
| pData->param.data[j].hints = PARAMETER_IS_ENABLED /*| PARAMETER_IS_AUTOMABLE*/ | PARAMETER_IS_BOOLEAN; | |||
| pData->param.data[j].hints = PARAMETER_IS_INPUT | PARAMETER_IS_ENABLED /*| PARAMETER_IS_AUTOMABLE*/ | PARAMETER_IS_BOOLEAN; | |||
| pData->param.data[j].midiChannel = 0; | |||
| pData->param.data[j].midiCC = -1; | |||
| pData->param.ranges[j].min = 0.0f; | |||
| @@ -660,8 +659,7 @@ public: | |||
| j = FluidSynthReverbRoomSize; | |||
| pData->param.data[j].index = j; | |||
| pData->param.data[j].rindex = j; | |||
| pData->param.data[j].type = PARAMETER_INPUT; | |||
| pData->param.data[j].hints = PARAMETER_IS_ENABLED /*| PARAMETER_IS_AUTOMABLE*/; | |||
| pData->param.data[j].hints = PARAMETER_IS_INPUT | PARAMETER_IS_ENABLED /*| PARAMETER_IS_AUTOMABLE*/; | |||
| pData->param.data[j].midiChannel = 0; | |||
| pData->param.data[j].midiCC = -1; | |||
| pData->param.ranges[j].min = 0.0f; | |||
| @@ -676,8 +674,7 @@ public: | |||
| j = FluidSynthReverbDamp; | |||
| pData->param.data[j].index = j; | |||
| pData->param.data[j].rindex = j; | |||
| pData->param.data[j].type = PARAMETER_INPUT; | |||
| pData->param.data[j].hints = PARAMETER_IS_ENABLED /*| PARAMETER_IS_AUTOMABLE*/; | |||
| pData->param.data[j].hints = PARAMETER_IS_INPUT | PARAMETER_IS_ENABLED /*| PARAMETER_IS_AUTOMABLE*/; | |||
| pData->param.data[j].midiChannel = 0; | |||
| pData->param.data[j].midiCC = -1; | |||
| pData->param.ranges[j].min = 0.0f; | |||
| @@ -692,8 +689,7 @@ public: | |||
| j = FluidSynthReverbLevel; | |||
| pData->param.data[j].index = j; | |||
| pData->param.data[j].rindex = j; | |||
| pData->param.data[j].type = PARAMETER_INPUT; | |||
| pData->param.data[j].hints = PARAMETER_IS_ENABLED /*| PARAMETER_IS_AUTOMABLE*/; | |||
| pData->param.data[j].hints = PARAMETER_IS_INPUT | PARAMETER_IS_ENABLED /*| PARAMETER_IS_AUTOMABLE*/; | |||
| pData->param.data[j].midiChannel = 0; | |||
| pData->param.data[j].midiCC = MIDI_CONTROL_REVERB_SEND_LEVEL; | |||
| pData->param.ranges[j].min = 0.0f; | |||
| @@ -708,8 +704,7 @@ public: | |||
| j = FluidSynthReverbWidth; | |||
| pData->param.data[j].index = j; | |||
| pData->param.data[j].rindex = j; | |||
| pData->param.data[j].type = PARAMETER_INPUT; | |||
| pData->param.data[j].hints = PARAMETER_IS_ENABLED /*| PARAMETER_IS_AUTOMABLE*/; | |||
| pData->param.data[j].hints = PARAMETER_IS_INPUT | PARAMETER_IS_ENABLED /*| PARAMETER_IS_AUTOMABLE*/; | |||
| pData->param.data[j].midiChannel = 0; | |||
| pData->param.data[j].midiCC = -1; | |||
| pData->param.ranges[j].min = 0.0f; | |||
| @@ -724,8 +719,7 @@ public: | |||
| j = FluidSynthChorusOnOff; | |||
| pData->param.data[j].index = j; | |||
| pData->param.data[j].rindex = j; | |||
| pData->param.data[j].type = PARAMETER_INPUT; | |||
| pData->param.data[j].hints = PARAMETER_IS_ENABLED | PARAMETER_IS_BOOLEAN; | |||
| pData->param.data[j].hints = PARAMETER_IS_INPUT | PARAMETER_IS_ENABLED | PARAMETER_IS_BOOLEAN; | |||
| pData->param.data[j].midiChannel = 0; | |||
| pData->param.data[j].midiCC = -1; | |||
| pData->param.ranges[j].min = 0.0f; | |||
| @@ -740,8 +734,7 @@ public: | |||
| j = FluidSynthChorusNr; | |||
| pData->param.data[j].index = j; | |||
| pData->param.data[j].rindex = j; | |||
| pData->param.data[j].type = PARAMETER_INPUT; | |||
| pData->param.data[j].hints = PARAMETER_IS_ENABLED | PARAMETER_IS_INTEGER; | |||
| pData->param.data[j].hints = PARAMETER_IS_INPUT | PARAMETER_IS_ENABLED | PARAMETER_IS_INTEGER; | |||
| pData->param.data[j].midiChannel = 0; | |||
| pData->param.data[j].midiCC = -1; | |||
| pData->param.ranges[j].min = 0.0f; | |||
| @@ -756,8 +749,7 @@ public: | |||
| j = FluidSynthChorusLevel; | |||
| pData->param.data[j].index = j; | |||
| pData->param.data[j].rindex = j; | |||
| pData->param.data[j].type = PARAMETER_INPUT; | |||
| pData->param.data[j].hints = PARAMETER_IS_ENABLED; | |||
| pData->param.data[j].hints = PARAMETER_IS_INPUT | PARAMETER_IS_ENABLED; | |||
| pData->param.data[j].midiChannel = 0; | |||
| pData->param.data[j].midiCC = 0; //MIDI_CONTROL_CHORUS_SEND_LEVEL; | |||
| pData->param.ranges[j].min = 0.0f; | |||
| @@ -772,8 +764,7 @@ public: | |||
| j = FluidSynthChorusSpeedHz; | |||
| pData->param.data[j].index = j; | |||
| pData->param.data[j].rindex = j; | |||
| pData->param.data[j].type = PARAMETER_INPUT; | |||
| pData->param.data[j].hints = PARAMETER_IS_ENABLED; | |||
| pData->param.data[j].hints = PARAMETER_IS_INPUT | PARAMETER_IS_ENABLED; | |||
| pData->param.data[j].midiChannel = 0; | |||
| pData->param.data[j].midiCC = -1; | |||
| pData->param.ranges[j].min = 0.29f; | |||
| @@ -788,8 +779,7 @@ public: | |||
| j = FluidSynthChorusDepthMs; | |||
| pData->param.data[j].index = j; | |||
| pData->param.data[j].rindex = j; | |||
| pData->param.data[j].type = PARAMETER_INPUT; | |||
| pData->param.data[j].hints = PARAMETER_IS_ENABLED; | |||
| pData->param.data[j].hints = PARAMETER_IS_INPUT | PARAMETER_IS_ENABLED; | |||
| pData->param.data[j].midiChannel = 0; | |||
| pData->param.data[j].midiCC = -1; | |||
| pData->param.ranges[j].min = 0.0f; | |||
| @@ -804,8 +794,7 @@ public: | |||
| j = FluidSynthChorusType; | |||
| pData->param.data[j].index = j; | |||
| pData->param.data[j].rindex = j; | |||
| pData->param.data[j].type = PARAMETER_INPUT; | |||
| pData->param.data[j].hints = PARAMETER_IS_ENABLED | PARAMETER_IS_INTEGER | PARAMETER_USES_SCALEPOINTS; | |||
| pData->param.data[j].hints = PARAMETER_IS_INPUT | PARAMETER_IS_ENABLED | PARAMETER_IS_INTEGER | PARAMETER_USES_SCALEPOINTS; | |||
| pData->param.data[j].midiChannel = 0; | |||
| pData->param.data[j].midiCC = -1; | |||
| pData->param.ranges[j].min = FLUID_CHORUS_MOD_SINE; | |||
| @@ -820,8 +809,7 @@ public: | |||
| j = FluidSynthPolyphony; | |||
| pData->param.data[j].index = j; | |||
| pData->param.data[j].rindex = j; | |||
| pData->param.data[j].type = PARAMETER_INPUT; | |||
| pData->param.data[j].hints = PARAMETER_IS_ENABLED | PARAMETER_IS_INTEGER; | |||
| pData->param.data[j].hints = PARAMETER_IS_INPUT | PARAMETER_IS_ENABLED | PARAMETER_IS_INTEGER; | |||
| pData->param.data[j].midiChannel = 0; | |||
| pData->param.data[j].midiCC = -1; | |||
| pData->param.ranges[j].min = 1.0f; | |||
| @@ -836,8 +824,7 @@ public: | |||
| j = FluidSynthInterpolation; | |||
| pData->param.data[j].index = j; | |||
| pData->param.data[j].rindex = j; | |||
| pData->param.data[j].type = PARAMETER_INPUT; | |||
| pData->param.data[j].hints = PARAMETER_IS_ENABLED | PARAMETER_IS_INTEGER | PARAMETER_USES_SCALEPOINTS; | |||
| pData->param.data[j].hints = PARAMETER_IS_INPUT | PARAMETER_IS_ENABLED | PARAMETER_IS_INTEGER | PARAMETER_USES_SCALEPOINTS; | |||
| pData->param.data[j].midiChannel = 0; | |||
| pData->param.data[j].midiCC = -1; | |||
| pData->param.ranges[j].min = FLUID_INTERP_NONE; | |||
| @@ -852,7 +839,6 @@ public: | |||
| j = FluidSynthVoiceCount; | |||
| pData->param.data[j].index = j; | |||
| pData->param.data[j].rindex = j; | |||
| pData->param.data[j].type = PARAMETER_OUTPUT; | |||
| pData->param.data[j].hints = PARAMETER_IS_ENABLED | PARAMETER_IS_AUTOMABLE | PARAMETER_IS_INTEGER; | |||
| pData->param.data[j].midiChannel = 0; | |||
| pData->param.data[j].midiCC = -1; | |||
| @@ -1176,7 +1162,7 @@ public: | |||
| continue; | |||
| if (pData->param.data[k].midiCC != ctrlEvent.param) | |||
| continue; | |||
| if (pData->param.data[k].type != PARAMETER_INPUT) | |||
| if ((pData->param.data[k].hints & PARAMETER_IS_INPUT) == 0) | |||
| continue; | |||
| if ((pData->param.data[k].hints & PARAMETER_IS_AUTOMABLE) == 0) | |||
| continue; | |||
| @@ -1608,7 +1594,7 @@ public: | |||
| // load settings | |||
| pData->idStr = "SF2/"; | |||
| pData->idStr += label; | |||
| fOptions = pData->loadSettings(fOptions, getAvailableOptions()); | |||
| fOptions = pData->loadSettings(fOptions, getOptionsAvailable()); | |||
| } | |||
| return true; | |||
| @@ -163,7 +163,7 @@ public: | |||
| // ------------------------------------------------------------------- | |||
| // Information (per-plugin data) | |||
| unsigned int getAvailableOptions() const override | |||
| unsigned int getOptionsAvailable() const override | |||
| { | |||
| const bool isDssiVst = fFilename.contains("dssi-vst", true); | |||
| @@ -622,7 +622,7 @@ public: | |||
| if (LADSPA_IS_PORT_INPUT(portType)) | |||
| { | |||
| pData->param.data[j].type = PARAMETER_INPUT; | |||
| pData->param.data[j].hints |= PARAMETER_IS_INPUT; | |||
| pData->param.data[j].hints |= PARAMETER_IS_ENABLED; | |||
| pData->param.data[j].hints |= PARAMETER_IS_AUTOMABLE; | |||
| needsCtrlIn = true; | |||
| @@ -653,7 +653,6 @@ public: | |||
| } | |||
| else | |||
| { | |||
| pData->param.data[j].type = PARAMETER_OUTPUT; | |||
| pData->param.data[j].hints |= PARAMETER_IS_ENABLED; | |||
| pData->param.data[j].hints |= PARAMETER_IS_AUTOMABLE; | |||
| needsCtrlOut = true; | |||
| @@ -661,7 +660,6 @@ public: | |||
| } | |||
| else | |||
| { | |||
| pData->param.data[j].type = PARAMETER_UNKNOWN; | |||
| carla_stderr2("WARNING - Got a broken Port (Control, but not input or output)"); | |||
| } | |||
| @@ -988,7 +986,7 @@ public: | |||
| continue; | |||
| if (pData->param.data[k].midiCC != ctrlEvent.param) | |||
| continue; | |||
| if (pData->param.data[k].type != PARAMETER_INPUT) | |||
| if ((pData->param.data[k].hints & PARAMETER_IS_INPUT) == 0) | |||
| continue; | |||
| if ((pData->param.data[k].hints & PARAMETER_IS_AUTOMABLE) == 0) | |||
| continue; | |||
| @@ -1059,7 +1057,7 @@ public: | |||
| for (uint32_t k=0; k < pData->param.count; ++k) | |||
| { | |||
| if (pData->param.data[k].type != PARAMETER_OUTPUT) | |||
| if (pData->param.data[k].hints & PARAMETER_IS_INPUT) | |||
| continue; | |||
| pData->param.ranges[k].fixValue(fParamBuffers[k]); | |||
| @@ -1481,7 +1479,7 @@ public: | |||
| pData->idStr += CarlaString(getUniqueId()); | |||
| pData->idStr += "/"; | |||
| pData->idStr += label; | |||
| fOptions = pData->loadSettings(fOptions, getAvailableOptions()); | |||
| fOptions = pData->loadSettings(fOptions, getOptionsAvailable()); | |||
| // ignore settings, we need this anyway | |||
| if (isDssiVst) | |||
| @@ -245,7 +245,7 @@ public: | |||
| // ------------------------------------------------------------------- | |||
| // Information (per-plugin data) | |||
| unsigned int getAvailableOptions() const override | |||
| unsigned int getOptionsAvailable() const override | |||
| { | |||
| unsigned int options = 0x0; | |||
| @@ -682,7 +682,7 @@ public: | |||
| continue; | |||
| if (pData->param.data[k].midiCC != ctrlEvent.param) | |||
| continue; | |||
| if (pData->param.data[k].type != PARAMETER_INPUT) | |||
| if ((pData->param.data[k].hints & PARAMETER_IS_INPUT) == 0) | |||
| continue; | |||
| if ((pData->param.data[k].hints & PARAMETER_IS_AUTOMABLE) == 0) | |||
| continue; | |||
| @@ -1104,7 +1104,7 @@ public: | |||
| pData->idStr = kIsGIG ? "GIG" : "SFZ"; | |||
| pData->idStr += "/"; | |||
| pData->idStr += label; | |||
| fOptions = pData->loadSettings(fOptions, getAvailableOptions()); | |||
| fOptions = pData->loadSettings(fOptions, getOptionsAvailable()); | |||
| } | |||
| return true; | |||
| @@ -397,7 +397,7 @@ public: | |||
| // close UI | |||
| if (fUi.type != PLUGIN_UI_NULL) | |||
| { | |||
| showGui(false); | |||
| showCustomUI(false); | |||
| if (fUi.type == PLUGIN_UI_OSC) | |||
| { | |||
| @@ -630,7 +630,7 @@ public: | |||
| // ------------------------------------------------------------------- | |||
| // Information (per-plugin data) | |||
| unsigned int getAvailableOptions() const override | |||
| unsigned int getOptionsAvailable() const override | |||
| { | |||
| const uint32_t hasMidiIn(getMidiInCount() > 0); | |||
| @@ -1066,7 +1066,7 @@ public: | |||
| // ------------------------------------------------------------------- | |||
| // Set gui stuff | |||
| void showGui(const bool yesNo) override | |||
| void showCustomUI(const bool yesNo) override | |||
| { | |||
| if (fUi.type == PLUGIN_UI_NULL) | |||
| return; | |||
| @@ -1229,7 +1229,7 @@ public: | |||
| } | |||
| } | |||
| void idleGui() override | |||
| void idle() override | |||
| { | |||
| //if (fUi.type == PLUGIN_UI_NULL) | |||
| // return CarlaPlugin::idleGui(); | |||
| @@ -1270,12 +1270,12 @@ public: | |||
| if (fExt.uiidle != nullptr && fExt.uiidle->idle(fUi.handle) != 0) | |||
| { | |||
| showGui(false); | |||
| showCustomUI(false); | |||
| pData->engine->callback(ENGINE_CALLBACK_UI_STATE_CHANGED, fId, 0, 0, 0.0f, nullptr); | |||
| } | |||
| } | |||
| CarlaPlugin::idleGui(); | |||
| CarlaPlugin::idle(); | |||
| } | |||
| // ------------------------------------------------------------------- | |||
| @@ -1570,10 +1570,9 @@ public: | |||
| fDescriptor->connect_port(fHandle2, i, fCvIn.ports[j].port->getBuffer()); | |||
| j = fCvIn.ports[j].param; | |||
| pData->param.data[j].type = PARAMETER_INPUT; | |||
| pData->param.data[j].index = j; | |||
| pData->param.data[j].rindex = i; | |||
| pData->param.data[j].hints = PARAMETER_IS_ENABLED|PARAMETER_IS_READ_ONLY; | |||
| pData->param.data[j].hints = PARAMETER_IS_INPUT|PARAMETER_IS_ENABLED|PARAMETER_IS_READ_ONLY; | |||
| pData->param.data[j].midiChannel = 0; | |||
| pData->param.data[j].midiCC = -1; | |||
| pData->param.ranges[j].min = -1.0f; | |||
| @@ -1598,7 +1597,6 @@ public: | |||
| fDescriptor->connect_port(fHandle2, i, fCvOut.ports[j].port->getBuffer()); | |||
| j = fCvOut.ports[j].param; | |||
| pData->param.data[j].type = PARAMETER_OUTPUT; | |||
| pData->param.data[j].index = j; | |||
| pData->param.data[j].rindex = i; | |||
| pData->param.data[j].hints = PARAMETER_IS_ENABLED|PARAMETER_IS_AUTOMABLE; | |||
| @@ -1960,7 +1958,7 @@ public: | |||
| } | |||
| else | |||
| { | |||
| pData->param.data[j].type = PARAMETER_INPUT; | |||
| pData->param.data[j].hints |= PARAMETER_IS_INPUT; | |||
| pData->param.data[j].hints |= PARAMETER_IS_ENABLED; | |||
| pData->param.data[j].hints |= PARAMETER_IS_AUTOMABLE; | |||
| needsCtrlIn = true; | |||
| @@ -2009,7 +2007,6 @@ public: | |||
| } | |||
| else | |||
| { | |||
| pData->param.data[j].type = PARAMETER_OUTPUT; | |||
| pData->param.data[j].hints |= PARAMETER_IS_ENABLED; | |||
| pData->param.data[j].hints |= PARAMETER_IS_AUTOMABLE; | |||
| needsCtrlOut = true; | |||
| @@ -2017,7 +2014,6 @@ public: | |||
| } | |||
| else | |||
| { | |||
| pData->param.data[j].type = PARAMETER_UNKNOWN; | |||
| carla_stderr2("WARNING - Got a broken Port (Control, but not input or output)"); | |||
| } | |||
| @@ -2121,7 +2117,7 @@ public: | |||
| if (fUi.type != PLUGIN_UI_NULL) | |||
| { | |||
| fHints |= PLUGIN_HAS_GUI; | |||
| fHints |= PLUGIN_HAS_CUSTOM_UI; | |||
| if (fUi.type == PLUGIN_UI_QT || fUi.type == PLUGIN_UI_PARENT) | |||
| fHints |= PLUGIN_NEEDS_SINGLE_THREAD; | |||
| @@ -2804,7 +2800,7 @@ public: | |||
| continue; | |||
| if (pData->param.data[k].midiCC != ctrlEvent.param) | |||
| continue; | |||
| if (pData->param.data[k].type != PARAMETER_INPUT) | |||
| if ((pData->param.data[k].hints & PARAMETER_IS_INPUT) == 0) | |||
| continue; | |||
| if ((pData->param.data[k].hints & PARAMETER_IS_AUTOMABLE) == 0) | |||
| continue; | |||
| @@ -3064,7 +3060,7 @@ public: | |||
| for (k=0; k < pData->param.count; ++k) | |||
| { | |||
| if (pData->param.data[k].type != PARAMETER_OUTPUT) | |||
| if (pData->param.data[k].hints & PARAMETER_IS_INPUT) | |||
| continue; | |||
| if (pData->param.data[k].hints & PARAMETER_IS_STRICT_BOUNDS) | |||
| @@ -3188,7 +3184,7 @@ public: | |||
| for (k=0; k < pData->param.count; ++k) | |||
| { | |||
| if (pData->param.data[k].type != PARAMETER_INPUT) | |||
| if ((pData->param.data[k].hints & PARAMETER_IS_INPUT) == 0) | |||
| continue; | |||
| if (pData->param.data[k].hints & PARAMETER_IS_TRIGGER) | |||
| @@ -4046,20 +4042,20 @@ protected: | |||
| switch (type) | |||
| { | |||
| case LV2_UI_GTK2: | |||
| return options.bridge_lv2Gtk2; | |||
| case LV2_UI_GTK3: | |||
| return options.bridge_lv2Gtk3; | |||
| case LV2_UI_QT4: | |||
| return options.bridge_lv2Qt4; | |||
| case LV2_UI_QT5: | |||
| return options.bridge_lv2Qt5; | |||
| case LV2_UI_COCOA: | |||
| return options.bridge_lv2Cocoa; | |||
| case LV2_UI_WINDOWS: | |||
| return options.bridge_lv2Win; | |||
| case LV2_UI_X11: | |||
| return options.bridge_lv2X11; | |||
| // case LV2_UI_GTK2: | |||
| // return options.bridge_lv2Gtk2; | |||
| // case LV2_UI_GTK3: | |||
| // return options.bridge_lv2Gtk3; | |||
| // case LV2_UI_QT4: | |||
| // return options.bridge_lv2Qt4; | |||
| // case LV2_UI_QT5: | |||
| // return options.bridge_lv2Qt5; | |||
| // case LV2_UI_COCOA: | |||
| // return options.bridge_lv2Cocoa; | |||
| // case LV2_UI_WINDOWS: | |||
| // return options.bridge_lv2Win; | |||
| // case LV2_UI_X11: | |||
| // return options.bridge_lv2X11; | |||
| default: | |||
| return nullptr; | |||
| } | |||
| @@ -4469,7 +4465,7 @@ public: | |||
| // load settings | |||
| pData->idStr = "LV2/"; | |||
| pData->idStr += uri; | |||
| fOptions = pData->loadSettings(fOptions, getAvailableOptions()); | |||
| fOptions = pData->loadSettings(fOptions, getOptionsAvailable()); | |||
| // ignore settings, we need this anyway | |||
| if (getMidiInCount() > 0 || needsFixedBuffer()) | |||
| @@ -34,7 +34,7 @@ OBJS = \ | |||
| LinuxSamplerPlugin.cpp.o | |||
| HEADERS = \ | |||
| ../CarlaBackend.hpp ../CarlaEngine.hpp ../CarlaPlugin.hpp \ | |||
| ../CarlaBackend.h ../CarlaEngine.hpp ../CarlaPlugin.hpp \ | |||
| CarlaPluginInternal.hpp CarlaPluginThread.hpp | |||
| TARGET = ../libcarla_plugin.a | |||
| @@ -245,7 +245,7 @@ public: | |||
| // ------------------------------------------------------------------- | |||
| // Information (per-plugin data) | |||
| unsigned int getAvailableOptions() const override | |||
| unsigned int getOptionsAvailable() const override | |||
| { | |||
| CARLA_SAFE_ASSERT_RETURN(fDescriptor != nullptr, 0x0); | |||
| @@ -628,7 +628,7 @@ public: | |||
| // ------------------------------------------------------------------- | |||
| // Set gui stuff | |||
| void showGui(const bool yesNo) override | |||
| void showCustomUI(const bool yesNo) override | |||
| { | |||
| CARLA_SAFE_ASSERT_RETURN(fDescriptor != nullptr,); | |||
| CARLA_SAFE_ASSERT_RETURN(fHandle != nullptr,); | |||
| @@ -670,13 +670,15 @@ public: | |||
| } | |||
| } | |||
| void idleGui() override | |||
| void idle() override | |||
| { | |||
| CARLA_SAFE_ASSERT_RETURN(fDescriptor != nullptr,); | |||
| CARLA_SAFE_ASSERT_RETURN(fHandle != nullptr,); | |||
| if (fIsUiVisible && fDescriptor->ui_idle != nullptr) | |||
| fDescriptor->ui_idle(fHandle); | |||
| CarlaPlugin::idle(); | |||
| } | |||
| // ------------------------------------------------------------------- | |||
| @@ -959,12 +961,11 @@ public: | |||
| if (paramInfo->hints & ::PARAMETER_IS_OUTPUT) | |||
| { | |||
| pData->param.data[j].type = PARAMETER_OUTPUT; | |||
| needsCtrlOut = true; | |||
| } | |||
| else | |||
| { | |||
| pData->param.data[j].type = PARAMETER_INPUT; | |||
| pData->param.data[j].hints |= PARAMETER_IS_INPUT; | |||
| needsCtrlIn = true; | |||
| } | |||
| @@ -1428,7 +1429,7 @@ public: | |||
| continue; | |||
| if (pData->param.data[k].midiCC != ctrlEvent.param) | |||
| continue; | |||
| if (pData->param.data[k].type != PARAMETER_INPUT) | |||
| if ((pData->param.data[k].hints & PARAMETER_IS_INPUT) == 0) | |||
| continue; | |||
| if ((pData->param.data[k].hints & PARAMETER_IS_AUTOMABLE) == 0) | |||
| continue; | |||
| @@ -1614,7 +1615,7 @@ public: | |||
| for (k=0; k < pData->param.count; ++k) | |||
| { | |||
| if (pData->param.data[k].type != PARAMETER_OUTPUT) | |||
| if (pData->param.data[k].hints & PARAMETER_IS_INPUT) | |||
| continue; | |||
| curValue = fDescriptor->get_parameter_value(fHandle, k); | |||
| @@ -2317,7 +2318,7 @@ public: | |||
| // load settings | |||
| pData->idStr = "Native/"; | |||
| pData->idStr += label; | |||
| fOptions = pData->loadSettings(fOptions, getAvailableOptions()); | |||
| fOptions = pData->loadSettings(fOptions, getOptionsAvailable()); | |||
| // ignore settings, we need this anyway | |||
| if (getMidiInCount() > 0 || (fDescriptor->hints & ::PLUGIN_NEEDS_FIXED_BUFFERS) != 0) | |||
| @@ -72,9 +72,9 @@ public: | |||
| carla_debug("VstPlugin::~VstPlugin()"); | |||
| // close UI | |||
| if (fHints & PLUGIN_HAS_GUI) | |||
| if (fHints & PLUGIN_HAS_CUSTOM_UI) | |||
| { | |||
| showGui(false); | |||
| showCustomUI(false); | |||
| if (fGui.isOsc) | |||
| { | |||
| @@ -177,7 +177,7 @@ public: | |||
| // ------------------------------------------------------------------- | |||
| // Information (per-plugin data) | |||
| unsigned int getAvailableOptions() const override | |||
| unsigned int getOptionsAvailable() const override | |||
| { | |||
| CARLA_ASSERT(fEffect != nullptr); | |||
| @@ -363,7 +363,7 @@ public: | |||
| // ------------------------------------------------------------------- | |||
| // Set gui stuff | |||
| void showGui(const bool yesNo) override | |||
| void showCustomUI(const bool yesNo) override | |||
| { | |||
| if (fGui.isVisible == yesNo) | |||
| return; | |||
| @@ -468,7 +468,7 @@ public: | |||
| fGui.isVisible = yesNo; | |||
| } | |||
| void idleGui() override | |||
| void idle() override | |||
| { | |||
| #ifdef VESTIGE_HEADER | |||
| if (fEffect != nullptr /*&& effect->ptr1*/) | |||
| @@ -486,7 +486,7 @@ public: | |||
| } | |||
| } | |||
| CarlaPlugin::idleGui(); | |||
| CarlaPlugin::idle(); | |||
| } | |||
| // ------------------------------------------------------------------- | |||
| @@ -605,10 +605,9 @@ public: | |||
| for (j=0; j < params; ++j) | |||
| { | |||
| pData->param.data[j].type = PARAMETER_INPUT; | |||
| pData->param.data[j].index = j; | |||
| pData->param.data[j].rindex = j; | |||
| pData->param.data[j].hints = 0x0; | |||
| pData->param.data[j].hints = PARAMETER_IS_INPUT; | |||
| pData->param.data[j].midiChannel = 0; | |||
| pData->param.data[j].midiCC = -1; | |||
| @@ -787,7 +786,7 @@ public: | |||
| if (fEffect->flags & effFlagsHasEditor) | |||
| { | |||
| fHints |= PLUGIN_HAS_GUI; | |||
| fHints |= PLUGIN_HAS_CUSTOM_UI; | |||
| if (! fGui.isOsc) | |||
| fHints |= PLUGIN_NEEDS_SINGLE_THREAD; | |||
| @@ -799,9 +798,6 @@ public: | |||
| if ((fEffect->flags & effFlagsCanReplacing) != 0 && fEffect->processReplacing != fEffect->process) | |||
| fHints |= PLUGIN_CAN_PROCESS_REPLACING; | |||
| if (fEffect->flags & effFlagsHasEditor) | |||
| fHints |= PLUGIN_HAS_GUI; | |||
| if (static_cast<uintptr_t>(dispatcher(effCanDo, 0, 0, (void*)"hasCockosExtensions", 0.0f)) == 0xbeef0000) | |||
| fHints |= PLUGIN_HAS_COCKOS_EXTENSIONS; | |||
| @@ -1256,7 +1252,7 @@ public: | |||
| continue; | |||
| if (pData->param.data[k].midiCC != ctrlEvent.param) | |||
| continue; | |||
| if (pData->param.data[k].type != PARAMETER_INPUT) | |||
| if ((pData->param.data[k].hints & PARAMETER_IS_INPUT) == 0) | |||
| continue; | |||
| if ((pData->param.data[k].hints & PARAMETER_IS_AUTOMABLE) == 0) | |||
| continue; | |||
| @@ -2327,7 +2323,7 @@ public: | |||
| //pData->idStr += std::strrchr(filename, OS_SEP)+1; // FIXME! | |||
| //pData->idStr += "/"; | |||
| pData->idStr += CarlaString(getUniqueId()); | |||
| fOptions = pData->loadSettings(fOptions, getAvailableOptions()); | |||
| fOptions = pData->loadSettings(fOptions, getOptionsAvailable()); | |||
| // ignore settings, we need this anyway | |||
| if (getMidiInCount() > 0) | |||
| @@ -296,11 +296,11 @@ const char* const* carla_get_engine_driver_device_names(unsigned int index) | |||
| return CarlaEngine::getDriverDeviceNames(index); | |||
| } | |||
| const EngineDriverDeviceInfo* carla_get_engine_driver_device_info(unsigned int index, const char* deviceName) | |||
| const EngineDriverDeviceInfo* carla_get_engine_driver_device_info(unsigned int index, const char* name) | |||
| { | |||
| carla_debug("carla_get_engine_driver_device_info(%i, \"%s\")", index, deviceName); | |||
| carla_debug("carla_get_engine_driver_device_info(%i, \"%s\")", index, name); | |||
| return CarlaEngine::getDriverDeviceInfo(index, deviceName); | |||
| return CarlaEngine::getDriverDeviceInfo(index, name); | |||
| } | |||
| #if 0 | |||
| @@ -8,91 +8,91 @@ include ../Makefile.mk | |||
| # -------------------------------------------------------------- | |||
| # BUILD_CXX_FLAGS += $(shell pkg-config --cflags liblo) | |||
| BUILD_CXX_FLAGS += $(shell pkg-config --cflags liblo) | |||
| # -------------------------------------------------------------- | |||
| # Common | |||
| # LINK_FLAGS += $(shell pkg-config --libs liblo) | |||
| LINK_FLAGS += $(shell pkg-config --libs liblo) | |||
| # LINK_FLAGS += $(JACKBRIDGE_LIBS) | |||
| LINK_FLAGS += $(JACKBRIDGE_LIBS) | |||
| # LINK_FLAGS += $(JUCE_AUDIO_BASICS_LIBS) | |||
| # LINK_FLAGS += $(JUCE_CORE_LIBS) | |||
| # LINK_FLAGS += $(JUCE_DATA_STRUCTURES_LIBS) | |||
| # LINK_FLAGS += $(JUCE_EVENTS_LIBS) | |||
| # LINK_FLAGS += $(JUCE_GRAPHICS_LIBS) | |||
| # LINK_FLAGS += $(JUCE_GUI_BASICS_LIBS) | |||
| # LINK_FLAGS += $(RTAUDIO_LIBS) | |||
| # LINK_FLAGS += $(RTMIDI_LIBS) | |||
| # LINK_FLAGS += $(RTMEMPOOL_LIBS) | |||
| # | |||
| # ifeq ($(HAVE_OPENGL),true) | |||
| # LINK_FLAGS += $(DGL_LIBS) | |||
| # endif | |||
| # | |||
| # ifeq ($(CARLA_PLUGIN_SUPPORT),true) | |||
| # LINK_FLAGS += $(LILV_LIBS) | |||
| # endif | |||
| LINK_FLAGS += $(RTAUDIO_LIBS) | |||
| LINK_FLAGS += $(RTMIDI_LIBS) | |||
| LINK_FLAGS += $(RTMEMPOOL_LIBS) | |||
| ifeq ($(HAVE_OPENGL),true) | |||
| LINK_FLAGS += $(DGL_LIBS) | |||
| endif | |||
| ifeq ($(CARLA_PLUGIN_SUPPORT),true) | |||
| LINK_FLAGS += $(LILV_LIBS) | |||
| endif | |||
| # -------------------------------------------------------------- | |||
| # Plugin | |||
| # ifeq ($(HAVE_FLUIDSYNTH),true) | |||
| # LINK_FLAGS += $(shell pkg-config --libs fluidsynth) | |||
| # endif | |||
| # | |||
| # ifeq ($(HAVE_LINUXSAMPLER),true) | |||
| # LINK_FLAGS += $(shell pkg-config --libs linuxsampler) | |||
| # ifeq ($(WIN32),true) | |||
| # LINK_FLAGS += lrpcrt4 | |||
| # endif | |||
| # endif | |||
| ifeq ($(HAVE_FLUIDSYNTH),true) | |||
| LINK_FLAGS += $(shell pkg-config --libs fluidsynth) | |||
| endif | |||
| ifeq ($(HAVE_LINUXSAMPLER),true) | |||
| LINK_FLAGS += $(shell pkg-config --libs linuxsampler) | |||
| ifeq ($(WIN32),true) | |||
| LINK_FLAGS += lrpcrt4 | |||
| endif | |||
| endif | |||
| # -------------------------------------------------------------- | |||
| # Native | |||
| # ifeq ($(HAVE_AF_DEPS),true) | |||
| # LINK_FLAGS += $(shell pkg-config --libs sndfile) | |||
| # ifeq ($(HAVE_FFMPEG),true) | |||
| # LINK_FLAGS += $(shell pkg-config --libs libavcodec libavformat libavutil) | |||
| # endif | |||
| # endif | |||
| # | |||
| # ifeq ($(HAVE_MF_DEPS),true) | |||
| # LINK_FLAGS += $(shell pkg-config --libs smf) | |||
| # endif | |||
| # | |||
| # ifeq ($(HAVE_ZYN_DEPS),true) | |||
| # LINK_FLAGS += $(shell pkg-config --libs fftw3 mxml zlib) | |||
| # ifeq ($(HAVE_ZYN_UI_DEPS),true) | |||
| # LINK_FLAGS += $(shell pkg-config --libs ntk_images ntk) | |||
| # endif | |||
| # endif | |||
| ifeq ($(HAVE_AF_DEPS),true) | |||
| LINK_FLAGS += $(shell pkg-config --libs sndfile) | |||
| ifeq ($(HAVE_FFMPEG),true) | |||
| LINK_FLAGS += $(shell pkg-config --libs libavcodec libavformat libavutil) | |||
| endif | |||
| endif | |||
| ifeq ($(HAVE_MF_DEPS),true) | |||
| LINK_FLAGS += $(shell pkg-config --libs smf) | |||
| endif | |||
| ifeq ($(HAVE_ZYN_DEPS),true) | |||
| LINK_FLAGS += $(shell pkg-config --libs fftw3 mxml zlib) | |||
| ifeq ($(HAVE_ZYN_UI_DEPS),true) | |||
| LINK_FLAGS += $(shell pkg-config --libs ntk_images ntk) | |||
| endif | |||
| endif | |||
| # -------------------------------------------------------------- | |||
| # LIBS = ../libcarla_engine.a | |||
| # LIBS += ../libcarla_plugin.a | |||
| LIBS = ../libcarla_engine.a | |||
| LIBS += ../libcarla_plugin.a | |||
| # LIBS += ../../modules/carla_native.a | |||
| # LIBS += ../../modules/jackbridge.a | |||
| LIBS += ../../modules/carla_native.a | |||
| LIBS += ../../modules/jackbridge.a | |||
| # LIBS += ../../modules/juce_audio_basics.a | |||
| # LIBS += ../../modules/juce_core.a | |||
| # LIBS += ../../modules/juce_data_structures.a | |||
| # LIBS += ../../modules/juce_events.a | |||
| # LIBS += ../../modules/juce_graphics.a | |||
| # LIBS += ../../modules/juce_gui_basics.a | |||
| # LIBS += ../../modules/rtaudio.a | |||
| # LIBS += ../../modules/rtmidi.a | |||
| # LIBS += ../../modules/rtmempool.a | |||
| LIBS += ../../modules/rtaudio.a | |||
| LIBS += ../../modules/rtmidi.a | |||
| LIBS += ../../modules/rtmempool.a | |||
| # ifeq ($(HAVE_OPENGL),true) | |||
| # LIBS += ../../modules/dgl.a | |||
| # endif | |||
| ifeq ($(HAVE_OPENGL),true) | |||
| LIBS += ../../modules/dgl.a | |||
| endif | |||
| # ifeq ($(CARLA_PLUGIN_SUPPORT),true) | |||
| # LIBS += ../../modules/lilv.a | |||
| # endif | |||
| ifeq ($(CARLA_PLUGIN_SUPPORT),true) | |||
| LIBS += ../../modules/lilv.a | |||
| endif | |||
| # -------------------------------------------------------------- | |||
| @@ -977,10 +977,7 @@ class CarlaPortCountInfo(Structure): | |||
| ("ins", c_uint32), | |||
| # Number of outputs. | |||
| ("outs", c_uint32), | |||
| # Total number of ports. | |||
| ("total", c_uint32) | |||
| ("outs", c_uint32) | |||
| ] | |||
| # Parameter information. | |||
| @@ -1058,8 +1055,7 @@ PyCarlaPluginInfo = { | |||
| # @see CarlaPortCountInfo | |||
| PyCarlaPortCountInfo = { | |||
| 'ins': 0, | |||
| 'outs': 0, | |||
| 'total': 0 | |||
| 'outs': 0 | |||
| } | |||
| # @see CarlaParameterInfo | |||
| @@ -1117,17 +1113,25 @@ class Host(object): | |||
| def get_supported_file_extensions(self): | |||
| return self.lib.carla_get_supported_file_extensions() | |||
| # Get how many engine drivers are available. | |||
| def get_engine_driver_count(self): | |||
| return self.lib.carla_get_engine_driver_count() | |||
| # Get an engine driver name. | |||
| # @param index Driver index | |||
| def get_engine_driver_name(self, index): | |||
| return self.lib.carla_get_engine_driver_name(index) | |||
| # Get the device names of an engine driver. | |||
| # @param index Driver index | |||
| def get_engine_driver_device_names(self, index): | |||
| return charPtrPtrToStringList(self.lib.carla_get_engine_driver_device_names(index)) | |||
| def get_engine_driver_device_info(self, index, deviceName): | |||
| return structToDict(self.lib.carla_get_engine_driver_device_info(index, deviceName)) | |||
| # Get information about a device driver. | |||
| # @param index Driver index | |||
| # @param name Device name | |||
| def get_engine_driver_device_info(self, index, name): | |||
| return structToDict(self.lib.carla_get_engine_driver_device_info(index, name)) | |||
| def get_internal_plugin_count(self): | |||
| return self.lib.carla_get_internal_plugin_count() | |||
| @@ -1385,8 +1389,6 @@ class Host(object): | |||
| self.lib.carla_get_supported_file_extensions.argtypes = None | |||
| self.lib.carla_get_supported_file_extensions.restype = c_char_p | |||
| return | |||
| self.lib.carla_get_engine_driver_count.argtypes = None | |||
| self.lib.carla_get_engine_driver_count.restype = c_uint | |||
| @@ -1399,6 +1401,8 @@ class Host(object): | |||
| self.lib.carla_get_engine_driver_device_info.argtypes = [c_uint, c_char_p] | |||
| self.lib.carla_get_engine_driver_device_info.restype = POINTER(EngineDriverDeviceInfo) | |||
| return | |||
| self.lib.carla_get_internal_plugin_count.argtypes = None | |||
| self.lib.carla_get_internal_plugin_count.restype = c_uint | |||
| @@ -17,7 +17,7 @@ | |||
| #ifndef JACKBRIDGE_HPP_INCLUDED | |||
| #define JACKBRIDGE_HPP_INCLUDED | |||
| #include "CarlaDefines.hpp" | |||
| #include "CarlaDefines.h" | |||
| #ifndef JACKBRIDGE_EXPORT | |||
| # undef CARLA_EXPORT | |||
| @@ -14,7 +14,7 @@ | |||
| * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |||
| */ | |||
| #include "CarlaDefines.hpp" | |||
| #include "CarlaDefines.h" | |||
| #include "JackBridge.hpp" | |||
| @@ -18,7 +18,7 @@ | |||
| #ifndef LADSPA_RDF_HPP_INCLUDED | |||
| #define LADSPA_RDF_HPP_INCLUDED | |||
| #include "CarlaDefines.hpp" | |||
| #include "CarlaDefines.h" | |||
| // Base Types | |||
| typedef float LADSPA_Data; | |||
| @@ -18,7 +18,7 @@ | |||
| #ifndef LV2_RDF_HPP_INCLUDED | |||
| #define LV2_RDF_HPP_INCLUDED | |||
| #include "CarlaDefines.hpp" | |||
| #include "CarlaDefines.h" | |||
| #ifdef CARLA_PROPER_CPP11_SUPPORT | |||
| # include <cstdint> | |||
| @@ -45,7 +45,7 @@ | |||
| #ifndef RTMIDI_H | |||
| #define RTMIDI_H | |||
| #include "CarlaDefines.hpp" | |||
| #include "CarlaDefines.h" | |||
| #include "RtError.h" | |||
| #include <string> | |||
| @@ -24,7 +24,7 @@ BUILD_CXX_FLAGS += -isystem /opt/kxstudio/include | |||
| # -------------------------------------------------------------- | |||
| ANSI_FLAGS = -DBUILD_ANSI_TEST -DREAL_BUILD -I/usr/include/carla -I/usr/include/carla/includes | |||
| ANSI_FLAGS = -DBUILD_ANSI_TEST -DREAL_BUILD -I../backend -I../includes | |||
| ANSI_FLAGS += -Wall -Wextra -Werror | |||
| ANSI_FLAGS += -DDEBUG -O0 -g | |||
| ANSI_FLAGS += -ansi -pedantic -pedantic-errors | |||
| @@ -18,7 +18,7 @@ | |||
| #ifndef CARLA_BACKEND_UTILS_HPP_INCLUDED | |||
| #define CARLA_BACKEND_UTILS_HPP_INCLUDED | |||
| #include "CarlaBackend.hpp" | |||
| #include "CarlaBackend.h" | |||
| #include "CarlaString.hpp" | |||
| CARLA_BACKEND_START_NAMESPACE | |||
| @@ -143,25 +143,6 @@ const char* PluginCategory2Str(const PluginCategory category) | |||
| return nullptr; | |||
| } | |||
| static inline | |||
| const char* ParameterType2Str(const ParameterType type) | |||
| { | |||
| switch (type) | |||
| { | |||
| case PARAMETER_UNKNOWN: | |||
| return "PARAMETER_UNKNOWN"; | |||
| case PARAMETER_INPUT: | |||
| return "PARAMETER_INPUT"; | |||
| case PARAMETER_OUTPUT: | |||
| return "PARAMETER_OUTPUT"; | |||
| case PARAMETER_SPECIAL: | |||
| return "PARAMETER_SPECIAL"; | |||
| } | |||
| carla_stderr("CarlaBackend::ParameterType2Str(%i) - invalid type", type); | |||
| return nullptr; | |||
| } | |||
| static inline | |||
| const char* InternalParameterIndex2Str(const InternalParameterIndex index) | |||
| { | |||
| @@ -204,8 +185,8 @@ const char* EngineCallbackOpcode2Str(const EngineCallbackOpcode opcode) | |||
| return "ENGINE_CALLBACK_PLUGIN_REMOVED"; | |||
| case ENGINE_CALLBACK_PLUGIN_RENAMED: | |||
| return "ENGINE_CALLBACK_PLUGIN_RENAMED"; | |||
| case ENGINE_CALLBACK_PLUGIN_DISABLED: | |||
| return "ENGINE_CALLBACK_PLUGIN_DISABLED"; | |||
| case ENGINE_CALLBACK_PLUGIN_UNAVAILABLE: | |||
| return "ENGINE_CALLBACK_PLUGIN_UNAVAILABLE"; | |||
| case ENGINE_CALLBACK_PARAMETER_VALUE_CHANGED: | |||
| return "ENGINE_CALLBACK_PARAMETER_VALUE_CHANGED"; | |||
| case ENGINE_CALLBACK_PARAMETER_DEFAULT_CHANGED: | |||
| @@ -226,12 +207,22 @@ const char* EngineCallbackOpcode2Str(const EngineCallbackOpcode opcode) | |||
| return "ENGINE_CALLBACK_NOTE_OFF"; | |||
| case ENGINE_CALLBACK_UPDATE: | |||
| return "ENGINE_CALLBACK_UPDATE"; | |||
| case ENGINE_CALLBACK_RELOAD_INFO: | |||
| return "ENGINE_CALLBACK_RELOAD_INFO"; | |||
| case ENGINE_CALLBACK_RELOAD_PARAMETERS: | |||
| return "ENGINE_CALLBACK_RELOAD_PARAMETERS"; | |||
| case ENGINE_CALLBACK_RELOAD_PROGRAMS: | |||
| return "ENGINE_CALLBACK_RELOAD_PROGRAMS"; | |||
| case ENGINE_CALLBACK_RELOAD_ALL: | |||
| return "ENGINE_CALLBACK_RELOAD_ALL"; | |||
| case ENGINE_CALLBACK_PATCHBAY_CLIENT_ADDED: | |||
| return "ENGINE_CALLBACK_PATCHBAY_CLIENT_ADDED"; | |||
| case ENGINE_CALLBACK_PATCHBAY_CLIENT_REMOVED: | |||
| return "ENGINE_CALLBACK_PATCHBAY_CLIENT_REMOVED"; | |||
| case ENGINE_CALLBACK_PATCHBAY_CLIENT_RENAMED: | |||
| return "ENGINE_CALLBACK_PATCHBAY_CLIENT_RENAMED"; | |||
| case ENGINE_CALLBACK_PATCHBAY_CLIENT_ICON_CHANGED: | |||
| return "ENGINE_CALLBACK_PATCHBAY_CLIENT_ICON_CHANGED"; | |||
| case ENGINE_CALLBACK_PATCHBAY_PORT_ADDED: | |||
| return "ENGINE_CALLBACK_PATCHBAY_PORT_ADDED"; | |||
| case ENGINE_CALLBACK_PATCHBAY_PORT_REMOVED: | |||
| @@ -242,36 +233,22 @@ const char* EngineCallbackOpcode2Str(const EngineCallbackOpcode opcode) | |||
| return "ENGINE_CALLBACK_PATCHBAY_CONNECTION_ADDED"; | |||
| case ENGINE_CALLBACK_PATCHBAY_CONNECTION_REMOVED: | |||
| return "ENGINE_CALLBACK_PATCHBAY_CONNECTION_REMOVED"; | |||
| case ENGINE_CALLBACK_PATCHBAY_ICON_CHANGED: | |||
| return "ENGINE_CALLBACK_PATCHBAY_ICON_CHANGED"; | |||
| case ENGINE_CALLBACK_RELOAD_INFO: | |||
| return "ENGINE_CALLBACK_RELOAD_INFO"; | |||
| case ENGINE_CALLBACK_RELOAD_PARAMETERS: | |||
| return "ENGINE_CALLBACK_RELOAD_PARAMETERS"; | |||
| case ENGINE_CALLBACK_RELOAD_PROGRAMS: | |||
| return "ENGINE_CALLBACK_RELOAD_PROGRAMS"; | |||
| case ENGINE_CALLBACK_RELOAD_ALL: | |||
| return "ENGINE_CALLBACK_RELOAD_ALL"; | |||
| case ENGINE_CALLBACK_BUFFER_SIZE_CHANGED: | |||
| return "ENGINE_CALLBACK_BUFFER_SIZE_CHANGED"; | |||
| case ENGINE_CALLBACK_SAMPLE_RATE_CHANGED: | |||
| return "ENGINE_CALLBACK_SAMPLE_RATE_CHANGED"; | |||
| case ENGINE_CALLBACK_PROCESS_MODE_CHANGED: | |||
| return "ENGINE_CALLBACK_PROCESS_MODE_CHANGED"; | |||
| case ENGINE_CALLBACK_ENGINE_STARTED: | |||
| return "ENGINE_CALLBACK_ENGINE_STARTED"; | |||
| case ENGINE_CALLBACK_ENGINE_STOPPED: | |||
| return "ENGINE_CALLBACK_ENGINE_STOPPED"; | |||
| case ENGINE_CALLBACK_NSM_ANNOUNCE: | |||
| return "ENGINE_CALLBACK_NSM_ANNOUNCE"; | |||
| case ENGINE_CALLBACK_NSM_OPEN: | |||
| return "ENGINE_CALLBACK_NSM_OPEN"; | |||
| case ENGINE_CALLBACK_NSM_SAVE: | |||
| return "ENGINE_CALLBACK_NSM_SAVE"; | |||
| case ENGINE_CALLBACK_ERROR: | |||
| return "ENGINE_CALLBACK_ERROR"; | |||
| case ENGINE_CALLBACK_PROCESS_MODE_CHANGED: | |||
| return "ENGINE_CALLBACK_PROCESS_MODE_CHANGED"; | |||
| case ENGINE_CALLBACK_TRANSPORT_MODE_CHANGED: | |||
| return "ENGINE_CALLBACK_TRANSPORT_MODE_CHANGED"; | |||
| case ENGINE_CALLBACK_BUFFER_SIZE_CHANGED: | |||
| return "ENGINE_CALLBACK_BUFFER_SIZE_CHANGED"; | |||
| case ENGINE_CALLBACK_SAMPLE_RATE_CHANGED: | |||
| return "ENGINE_CALLBACK_SAMPLE_RATE_CHANGED"; | |||
| case ENGINE_CALLBACK_INFO: | |||
| return "ENGINE_CALLBACK_INFO"; | |||
| case ENGINE_CALLBACK_ERROR: | |||
| return "ENGINE_CALLBACK_ERROR"; | |||
| case ENGINE_CALLBACK_QUIT: | |||
| return "ENGINE_CALLBACK_QUIT"; | |||
| } | |||
| @@ -285,8 +262,8 @@ const char* EngineOption2Str(const EngineOption option) | |||
| { | |||
| switch (option) | |||
| { | |||
| case ENGINE_OPTION_PROCESS_NAME: | |||
| return "ENGINE_OPTION_PROCESS_NAME"; | |||
| case ENGINE_OPTION_DEBUG: | |||
| return "ENGINE_OPTION_DEBUG"; | |||
| case ENGINE_OPTION_PROCESS_MODE: | |||
| return "ENGINE_OPTION_PROCESS_MODE"; | |||
| case ENGINE_OPTION_TRANSPORT_MODE: | |||
| @@ -311,48 +288,10 @@ const char* EngineOption2Str(const EngineOption option) | |||
| return "ENGINE_OPTION_AUDIO_SAMPLE_RATE"; | |||
| case ENGINE_OPTION_AUDIO_DEVICE: | |||
| return "ENGINE_OPTION_AUDIO_DEVICE"; | |||
| case ENGINE_OPTION_PATH_BINARIES: | |||
| return "ENGINE_OPTION_PATH_BINARIES"; | |||
| case ENGINE_OPTION_PATH_RESOURCES: | |||
| return "ENGINE_OPTION_PATH_RESOURCES"; | |||
| #ifndef BUILD_BRIDGE | |||
| case ENGINE_OPTION_PATH_BRIDGE_NATIVE: | |||
| return "ENGINE_OPTION_PATH_BRIDGE_NATIVE"; | |||
| case ENGINE_OPTION_PATH_BRIDGE_POSIX32: | |||
| return "ENGINE_OPTION_PATH_BRIDGE_POSIX32"; | |||
| case ENGINE_OPTION_PATH_BRIDGE_POSIX64: | |||
| return "ENGINE_OPTION_PATH_BRIDGE_POSIX64"; | |||
| case ENGINE_OPTION_PATH_BRIDGE_WIN32: | |||
| return "ENGINE_OPTION_PATH_BRIDGE_WIN32"; | |||
| case ENGINE_OPTION_PATH_BRIDGE_WIN64: | |||
| return "ENGINE_OPTION_PATH_BRIDGE_WIN64"; | |||
| #endif | |||
| #ifdef WANT_LV2 | |||
| case ENGINE_OPTION_PATH_BRIDGE_LV2_EXTERNAL: | |||
| return "ENGINE_OPTION_PATH_BRIDGE_LV2_EXTERNAL"; | |||
| case ENGINE_OPTION_PATH_BRIDGE_LV2_GTK2: | |||
| return "ENGINE_OPTION_PATH_BRIDGE_LV2_GTK2"; | |||
| case ENGINE_OPTION_PATH_BRIDGE_LV2_GTK3: | |||
| return "ENGINE_OPTION_PATH_BRIDGE_LV2_GTK3"; | |||
| case ENGINE_OPTION_PATH_BRIDGE_LV2_NTK: | |||
| return "ENGINE_OPTION_PATH_BRIDGE_LV2_NTK"; | |||
| case ENGINE_OPTION_PATH_BRIDGE_LV2_QT4: | |||
| return "ENGINE_OPTION_PATH_BRIDGE_LV2_QT4"; | |||
| case ENGINE_OPTION_PATH_BRIDGE_LV2_QT5: | |||
| return "ENGINE_OPTION_PATH_BRIDGE_LV2_QT5"; | |||
| case ENGINE_OPTION_PATH_BRIDGE_LV2_COCOA: | |||
| return "ENGINE_OPTION_PATH_BRIDGE_LV2_COCOA"; | |||
| case ENGINE_OPTION_PATH_BRIDGE_LV2_WINDOWS: | |||
| return "ENGINE_OPTION_PATH_BRIDGE_LV2_WINDOWS"; | |||
| case ENGINE_OPTION_PATH_BRIDGE_LV2_X11: | |||
| return "ENGINE_OPTION_PATH_BRIDGE_LV2_X11"; | |||
| #endif | |||
| #ifdef WANT_VST | |||
| case ENGINE_OPTION_PATH_BRIDGE_VST_MAC: | |||
| return "ENGINE_OPTION_PATH_BRIDGE_VST_MAC"; | |||
| case ENGINE_OPTION_PATH_BRIDGE_VST_HWND: | |||
| return "ENGINE_OPTION_PATH_BRIDGE_VST_HWND"; | |||
| case ENGINE_OPTION_PATH_BRIDGE_VST_X11: | |||
| return "ENGINE_OPTION_PATH_BRIDGE_VST_X11"; | |||
| #endif | |||
| } | |||
| carla_stderr("CarlaBackend::EngineOption2Str(%i) - invalid option", option); | |||