@@ -110,7 +110,6 @@ const unsigned int PARAMETER_USES_SCALEPOINTS = 0x40; //!< Parameter uses scalep | |||
const unsigned int PARAMETER_USES_CUSTOM_TEXT = 0x80; //!< Parameter uses custom text for displaying its value.\see CarlaPlugin::getParameterText() | |||
/**@}*/ | |||
#if 0 | |||
/*! | |||
* @defgroup CustomDataTypes Custom Data types | |||
* | |||
@@ -123,7 +122,6 @@ const char* const CUSTOM_DATA_INVALID = nullptr; | |||
const char* const CUSTOM_DATA_CHUNK = "http://kxstudio.sf.net/ns/carla/chunk"; //!< Carla Chunk | |||
const char* const CUSTOM_DATA_STRING = "http://kxstudio.sf.net/ns/carla/string"; //!< Carla String | |||
/**@}*/ | |||
#endif | |||
#if 0 | |||
/*! | |||
@@ -398,13 +396,23 @@ enum CallbackType { | |||
*/ | |||
CALLBACK_DEBUG = 0, | |||
/*! | |||
* A plugin has been added. | |||
*/ | |||
CALLBACK_PLUGIN_ADDED = 1, | |||
/*! | |||
* A plugin has been removed. | |||
*/ | |||
CALLBACK_PLUGIN_REMOVED = 2, | |||
/*! | |||
* A parameter has been changed. | |||
* | |||
* \param value1 Parameter index | |||
* \param value3 Value | |||
*/ | |||
CALLBACK_PARAMETER_VALUE_CHANGED = 1, | |||
CALLBACK_PARAMETER_VALUE_CHANGED = 3, | |||
/*! | |||
* A parameter's MIDI channel has been changed. | |||
@@ -412,7 +420,7 @@ enum CallbackType { | |||
* \param value1 Parameter index | |||
* \param value2 MIDI channel | |||
*/ | |||
CALLBACK_PARAMETER_MIDI_CHANNEL_CHANGED = 2, | |||
CALLBACK_PARAMETER_MIDI_CHANNEL_CHANGED = 4, | |||
/*! | |||
* A parameter's MIDI CC has been changed. | |||
@@ -420,14 +428,14 @@ enum CallbackType { | |||
* \param value1 Parameter index | |||
* \param value2 MIDI CC | |||
*/ | |||
CALLBACK_PARAMETER_MIDI_CC_CHANGED = 3, | |||
CALLBACK_PARAMETER_MIDI_CC_CHANGED = 5, | |||
/*! | |||
* The current program has has been changed. | |||
* | |||
* \param value1 Program index | |||
*/ | |||
CALLBACK_PROGRAM_CHANGED = 4, | |||
CALLBACK_PROGRAM_CHANGED = 6, | |||
/*! | |||
* The current MIDI program has been changed. | |||
@@ -435,7 +443,7 @@ enum CallbackType { | |||
* \param value1 MIDI bank | |||
* \param value2 MIDI program | |||
*/ | |||
CALLBACK_MIDI_PROGRAM_CHANGED = 5, | |||
CALLBACK_MIDI_PROGRAM_CHANGED = 7, | |||
/*! | |||
* A note has been pressed. | |||
@@ -444,7 +452,7 @@ enum CallbackType { | |||
* \param value2 Note | |||
* \param value3 Velocity | |||
*/ | |||
CALLBACK_NOTE_ON = 6, | |||
CALLBACK_NOTE_ON = 8, | |||
/*! | |||
* A note has been released. | |||
@@ -452,7 +460,7 @@ enum CallbackType { | |||
* \param value1 Channel | |||
* \param value2 Note | |||
*/ | |||
CALLBACK_NOTE_OFF = 7, | |||
CALLBACK_NOTE_OFF = 9, | |||
/*! | |||
* The plugin's custom GUI state has changed. | |||
@@ -462,62 +470,62 @@ enum CallbackType { | |||
* 1: GUI has been shown\n | |||
* -1: GUI has crashed and should not be shown again | |||
*/ | |||
CALLBACK_SHOW_GUI = 8, | |||
CALLBACK_SHOW_GUI = 10, | |||
/*! | |||
* The plugin needs update. | |||
*/ | |||
CALLBACK_UPDATE = 9, | |||
CALLBACK_UPDATE = 11, | |||
/*! | |||
* The plugin's data/information has changed. | |||
*/ | |||
CALLBACK_RELOAD_INFO = 10, | |||
CALLBACK_RELOAD_INFO = 12, | |||
/*! | |||
* The plugin's parameters have changed. | |||
*/ | |||
CALLBACK_RELOAD_PARAMETERS = 11, | |||
CALLBACK_RELOAD_PARAMETERS = 13, | |||
/*! | |||
* The plugin's programs have changed. | |||
*/ | |||
CALLBACK_RELOAD_PROGRAMS = 12, | |||
CALLBACK_RELOAD_PROGRAMS = 14, | |||
/*! | |||
* The plugin's state has changed. | |||
*/ | |||
CALLBACK_RELOAD_ALL = 13, | |||
CALLBACK_RELOAD_ALL = 15, | |||
/*! | |||
* Non-Session-Manager Announce message. | |||
*/ | |||
CALLBACK_NSM_ANNOUNCE = 14, | |||
CALLBACK_NSM_ANNOUNCE = 16, | |||
/*! | |||
* Non-Session-Manager Open message #1. | |||
*/ | |||
CALLBACK_NSM_OPEN1 = 15, | |||
CALLBACK_NSM_OPEN1 = 17, | |||
/*! | |||
* Non-Session-Manager Open message #2. | |||
*/ | |||
CALLBACK_NSM_OPEN2 = 16, | |||
CALLBACK_NSM_OPEN2 = 18, | |||
/*! | |||
* Non-Session-Manager Save message. | |||
*/ | |||
CALLBACK_NSM_SAVE = 17, | |||
CALLBACK_NSM_SAVE = 19, | |||
/*! | |||
* An error occurred, show last error to user. | |||
*/ | |||
CALLBACK_ERROR = 18, | |||
CALLBACK_ERROR = 20, | |||
/*! | |||
* The engine has crashed or malfunctioned and will no longer work. | |||
*/ | |||
CALLBACK_QUIT = 19 | |||
CALLBACK_QUIT = 21 | |||
}; | |||
/*! | |||
@@ -534,11 +542,11 @@ enum ProcessMode { | |||
}; | |||
/*! | |||
* Callback function the backend will call when something interesting happens. | |||
* Callback function the engine will call when something interesting happens. | |||
* | |||
* \see set_callback_function() and CallbackType | |||
* \see CallbackType and set_callback_function() | |||
*/ | |||
typedef void (*CallbackFunc)(void* ptr, CallbackType action, int pluginId, int value1, int value2, double value3, const char* valueStr); | |||
typedef void (*CallbackFunc)(void* ptr, CallbackType action, unsigned int pluginId, int value1, int value2, double value3, const char* valueStr); | |||
/*! | |||
* Parameter data | |||
@@ -592,13 +592,13 @@ public: | |||
/*! | |||
* Current number of plugins loaded. | |||
*/ | |||
int currentPluginCount() const; | |||
unsigned int currentPluginCount() const; | |||
/*! | |||
* Maximum number of loadable plugins allowed. | |||
* \note This function returns 0 if engine is not started. | |||
*/ | |||
int maxPluginNumber() const; | |||
unsigned int maxPluginNumber() const; | |||
// ------------------------------------------------------------------- | |||
// Virtual, per-engine type calls | |||
@@ -648,12 +648,12 @@ public: | |||
/*! | |||
* Get plugin with id \a id. | |||
*/ | |||
CarlaPlugin* getPlugin(const int id) const; | |||
CarlaPlugin* getPlugin(const unsigned int id) const; | |||
/*! | |||
* Get plugin with id \a id, faster unchecked version. | |||
*/ | |||
CarlaPlugin* getPluginUnchecked(const int id) const; | |||
CarlaPlugin* getPluginUnchecked(const unsigned int id) const; | |||
/*! | |||
* Get a unique plugin name within the engine.\n | |||
@@ -665,13 +665,13 @@ public: | |||
* Add new plugin.\n | |||
* Returns the id of the plugin, or -1 if the operation failed. | |||
*/ | |||
int addPlugin(const BinaryType btype, const PluginType ptype, const char* const filename, const char* const name, const char* const label, void* const extra = nullptr); | |||
bool addPlugin(const BinaryType btype, const PluginType ptype, const char* const filename, const char* const name, const char* const label, void* const extra = nullptr); | |||
/*! | |||
* Add new plugin, using native binary type.\n | |||
* Returns the id of the plugin, or -1 if the operation failed. | |||
*/ | |||
int addPlugin(const PluginType ptype, const char* const filename, const char* const name, const char* const label, void* const extra = nullptr) | |||
bool addPlugin(const PluginType ptype, const char* const filename, const char* const name, const char* const label, void* const extra = nullptr) | |||
{ | |||
return addPlugin(BINARY_NATIVE, ptype, filename, name, label, extra); | |||
} | |||
@@ -679,7 +679,7 @@ public: | |||
/*! | |||
* Remove plugin with id \a id. | |||
*/ | |||
bool removePlugin(const int id); | |||
bool removePlugin(const unsigned int id); | |||
/*! | |||
* Remove all plugins. | |||
@@ -452,12 +452,12 @@ unsigned int CarlaEngine::maxPortNameSize() const | |||
return STR_MAX; | |||
} | |||
int CarlaEngine::currentPluginCount() const | |||
unsigned int CarlaEngine::currentPluginCount() const | |||
{ | |||
return fData->curPluginCount; | |||
} | |||
int CarlaEngine::maxPluginNumber() const | |||
unsigned int CarlaEngine::maxPluginNumber() const | |||
{ | |||
return fData->maxPluginNumber; | |||
} | |||
@@ -549,7 +549,7 @@ int CarlaEngine::getNewPluginId() const | |||
} | |||
#endif | |||
CarlaPlugin* CarlaEngine::getPlugin(const int id) const | |||
CarlaPlugin* CarlaEngine::getPlugin(const unsigned int id) const | |||
{ | |||
qDebug("CarlaEngine::getPlugin(%i) [count:%i]", id, fData->curPluginCount); | |||
CARLA_ASSERT(fData->curPluginCount > 0); | |||
@@ -562,7 +562,7 @@ CarlaPlugin* CarlaEngine::getPlugin(const int id) const | |||
return nullptr; | |||
} | |||
CarlaPlugin* CarlaEngine::getPluginUnchecked(const int id) const | |||
CarlaPlugin* CarlaEngine::getPluginUnchecked(const unsigned int id) const | |||
{ | |||
return fData->plugins[id].plugin; | |||
} | |||
@@ -643,7 +643,7 @@ const char* CarlaEngine::getNewUniquePluginName(const char* const name) | |||
return strdup(sname); | |||
} | |||
int CarlaEngine::addPlugin(const BinaryType btype, const PluginType ptype, const char* const filename, const char* const name, const char* const label, void* const extra) | |||
bool CarlaEngine::addPlugin(const BinaryType btype, const PluginType ptype, const char* const filename, const char* const name, const char* const label, void* const extra) | |||
{ | |||
qDebug("CarlaEngine::addPlugin(%s, %s, \"%s\", \"%s\", \"%s\", %p)", BinaryType2Str(btype), PluginType2Str(ptype), filename, name, label, extra); | |||
CARLA_ASSERT(btype != BINARY_NONE); | |||
@@ -651,12 +651,12 @@ int CarlaEngine::addPlugin(const BinaryType btype, const PluginType ptype, const | |||
CARLA_ASSERT(filename); | |||
CARLA_ASSERT(label); | |||
CarlaPlugin::Initializer init = { | |||
this, | |||
filename, | |||
name, | |||
label | |||
}; | |||
//CarlaPlugin::Initializer init = { | |||
// this, | |||
// filename, | |||
// name, | |||
// label | |||
//}; | |||
CarlaPlugin* plugin = nullptr; | |||
@@ -766,19 +766,20 @@ int CarlaEngine::addPlugin(const BinaryType btype, const PluginType ptype, const | |||
#endif | |||
} | |||
if (! plugin) | |||
return -1; | |||
if (plugin == nullptr) | |||
return false; | |||
const int id = fData->curPluginCount++; | |||
//const int id = fData->curPluginCount++; | |||
#if 0 | |||
plugin->setId(id); | |||
#endif | |||
return id; | |||
//return id; | |||
return true; | |||
} | |||
bool CarlaEngine::removePlugin(const int id) | |||
bool CarlaEngine::removePlugin(const unsigned int id) | |||
{ | |||
qDebug("CarlaEngine::removePlugin(%i)", id); | |||
CARLA_ASSERT(fData->curPluginCount > 0); | |||
@@ -150,9 +150,9 @@ struct CarlaEngineProtectedData { | |||
QProcessEnvironment procEnv; | |||
#endif | |||
bool aboutToClose; // don't re-activate thread if true | |||
int curPluginCount; // number of plugins loaded (0...max) | |||
int maxPluginNumber; // number of plugins allowed (0, 16, 99 or 999) | |||
bool aboutToClose; // don't re-activate thread if true | |||
unsigned int curPluginCount; // number of plugins loaded (0...max) | |||
unsigned int maxPluginNumber; // number of plugins allowed (0, 16, 99 or 999) | |||
EnginePluginData* plugins; | |||
@@ -187,7 +187,7 @@ int CarlaEngineOsc::handleMessage(const char* const path, const int argc, const | |||
// Get plugin id from message | |||
// eg, /carla/23/method | |||
int pluginId = -1; | |||
unsigned int pluginId = 0; | |||
if (isDigit(path[nameSize+2])) | |||
{ | |||
@@ -219,7 +219,7 @@ int CarlaEngineOsc::handleMessage(const char* const path, const int argc, const | |||
} | |||
} | |||
if (pluginId < 0 || pluginId > kEngine->currentPluginCount()) | |||
if (pluginId > kEngine->currentPluginCount()) | |||
{ | |||
qCritical("CarlaEngineOsc::handleMessage() - failed to get plugin, wrong id '%i'", pluginId); | |||
return 1; | |||
@@ -799,7 +799,7 @@ public: | |||
// --------------------------------------------------------------------- | |||
// callback | |||
static void callback(void* const ptr, CarlaBackend::CallbackType const action, const int, const int value1, const int value2, const double value3, const char* const valueStr) | |||
static void callback(void* const ptr, CarlaBackend::CallbackType const action, const unsigned int, const int value1, const int value2, const double value3, const char* const valueStr) | |||
{ | |||
CARLA_ASSERT(ptr); | |||
@@ -835,6 +835,12 @@ protected: | |||
case CALLBACK_DEBUG: | |||
break; | |||
case CALLBACK_PLUGIN_ADDED: | |||
break; | |||
case CALLBACK_PLUGIN_REMOVED: | |||
break; | |||
case CALLBACK_PARAMETER_VALUE_CHANGED: | |||
parametersToUpdate.insert(value1); | |||
break; | |||
@@ -1113,7 +1119,7 @@ int main(int argc, char* argv[]) | |||
if (itype == CarlaBackend::PLUGIN_DSSI) | |||
extraStuff = findDSSIGUI(filename, name, label); | |||
// Init plugin | |||
// Init plugin, FIXME | |||
int id = engine->addPlugin(itype, filename, name, label, extraStuff); | |||
int ret; | |||
@@ -240,6 +240,10 @@ const char* CallbackType2Str(const CallbackType& type) | |||
{ | |||
case CALLBACK_DEBUG: | |||
return "CALLBACK_DEBUG"; | |||
case CALLBACK_PLUGIN_ADDED: | |||
return "CALLBACK_PLUGIN_ADDED"; | |||
case CALLBACK_PLUGIN_REMOVED: | |||
return "CALLBACK_PLUGIN_REMOVED"; | |||
case CALLBACK_PARAMETER_VALUE_CHANGED: | |||
return "CALLBACK_PARAMETER_VALUE_CHANGED"; | |||
case CALLBACK_PARAMETER_MIDI_CHANNEL_CHANGED: | |||