@@ -1124,7 +1124,7 @@ public: | |||
void oscSend_bridge_parameter_ranges2(const uint32_t index, const float step, const float stepSmall, const float stepLarge) const noexcept; | |||
void oscSend_bridge_parameter_midi_cc(const uint32_t index, const int16_t cc) const noexcept; | |||
void oscSend_bridge_parameter_midi_channel(const uint32_t index, const uint8_t channel) const noexcept; | |||
void oscSend_bridge_parameter_value(const int32_t index, const float value) const noexcept; // may be used for internal params (< 0) | |||
void oscSend_bridge_parameter_value(const uint32_t index, const float value) const noexcept; | |||
void oscSend_bridge_default_value(const uint32_t index, const float value) const noexcept; | |||
void oscSend_bridge_current_program(const int32_t index) const noexcept; | |||
void oscSend_bridge_current_midi_program(const int32_t index) const noexcept; | |||
@@ -16,7 +16,6 @@ | |||
*/ | |||
/* TODO: | |||
* - add more checks to oscSend_* stuff | |||
* - complete processRack(): carefully add to input, sorted events | |||
* - implement processPatchbay() | |||
* - implement oscSend_control_switch_plugins() | |||
@@ -35,6 +34,7 @@ | |||
#include "CarlaMIDI.h" | |||
#include <QtCore/QDir> | |||
#include <QtCore/QFile> | |||
#include <QtCore/QFileInfo> | |||
#include <QtCore/QTextStream> | |||
@@ -746,38 +746,56 @@ bool CarlaEngine::addPlugin(const BinaryType btype, const PluginType ptype, cons | |||
CarlaPlugin* plugin = nullptr; | |||
#if 0 //ndef BUILD_BRIDGE | |||
const char* bridgeBinary; | |||
#ifndef BUILD_BRIDGE | |||
CarlaString bridgeBinary(pData->options.binaryDir); | |||
switch (btype) | |||
if (bridgeBinary.isNotEmpty()) | |||
{ | |||
case BINARY_POSIX32: | |||
bridgeBinary = pData->options.bridge_posix32.isNotEmpty() ? (const char*)pData->options.bridge_posix32 : nullptr; | |||
break; | |||
case BINARY_POSIX64: | |||
bridgeBinary = pData->options.bridge_posix64.isNotEmpty() ? (const char*)pData->options.bridge_posix64 : nullptr; | |||
break; | |||
case BINARY_WIN32: | |||
bridgeBinary = pData->options.bridge_win32.isNotEmpty() ? (const char*)pData->options.bridge_win32 : nullptr; | |||
break; | |||
case BINARY_WIN64: | |||
bridgeBinary = pData->options.bridge_win64.isNotEmpty() ? (const char*)pData->options.bridge_win64 : nullptr; | |||
break; | |||
default: | |||
bridgeBinary = nullptr; | |||
break; | |||
} | |||
# ifdef CARLA_OS_LINUX | |||
// test for local build | |||
if (bridgeBinary.endsWith("/source/backend/")) | |||
bridgeBinary += "../bridges/"; | |||
# endif | |||
# ifndef CARLA_OS_WIN | |||
if (btype == BINARY_NATIVE && pData->options.bridge_native.isNotEmpty()) | |||
bridgeBinary = (const char*)pData->options.bridge_native; | |||
if (btype == BINARY_NATIVE) | |||
{ | |||
bridgeBinary += "carla-bridge-native"; | |||
} | |||
else | |||
# endif | |||
{ | |||
switch (btype) | |||
{ | |||
case BINARY_POSIX32: | |||
bridgeBinary += "carla-bridge-posix32"; | |||
break; | |||
case BINARY_POSIX64: | |||
bridgeBinary += "carla-bridge-posix64"; | |||
break; | |||
case BINARY_WIN32: | |||
bridgeBinary += "carla-bridge-win32.exe"; | |||
break; | |||
case BINARY_WIN64: | |||
bridgeBinary += "carla-bridge-win64.exe"; | |||
break; | |||
default: | |||
bridgeBinary.clear(); | |||
break; | |||
} | |||
} | |||
if (btype != BINARY_NATIVE || (pData->options.preferPluginBridges && bridgeBinary != nullptr)) | |||
QFile file(bridgeBinary.getBuffer()); | |||
if (! file.exists()) | |||
bridgeBinary.clear(); | |||
} | |||
if (btype != BINARY_NATIVE || (pData->options.preferPluginBridges && bridgeBinary.isNotEmpty())) | |||
{ | |||
if (bridgeBinary != nullptr) | |||
{ | |||
plugin = CarlaPlugin::newBridge(init, btype, ptype, bridgeBinary); | |||
plugin = CarlaPlugin::newBridge(initializer, btype, ptype, bridgeBinary.getBuffer()); | |||
} | |||
# ifdef CARLA_OS_LINUX | |||
else if (btype == BINARY_WIN32) | |||
@@ -812,7 +830,7 @@ bool CarlaEngine::addPlugin(const BinaryType btype, const PluginType ptype, cons | |||
} | |||
} | |||
else | |||
#endif // BUILD_BRIDGE | |||
#endif // ! BUILD_BRIDGE | |||
{ | |||
bool use16Outs; | |||
setLastError("Invalid or unsupported plugin type"); | |||
@@ -829,22 +847,22 @@ bool CarlaEngine::addPlugin(const BinaryType btype, const PluginType ptype, cons | |||
} | |||
else if (std::strcmp(label, "FluidSynth") == 0) | |||
{ | |||
use16Outs = (extra != nullptr && std::strcmp((const char*)extra, "true")); | |||
use16Outs = (extra != nullptr && std::strcmp((const char*)extra, "true") == 0); | |||
plugin = CarlaPlugin::newFluidSynth(initializer, use16Outs); | |||
} | |||
else if (std::strcmp(label, "LinuxSampler (GIG)") == 0) | |||
{ | |||
use16Outs = (extra != nullptr && std::strcmp((const char*)extra, "true")); | |||
use16Outs = (extra != nullptr && std::strcmp((const char*)extra, "true") == 0); | |||
plugin = CarlaPlugin::newLinuxSampler(initializer, "GIG", use16Outs); | |||
} | |||
else if (std::strcmp(label, "LinuxSampler (SF2)") == 0) | |||
{ | |||
use16Outs = (extra != nullptr && std::strcmp((const char*)extra, "true")); | |||
use16Outs = (extra != nullptr && std::strcmp((const char*)extra, "true") == 0); | |||
plugin = CarlaPlugin::newLinuxSampler(initializer, "SF2", use16Outs); | |||
} | |||
else if (std::strcmp(label, "LinuxSampler (SFZ)") == 0) | |||
{ | |||
use16Outs = (extra != nullptr && std::strcmp((const char*)extra, "true")); | |||
use16Outs = (extra != nullptr && std::strcmp((const char*)extra, "true") == 0); | |||
plugin = CarlaPlugin::newLinuxSampler(initializer, "SFZ", use16Outs); | |||
} | |||
else | |||
@@ -878,12 +896,12 @@ bool CarlaEngine::addPlugin(const BinaryType btype, const PluginType ptype, cons | |||
break; | |||
case PLUGIN_FILE_GIG: | |||
use16Outs = (extra != nullptr && std::strcmp((const char*)extra, "true")); | |||
use16Outs = (extra != nullptr && std::strcmp((const char*)extra, "true") == 0); | |||
plugin = CarlaPlugin::newFileGIG(initializer, use16Outs); | |||
break; | |||
case PLUGIN_FILE_SF2: | |||
use16Outs = (extra != nullptr && std::strcmp((const char*)extra, "true")); | |||
use16Outs = (extra != nullptr && std::strcmp((const char*)extra, "true") == 0); | |||
plugin = CarlaPlugin::newFileSF2(initializer, use16Outs); | |||
break; | |||
@@ -2170,7 +2188,7 @@ void CarlaEngine::oscSend_bridge_audio_count(const uint32_t ins, const uint32_t | |||
char targetPath[std::strlen(pData->oscData->path)+20]; | |||
std::strcpy(targetPath, pData->oscData->path); | |||
std::strcat(targetPath, "/bridge_audio_count"); | |||
try_lo_send(pData->oscData->target, targetPath, "iii", static_cast<int32_t>(ins), static_cast<int32_t>(outs)); | |||
try_lo_send(pData->oscData->target, targetPath, "ii", static_cast<int32_t>(ins), static_cast<int32_t>(outs)); | |||
} | |||
void CarlaEngine::oscSend_bridge_midi_count(const uint32_t ins, const uint32_t outs) const noexcept | |||
@@ -2206,7 +2224,7 @@ void CarlaEngine::oscSend_bridge_program_count(const uint32_t count) const noexc | |||
CARLA_SAFE_ASSERT_RETURN(pData->oscData->target != nullptr,); | |||
carla_debug("CarlaEngine::oscSend_bridge_program_count(%i)", count); | |||
char targetPath[std::strlen(pData->oscData->path)+22]; | |||
char targetPath[std::strlen(pData->oscData->path)+23]; | |||
std::strcpy(targetPath, pData->oscData->path); | |||
std::strcat(targetPath, "/bridge_program_count"); | |||
try_lo_send(pData->oscData->target, targetPath, "i", static_cast<int32_t>(count)); | |||
@@ -2292,7 +2310,7 @@ void CarlaEngine::oscSend_bridge_parameter_midi_channel(const uint32_t index, co | |||
try_lo_send(pData->oscData->target, targetPath, "ii", static_cast<int32_t>(index), static_cast<int32_t>(channel)); | |||
} | |||
void CarlaEngine::oscSend_bridge_parameter_value(const int32_t index, const float value) const noexcept | |||
void CarlaEngine::oscSend_bridge_parameter_value(const uint32_t index, const float value) const noexcept | |||
{ | |||
CARLA_SAFE_ASSERT_RETURN(pData->oscData != nullptr,); | |||
CARLA_SAFE_ASSERT_RETURN(pData->oscData->path != nullptr && pData->oscData->path[0] != '\0',); | |||
@@ -2303,7 +2321,7 @@ void CarlaEngine::oscSend_bridge_parameter_value(const int32_t index, const floa | |||
char targetPath[std::strlen(pData->oscData->path)+24]; | |||
std::strcpy(targetPath, pData->oscData->path); | |||
std::strcat(targetPath, "/bridge_parameter_value"); | |||
try_lo_send(pData->oscData->target, targetPath, "if", index, value); | |||
try_lo_send(pData->oscData->target, targetPath, "if", static_cast<int32_t>(index), value); | |||
} | |||
void CarlaEngine::oscSend_bridge_default_value(const uint32_t index, const float value) const noexcept | |||
@@ -2326,7 +2344,7 @@ void CarlaEngine::oscSend_bridge_current_program(const int32_t index) const noex | |||
CARLA_SAFE_ASSERT_RETURN(pData->oscData->target != nullptr,); | |||
carla_debug("CarlaEngine::oscSend_bridge_current_program(%i)", index); | |||
char targetPath[std::strlen(pData->oscData->path)+20]; | |||
char targetPath[std::strlen(pData->oscData->path)+24]; | |||
std::strcpy(targetPath, pData->oscData->path); | |||
std::strcat(targetPath, "/bridge_current_program"); | |||
try_lo_send(pData->oscData->target, targetPath, "i", index); | |||
@@ -2339,7 +2357,7 @@ void CarlaEngine::oscSend_bridge_current_midi_program(const int32_t index) const | |||
CARLA_SAFE_ASSERT_RETURN(pData->oscData->target != nullptr,); | |||
carla_debug("CarlaEngine::oscSend_bridge_current_midi_program(%i)", index); | |||
char targetPath[std::strlen(pData->oscData->path)+25]; | |||
char targetPath[std::strlen(pData->oscData->path)+30]; | |||
std::strcpy(targetPath, pData->oscData->path); | |||
std::strcat(targetPath, "/bridge_current_midi_program"); | |||
try_lo_send(pData->oscData->target, targetPath, "i", index); | |||
@@ -2392,6 +2410,9 @@ void CarlaEngine::oscSend_bridge_set_custom_data(const char* const type, const c | |||
CARLA_SAFE_ASSERT_RETURN(pData->oscData != nullptr,); | |||
CARLA_SAFE_ASSERT_RETURN(pData->oscData->path != nullptr && pData->oscData->path[0] != '\0',); | |||
CARLA_SAFE_ASSERT_RETURN(pData->oscData->target != nullptr,); | |||
CARLA_SAFE_ASSERT_RETURN(type != nullptr && type[0] != '\0',); | |||
CARLA_SAFE_ASSERT_RETURN(key != nullptr && key[0] != '\0',); | |||
CARLA_SAFE_ASSERT_RETURN(value != nullptr,); | |||
carla_debug("CarlaEngine::oscSend_bridge_set_custom_data(\"%s\", \"%s\", \"%s\")", type, key, value); | |||
char targetPath[std::strlen(pData->oscData->path)+24]; | |||
@@ -2414,9 +2435,6 @@ void CarlaEngine::oscSend_bridge_set_chunk_data(const char* const chunkFile) con | |||
try_lo_send(pData->oscData->target, targetPath, "s", chunkFile); | |||
} | |||
// TODO? | |||
//void oscSend_bridge_set_peaks() const; | |||
#else | |||
void CarlaEngine::oscSend_control_add_plugin_start(const uint pluginId, const char* const pluginName) const noexcept | |||
{ | |||
@@ -316,45 +316,53 @@ int CarlaEngineOsc::handleMessage(const bool isTCP, const char* const path, cons | |||
// Plugin Bridges | |||
if ((plugin->getHints() & PLUGIN_IS_BRIDGE) != 0 && std::strlen(method) > 11 && std::strncmp(method, "bridge_", 7) == 0) | |||
{ | |||
if (std::strcmp(method+7, "audio_count") == 0) | |||
const char* const bmethod(method+7); | |||
if (std::strcmp(bmethod, "plugin_info1") == 0) | |||
return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgePluginInfo1, argc, argv, types); | |||
if (std::strcmp(bmethod, "plugin_info2") == 0) | |||
return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgePluginInfo2, argc, argv, types); | |||
if (std::strcmp(bmethod, "audio_count") == 0) | |||
return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgeAudioCount, argc, argv, types); | |||
if (std::strcmp(method+7, "midi_count") == 0) | |||
if (std::strcmp(bmethod, "midi_count") == 0) | |||
return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgeMidiCount, argc, argv, types); | |||
if (std::strcmp(method+7, "parameter_count") == 0) | |||
if (std::strcmp(bmethod, "parameter_count") == 0) | |||
return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgeParameterCount, argc, argv, types); | |||
if (std::strcmp(method+7, "program_count") == 0) | |||
if (std::strcmp(bmethod, "program_count") == 0) | |||
return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgeProgramCount, argc, argv, types); | |||
if (std::strcmp(method+7, "midi_program_count") == 0) | |||
if (std::strcmp(bmethod, "midi_program_count") == 0) | |||
return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgeMidiProgramCount, argc, argv, types); | |||
if (std::strcmp(method+7, "plugin_info") == 0) | |||
return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgePluginInfo, argc, argv, types); | |||
if (std::strcmp(method+7, "parameter_info") == 0) | |||
return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgeParameterInfo, argc, argv, types); | |||
if (std::strcmp(method+7, "parameter_data") == 0) | |||
if (std::strcmp(bmethod, "parameter_data") == 0) | |||
return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgeParameterData, argc, argv, types); | |||
if (std::strcmp(method+7, "parameter_ranges") == 0) | |||
return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgeParameterRanges, argc, argv, types); | |||
if (std::strcmp(method+7, "program_info") == 0) | |||
return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgeProgramInfo, argc, argv, types); | |||
if (std::strcmp(method+7, "midi_program_info") == 0) | |||
return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgeMidiProgramInfo, argc, argv, types); | |||
if (std::strcmp(method+7, "configure") == 0) | |||
if (std::strcmp(bmethod, "parameter_ranges1") == 0) | |||
return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgeParameterRanges1, argc, argv, types); | |||
if (std::strcmp(bmethod, "parameter_ranges2") == 0) | |||
return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgeParameterRanges2, argc, argv, types); | |||
if (std::strcmp(bmethod, "parameter_midi_cc") == 0) | |||
return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgeParameterMidiCC, argc, argv, types); | |||
if (std::strcmp(bmethod, "parameter_midi_channel") == 0) | |||
return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgeParameterMidiChannel, argc, argv, types); | |||
if (std::strcmp(bmethod, "parameter_value") == 0) | |||
return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgeParameterValue, argc, argv, types); | |||
if (std::strcmp(bmethod, "default_value") == 0) | |||
return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgeDefaultValue, argc, argv, types); | |||
if (std::strcmp(bmethod, "current_program") == 0) | |||
return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgeCurrentProgram, argc, argv, types); | |||
if (std::strcmp(bmethod, "current_midi_program") == 0) | |||
return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgeCurrentMidiProgram, argc, argv, types); | |||
if (std::strcmp(bmethod, "program_name") == 0) | |||
return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgeProgramName, argc, argv, types); | |||
if (std::strcmp(bmethod, "midi_program_data") == 0) | |||
return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgeMidiProgramData, argc, argv, types); | |||
if (std::strcmp(bmethod, "configure") == 0) | |||
return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgeConfigure, argc, argv, types); | |||
if (std::strcmp(method+7, "set_parameter_value") == 0) | |||
return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgeSetParameterValue, argc, argv, types); | |||
if (std::strcmp(method+7, "set_default_value") == 0) | |||
return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgeSetDefaultValue, argc, argv, types); | |||
if (std::strcmp(method+7, "set_program") == 0) | |||
return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgeSetProgram, argc, argv, types); | |||
if (std::strcmp(method+7, "set_midi_program") == 0) | |||
return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgeSetMidiProgram, argc, argv, types); | |||
if (std::strcmp(method+7, "set_custom_data") == 0) | |||
if (std::strcmp(bmethod, "set_custom_data") == 0) | |||
return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgeSetCustomData, argc, argv, types); | |||
if (std::strcmp(method+7, "set_chunk_data") == 0) | |||
if (std::strcmp(bmethod, "set_chunk_data") == 0) | |||
return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgeSetChunkData, argc, argv, types); | |||
if (std::strcmp(method+7, "update") == 0) | |||
return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgeUpdateNow, argc, argv, types); | |||
if (std::strcmp(method+7, "error") == 0) | |||
if (std::strcmp(bmethod, "update") == 0) | |||
return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgeUpdate, argc, argv, types); | |||
if (std::strcmp(bmethod, "error") == 0) | |||
return CarlaPluginSetOscBridgeInfo(plugin, kPluginBridgeError, argc, argv, types); | |||
} | |||
#endif | |||
@@ -3681,9 +3681,11 @@ public: | |||
if (bridgeBinary.isEmpty()) | |||
return nullptr; | |||
#ifdef CARLA_OS_LINUX | |||
// test for local build | |||
if (bridgeBinary.endsWith("/source/backend/")) | |||
bridgeBinary += "../bridges/"; | |||
#endif | |||
switch (type) | |||
{ | |||
@@ -23,26 +23,30 @@ | |||
// ----------------------------------------------------------------------- | |||
enum PluginBridgeInfoType { | |||
kPluginBridgeAudioCount = 0, | |||
kPluginBridgeMidiCount, | |||
kPluginBridgeParameterCount, | |||
kPluginBridgeProgramCount, | |||
kPluginBridgeMidiProgramCount, | |||
kPluginBridgePluginInfo, | |||
kPluginBridgeParameterInfo, | |||
kPluginBridgeParameterData, | |||
kPluginBridgeParameterRanges, | |||
kPluginBridgeProgramInfo, | |||
kPluginBridgeMidiProgramInfo, | |||
kPluginBridgeConfigure, | |||
kPluginBridgeSetParameterValue, | |||
kPluginBridgeSetDefaultValue, | |||
kPluginBridgeSetProgram, | |||
kPluginBridgeSetMidiProgram, | |||
kPluginBridgeSetCustomData, | |||
kPluginBridgeSetChunkData, | |||
kPluginBridgeUpdateNow, | |||
kPluginBridgeError | |||
kPluginBridgeNull = 0, | |||
kPluginBridgePluginInfo1, // uuh => category, hints, uniqueId | |||
kPluginBridgePluginInfo2, // ssss => realName, label, maker, copyright | |||
kPluginBridgeAudioCount, // uu => ins, outs | |||
kPluginBridgeMidiCount, // uu => ins, outs | |||
kPluginBridgeParameterCount, // uu => ins, outs | |||
kPluginBridgeProgramCount, // u => count | |||
kPluginBridgeMidiProgramCount, // u => count | |||
kPluginBridgeParameterData, // uiuuss => index, rindex, type, hints, name, unit | |||
kPluginBridgeParameterRanges1, // ufff => index, def, min, max | |||
kPluginBridgeParameterRanges2, // ufff => index, step, stepSmall, stepLarge | |||
kPluginBridgeParameterMidiCC, // ui => index, cc | |||
kPluginBridgeParameterMidiChannel, // uu => index, channel | |||
kPluginBridgeParameterValue, // uf => index, value | |||
kPluginBridgeDefaultValue, // uf => index, value | |||
kPluginBridgeCurrentProgram, // i => index | |||
kPluginBridgeCurrentMidiProgram, // i => index | |||
kPluginBridgeProgramName, // us => index, name | |||
kPluginBridgeMidiProgramData, // uuus => index, bank, program, name | |||
kPluginBridgeConfigure, // ss => key, value | |||
kPluginBridgeSetCustomData, // sss => type, key, value | |||
kPluginBridgeSetChunkData, // s => chunkFile | |||
kPluginBridgeUpdate, // | |||
kPluginBridgeError // | |||
}; | |||
enum PluginBridgeOpcode { | |||
@@ -89,6 +93,12 @@ const char* PluginBridgeInfoType2str(const PluginBridgeInfoType type) noexcept | |||
{ | |||
switch (type) | |||
{ | |||
case kPluginBridgeNull: | |||
return "kPluginBridgeNull"; | |||
case kPluginBridgePluginInfo1: | |||
return "kPluginBridgePluginInfo1"; | |||
case kPluginBridgePluginInfo2: | |||
return "kPluginBridgePluginInfo2"; | |||
case kPluginBridgeAudioCount: | |||
return "kPluginBridgeAudioCount"; | |||
case kPluginBridgeMidiCount: | |||
@@ -99,34 +109,36 @@ const char* PluginBridgeInfoType2str(const PluginBridgeInfoType type) noexcept | |||
return "kPluginBridgeProgramCount"; | |||
case kPluginBridgeMidiProgramCount: | |||
return "kPluginBridgeMidiProgramCount"; | |||
case kPluginBridgePluginInfo: | |||
return "kPluginBridgePluginInfo"; | |||
case kPluginBridgeParameterInfo: | |||
return "kPluginBridgeParameterInfo"; | |||
case kPluginBridgeParameterData: | |||
return "kPluginBridgeParameterData"; | |||
case kPluginBridgeParameterRanges: | |||
return "kPluginBridgeParameterRanges"; | |||
case kPluginBridgeProgramInfo: | |||
return "kPluginBridgeProgramInfo"; | |||
case kPluginBridgeMidiProgramInfo: | |||
return "kPluginBridgeMidiProgramInfo"; | |||
case kPluginBridgeParameterRanges1: | |||
return "kPluginBridgeParameterRanges1"; | |||
case kPluginBridgeParameterRanges2: | |||
return "kPluginBridgeParameterRanges2"; | |||
case kPluginBridgeParameterMidiCC: | |||
return "kPluginBridgeParameterMidiCC"; | |||
case kPluginBridgeParameterMidiChannel: | |||
return "kPluginBridgeParameterMidiChannel"; | |||
case kPluginBridgeParameterValue: | |||
return "kPluginBridgeParameterValue"; | |||
case kPluginBridgeDefaultValue: | |||
return "kPluginBridgeDefaultValue"; | |||
case kPluginBridgeCurrentProgram: | |||
return "kPluginBridgeCurrentProgram"; | |||
case kPluginBridgeCurrentMidiProgram: | |||
return "kPluginBridgeCurrentMidiProgram"; | |||
case kPluginBridgeProgramName: | |||
return "kPluginBridgeProgramName"; | |||
case kPluginBridgeMidiProgramData: | |||
return "kPluginBridgeMidiProgramData"; | |||
case kPluginBridgeConfigure: | |||
return "kPluginBridgeConfigure"; | |||
case kPluginBridgeSetParameterValue: | |||
return "kPluginBridgeSetParameterValue"; | |||
case kPluginBridgeSetDefaultValue: | |||
return "kPluginBridgeSetDefaultValue"; | |||
case kPluginBridgeSetProgram: | |||
return "kPluginBridgeSetProgram"; | |||
case kPluginBridgeSetMidiProgram: | |||
return "kPluginBridgeSetMidiProgram"; | |||
case kPluginBridgeSetCustomData: | |||
return "kPluginBridgeSetCustomData"; | |||
case kPluginBridgeSetChunkData: | |||
return "kPluginBridgeSetChunkData"; | |||
case kPluginBridgeUpdateNow: | |||
return "kPluginBridgeUpdateNow"; | |||
case kPluginBridgeUpdate: | |||
return "kPluginBridgeUpdate"; | |||
case kPluginBridgeError: | |||
return "kPluginBridgeError"; | |||
} | |||