Browse Source

Fix install; OSC cleanup (part 1)

tags/v0.9.0
falkTX 12 years ago
parent
commit
8265ff638f
11 changed files with 248 additions and 196 deletions
  1. +30
    -30
      Makefile
  2. +125
    -81
      c++/carla-backend/carla_engine.cpp
  3. +24
    -20
      c++/carla-backend/carla_engine.h
  4. +20
    -20
      c++/carla-includes/carla_osc_includes.h
  5. +1
    -1
      c++/jack_utils.h
  6. +2
    -2
      c++/jackmeter/Makefile
  7. +1
    -0
      c++/jackmeter/jackmeter.cpp
  8. +5
    -6
      src/pixmapdial.py
  9. +2
    -2
      src/pixmapkeyboard.py
  10. +3
    -2
      src/shared_carla.py
  11. +35
    -32
      src/xycontroller.py

+ 30
- 30
Makefile View File

@@ -244,44 +244,44 @@ install:
install -m 644 data/*.desktop $(DESTDIR)$(PREFIX)/share/applications/ install -m 644 data/*.desktop $(DESTDIR)$(PREFIX)/share/applications/


# Install icons, 16x16 # Install icons, 16x16
install -m 644 src/icons/16x16/cadence.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
install -m 644 src/icons/16x16/catarina.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
install -m 644 src/icons/16x16/catia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
install -m 644 src/icons/16x16/claudia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
install -m 644 src/icons/16x16/claudia-launcher.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
install -m 644 src/icons/16x16/carla.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
install -m 644 resources/16x16/cadence.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
install -m 644 resources/16x16/catarina.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
install -m 644 resources/16x16/catia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
install -m 644 resources/16x16/claudia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
install -m 644 resources/16x16/claudia-launcher.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/
install -m 644 resources/16x16/carla.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/


# Install icons, 48x48 # Install icons, 48x48
install -m 644 src/icons/48x48/cadence.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
install -m 644 src/icons/48x48/catarina.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
install -m 644 src/icons/48x48/catia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
install -m 644 src/icons/48x48/claudia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
install -m 644 src/icons/48x48/claudia-launcher.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
install -m 644 src/icons/48x48/carla.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
install -m 644 resources/48x48/cadence.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
install -m 644 resources/48x48/catarina.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
install -m 644 resources/48x48/catia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
install -m 644 resources/48x48/claudia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
install -m 644 resources/48x48/claudia-launcher.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/
install -m 644 resources/48x48/carla.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/


# Install icons, 128x128 # Install icons, 128x128
install -m 644 src/icons/128x128/cadence.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
install -m 644 src/icons/128x128/catarina.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
install -m 644 src/icons/128x128/catia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
install -m 644 src/icons/128x128/claudia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
install -m 644 src/icons/128x128/claudia-launcher.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
install -m 644 src/icons/128x128/carla.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
install -m 644 resources/128x128/cadence.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
install -m 644 resources/128x128/catarina.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
install -m 644 resources/128x128/catia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
install -m 644 resources/128x128/claudia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
install -m 644 resources/128x128/claudia-launcher.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/
install -m 644 resources/128x128/carla.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/


# Install icons, 256x256 # Install icons, 256x256
install -m 644 src/icons/256x256/cadence.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
install -m 644 src/icons/256x256/catarina.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
install -m 644 src/icons/256x256/catia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
install -m 644 src/icons/256x256/claudia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
install -m 644 src/icons/256x256/claudia-launcher.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
install -m 644 src/icons/256x256/carla.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
install -m 644 resources/256x256/cadence.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
install -m 644 resources/256x256/catarina.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
install -m 644 resources/256x256/catia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
install -m 644 resources/256x256/claudia.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
install -m 644 resources/256x256/claudia-launcher.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/
install -m 644 resources/256x256/carla.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/256x256/apps/


# Install icons, scalable # Install icons, scalable
install -m 644 src/icons/scalable/cadence.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
install -m 644 src/icons/scalable/catarina.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
install -m 644 src/icons/scalable/catia.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
install -m 644 src/icons/scalable/claudia.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
install -m 644 src/icons/scalable/claudia-launcher.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
install -m 644 src/icons/scalable/carla.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
install -m 644 resources/scalable/cadence.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
install -m 644 resources/scalable/catarina.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
install -m 644 resources/scalable/catia.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
install -m 644 resources/scalable/claudia.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
install -m 644 resources/scalable/claudia-launcher.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/
install -m 644 resources/scalable/carla.svg $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/


# Install main code # Install main code
install -m 755 src/*.py $(DESTDIR)$(PREFIX)/share/cadence/src/ install -m 755 src/*.py $(DESTDIR)$(PREFIX)/share/cadence/src/


+ 125
- 81
c++/carla-backend/carla_engine.cpp View File

@@ -837,211 +837,212 @@ void CarlaEngineMidiPort::writeEvent(uint32_t time, uint8_t* data, uint8_t size)
// ------------------------------------------------------------------------------------------------------------------- // -------------------------------------------------------------------------------------------------------------------
// Carla Engine OSC stuff // Carla Engine OSC stuff


void CarlaEngine::osc_send_add_plugin(int plugin_id, const char* plugin_name)
void CarlaEngine::osc_send_add_plugin(const int32_t pluginId, const char* const pluginName)
{ {
qDebug("CarlaEngine::osc_send_add_plugin(%i, %s)", plugin_id, plugin_name);
qDebug("CarlaEngine::osc_send_add_plugin(%i, \"%s\")", pluginId, pluginName);
const CarlaOscData* const oscData = m_osc.getControllerData(); const CarlaOscData* const oscData = m_osc.getControllerData();
Q_ASSERT(oscData);
Q_ASSERT(pluginId >= 0 && pluginId < MAX_PLUGINS);


if (oscData->target) if (oscData->target)
{ {
char target_path[strlen(oscData->path)+12]; char target_path[strlen(oscData->path)+12];
strcpy(target_path, oscData->path); strcpy(target_path, oscData->path);
strcat(target_path, "/add_plugin"); strcat(target_path, "/add_plugin");
lo_send(oscData->target, target_path, "is", plugin_id, plugin_name);
lo_send(oscData->target, target_path, "is", pluginId, pluginName);
} }
} }


void CarlaEngine::osc_send_remove_plugin(int plugin_id)
void CarlaEngine::osc_send_remove_plugin(const int32_t pluginId)
{ {
qDebug("CarlaEngine::osc_send_remove_plugin(%i)", plugin_id);
qDebug("CarlaEngine::osc_send_remove_plugin(%i)", pluginId);
const CarlaOscData* const oscData = m_osc.getControllerData(); const CarlaOscData* const oscData = m_osc.getControllerData();
Q_ASSERT(oscData);


if (oscData->target) if (oscData->target)
{ {
char target_path[strlen(oscData->path)+15]; char target_path[strlen(oscData->path)+15];
strcpy(target_path, oscData->path); strcpy(target_path, oscData->path);
strcat(target_path, "/remove_plugin"); strcat(target_path, "/remove_plugin");
lo_send(oscData->target, target_path, "i", plugin_id);
lo_send(oscData->target, target_path, "i", pluginId);
} }
} }


void CarlaEngine::osc_send_set_plugin_data(int plugin_id, int type, int category, int hints, const char* name, const char* label, const char* maker, const char* copyright, long unique_id)
void CarlaEngine::osc_send_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)
{ {
qDebug("CarlaEngine::osc_send_set_plugin_data(%i, %i, %i, %i, %s, %s, %s, %s, %li)", plugin_id, type, category, hints, name, label, maker, copyright, unique_id);
qDebug("CarlaEngine::osc_send_set_plugin_data(%i, %i, %i, %i, \"%s\", \"%s\", \"%s\", \"%s\", %li)", pluginId, type, category, hints, realName, label, maker, copyright, uniqueId);
const CarlaOscData* const oscData = m_osc.getControllerData(); const CarlaOscData* const oscData = m_osc.getControllerData();
Q_ASSERT(oscData);
Q_ASSERT(pluginId >= 0 && pluginId < MAX_PLUGINS);


if (oscData->target) if (oscData->target)
{ {
char target_path[strlen(oscData->path)+17]; char target_path[strlen(oscData->path)+17];
strcpy(target_path, oscData->path); strcpy(target_path, oscData->path);
strcat(target_path, "/set_plugin_data"); strcat(target_path, "/set_plugin_data");
lo_send(oscData->target, target_path, "iiiissssi", plugin_id, type, category, hints, name, label, maker, copyright, unique_id);
lo_send(oscData->target, target_path, "iiiissssh", pluginId, type, category, hints, realName, label, maker, copyright, uniqueId);
} }
} }


void CarlaEngine::osc_send_set_plugin_ports(int plugin_id, int ains, int aouts, int mins, int mouts, int cins, int couts, int ctotals)
void CarlaEngine::osc_send_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)
{ {
qDebug("CarlaEngine::osc_send_set_plugin_ports(%i, %i, %i, %i, %i, %i, %i, %i)", plugin_id, ains, aouts, mins, mouts, cins, couts, ctotals);
qDebug("CarlaEngine::osc_send_set_plugin_ports(%i, %i, %i, %i, %i, %i, %i, %i)", pluginId, audioIns, audioOuts, midiIns, midiOuts, cIns, cOuts, cTotals);
const CarlaOscData* const oscData = m_osc.getControllerData(); const CarlaOscData* const oscData = m_osc.getControllerData();
Q_ASSERT(oscData);
Q_ASSERT(pluginId >= 0 && pluginId < MAX_PLUGINS);


if (oscData->target) if (oscData->target)
{ {
char target_path[strlen(oscData->path)+18]; char target_path[strlen(oscData->path)+18];
strcpy(target_path, oscData->path); strcpy(target_path, oscData->path);
strcat(target_path, "/set_plugin_ports"); strcat(target_path, "/set_plugin_ports");
lo_send(oscData->target, target_path, "iiiiiiii", plugin_id, ains, aouts, mins, mouts, cins, couts, ctotals);
lo_send(oscData->target, target_path, "iiiiiiii", pluginId, audioIns, audioOuts, midiIns, midiOuts, cIns, cOuts, cTotals);
} }
} }


void CarlaEngine::osc_send_set_parameter_value(int plugin_id, int param_id, double value)
void CarlaEngine::osc_send_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 label, const double current)
{ {
#if DEBUG
if (param_id < 0)
qDebug("CarlaEngine::osc_send_set_parameter_value(%i, %s, %g)", plugin_id, InternalParametersIndex2str((InternalParametersIndex)param_id), value);
else
qDebug("CarlaEngine::osc_send_set_parameter_value(%i, %i, %g)", plugin_id, param_id, value);
#endif
const CarlaOscData* const oscData = m_osc.getControllerData();

if (oscData->target)
{
char target_path[strlen(oscData->path)+21];
strcpy(target_path, oscData->path);
strcat(target_path, "/set_parameter_value");
lo_send(oscData->target, target_path, "iif", plugin_id, param_id, value);
}
}

void CarlaEngine::osc_send_set_parameter_data(int plugin_id, int param_id, int ptype, int hints, const char* name, const char* label, double current)
{
qDebug("CarlaEngine::osc_send_set_parameter_data(%i, %i, %i, %i, %s, %s, %f)", plugin_id, param_id, ptype, hints, name, label, current);
qDebug("CarlaEngine::osc_send_set_parameter_data(%i, %i, %i, %i, \"%s\", \"%s\", %g)", pluginId, index, type, hints, name, label, current);
const CarlaOscData* const oscData = m_osc.getControllerData(); const CarlaOscData* const oscData = m_osc.getControllerData();
Q_ASSERT(oscData);
Q_ASSERT(pluginId >= 0 && pluginId < MAX_PLUGINS);


if (oscData->target) if (oscData->target)
{ {
char target_path[strlen(oscData->path)+20]; char target_path[strlen(oscData->path)+20];
strcpy(target_path, oscData->path); strcpy(target_path, oscData->path);
strcat(target_path, "/set_parameter_data"); strcat(target_path, "/set_parameter_data");
lo_send(oscData->target, target_path, "iiiissf", plugin_id, param_id, ptype, hints, name, label, current);
lo_send(oscData->target, target_path, "iiiissd", pluginId, index, type, hints, name, label, current);
} }
} }


void CarlaEngine::osc_send_set_parameter_ranges(int plugin_id, int param_id, double x_min, double x_max, double x_def, double x_step, double x_step_small, double x_step_large)
void CarlaEngine::osc_send_set_parameter_ranges(const int32_t pluginId, const int32_t index, const double min, const double max, const double def,
const double step, const double stepSmall, const double stepLarge)
{ {
qDebug("CarlaEngine::osc_send_set_parameter_ranges(%i, %i, %f, %f, %f, %f, %f, %f)", plugin_id, param_id, x_min, x_max, x_def, x_step, x_step_small, x_step_large);
qDebug("CarlaEngine::osc_send_set_parameter_ranges(%i, %i, %g, %g, %g, %g, %g, %g)", pluginId, index, min, max, def, step, stepSmall, stepLarge);
const CarlaOscData* const oscData = m_osc.getControllerData(); const CarlaOscData* const oscData = m_osc.getControllerData();
Q_ASSERT(oscData);
Q_ASSERT(pluginId >= 0 && pluginId < MAX_PLUGINS);


if (oscData->target) if (oscData->target)
{ {
char target_path[strlen(oscData->path)+22]; char target_path[strlen(oscData->path)+22];
strcpy(target_path, oscData->path); strcpy(target_path, oscData->path);
strcat(target_path, "/set_parameter_ranges"); strcat(target_path, "/set_parameter_ranges");
lo_send(oscData->target, target_path, "iiffffff", plugin_id, param_id, x_min, x_max, x_def, x_step, x_step_small, x_step_large);
lo_send(oscData->target, target_path, "iidddddd", pluginId, index, min, max, def, step, stepSmall, stepLarge);
} }
} }


void CarlaEngine::osc_send_set_parameter_midi_channel(int plugin_id, int parameter_id, int midi_channel)
void CarlaEngine::osc_send_set_parameter_midi_cc(const int32_t pluginId, const int32_t index, const int32_t cc)
{ {
qDebug("CarlaEngine::osc_send_set_parameter_midi_channel(%i, %i, %i)", plugin_id, parameter_id, midi_channel);
const CarlaOscData* const oscData = m_osc.getControllerData();

if (oscData->target)
{
char target_path[strlen(oscData->path)+28];
strcpy(target_path, oscData->path);
strcat(target_path, "/set_parameter_midi_channel");
lo_send(oscData->target, target_path, "iii", plugin_id, parameter_id, midi_channel);
}
}

void CarlaEngine::osc_send_set_parameter_midi_cc(int plugin_id, int parameter_id, int midi_cc)
{
qDebug("CarlaEngine::osc_send_set_parameter_midi_cc(%i, %i, %i)", plugin_id, parameter_id, midi_cc);
qDebug("CarlaEngine::osc_send_set_parameter_midi_cc(%i, %i, %i)", pluginId, index, cc);
const CarlaOscData* const oscData = m_osc.getControllerData(); const CarlaOscData* const oscData = m_osc.getControllerData();
Q_ASSERT(oscData);
Q_ASSERT(pluginId >= 0 && pluginId < MAX_PLUGINS);


if (oscData->target) if (oscData->target)
{ {
char target_path[strlen(oscData->path)+23]; char target_path[strlen(oscData->path)+23];
strcpy(target_path, oscData->path); strcpy(target_path, oscData->path);
strcat(target_path, "/set_parameter_midi_cc"); strcat(target_path, "/set_parameter_midi_cc");
lo_send(oscData->target, target_path, "iii", plugin_id, parameter_id, midi_cc);
lo_send(oscData->target, target_path, "iii", pluginId, index, cc);
} }
} }


void CarlaEngine::osc_send_set_default_value(int plugin_id, int param_id, double value)
void CarlaEngine::osc_send_set_parameter_midi_channel(const int32_t pluginId, const int32_t index, const int32_t channel)
{ {
qDebug("CarlaEngine::osc_send_set_default_value(%i, %i, %f)", plugin_id, param_id, value);
qDebug("CarlaEngine::osc_send_set_parameter_midi_channel(%i, %i, %i)", pluginId, index, channel);
const CarlaOscData* const oscData = m_osc.getControllerData(); const CarlaOscData* const oscData = m_osc.getControllerData();
Q_ASSERT(oscData);
Q_ASSERT(pluginId >= 0 && pluginId < MAX_PLUGINS);


if (oscData->target) if (oscData->target)
{ {
char target_path[strlen(oscData->path)+19];
char target_path[strlen(oscData->path)+28];
strcpy(target_path, oscData->path); strcpy(target_path, oscData->path);
strcat(target_path, "/set_default_value");
lo_send(oscData->target, target_path, "iif", plugin_id, param_id, value);
strcat(target_path, "/set_parameter_midi_channel");
lo_send(oscData->target, target_path, "iii", pluginId, index, channel);
} }
} }


void CarlaEngine::osc_send_set_input_peak_value(int plugin_id, int port_id, double value)
void CarlaEngine::osc_send_set_parameter_value(const int32_t pluginId, const int32_t index, const double value)
{ {
qDebug("CarlaEngine::osc_send_set_input_peak_value(%i, %i, %f)", plugin_id, port_id, value);
#if DEBUG
if (index < 0)
qDebug("CarlaEngine::osc_send_set_parameter_value(%i, %s, %g)", pluginId, InternalParametersIndex2str((InternalParametersIndex)index), value);
else
qDebug("CarlaEngine::osc_send_set_parameter_value(%i, %i, %g)", pluginId, index, value);
#endif
const CarlaOscData* const oscData = m_osc.getControllerData(); const CarlaOscData* const oscData = m_osc.getControllerData();
Q_ASSERT(oscData);
Q_ASSERT(pluginId >= 0 && pluginId < MAX_PLUGINS);


if (oscData->target) if (oscData->target)
{ {
char target_path[strlen(oscData->path)+22];
char target_path[strlen(oscData->path)+21];
strcpy(target_path, oscData->path); strcpy(target_path, oscData->path);
strcat(target_path, "/set_input_peak_value");
lo_send(oscData->target, target_path, "iif", plugin_id, port_id, value);
strcat(target_path, "/set_parameter_value");
lo_send(oscData->target, target_path, "iid", pluginId, index, value);
} }
} }


void CarlaEngine::osc_send_set_output_peak_value(int plugin_id, int port_id, double value)
void CarlaEngine::osc_send_set_default_value(const int32_t pluginId, const int32_t index, const double value)
{ {
qDebug("CarlaEngine::osc_send_set_output_peak_value(%i, %i, %f)", plugin_id, port_id, value);
qDebug("CarlaEngine::osc_send_set_default_value(%i, %i, %g)", pluginId, index, value);
const CarlaOscData* const oscData = m_osc.getControllerData(); const CarlaOscData* const oscData = m_osc.getControllerData();
Q_ASSERT(oscData);
Q_ASSERT(pluginId >= 0 && pluginId < MAX_PLUGINS);


if (oscData->target) if (oscData->target)
{ {
char target_path[strlen(oscData->path)+23];
char target_path[strlen(oscData->path)+19];
strcpy(target_path, oscData->path); strcpy(target_path, oscData->path);
strcat(target_path, "/set_output_peak_value");
lo_send(oscData->target, target_path, "iif", plugin_id, port_id, value);
strcat(target_path, "/set_default_value");
lo_send(oscData->target, target_path, "iid", pluginId, index, value);
} }
} }


void CarlaEngine::osc_send_set_program(int plugin_id, int program_id)
void CarlaEngine::osc_send_set_program(const int32_t pluginId, const int32_t index)
{ {
qDebug("CarlaEngine::osc_send_set_program(%i, %i)", plugin_id, program_id);
qDebug("CarlaEngine::osc_send_set_program(%i, %i)", pluginId, index);
const CarlaOscData* const oscData = m_osc.getControllerData(); const CarlaOscData* const oscData = m_osc.getControllerData();
Q_ASSERT(oscData);
Q_ASSERT(pluginId >= 0 && pluginId < MAX_PLUGINS);


if (oscData->target) if (oscData->target)
{ {
char target_path[strlen(oscData->path)+13]; char target_path[strlen(oscData->path)+13];
strcpy(target_path, oscData->path); strcpy(target_path, oscData->path);
strcat(target_path, "/set_program"); strcat(target_path, "/set_program");
lo_send(oscData->target, target_path, "ii", plugin_id, program_id);
lo_send(oscData->target, target_path, "ii", pluginId, index);
} }
} }


void CarlaEngine::osc_send_set_program_count(int plugin_id, int program_count)
void CarlaEngine::osc_send_set_program_count(const int32_t pluginId, const int32_t count)
{ {
qDebug("CarlaEngine::osc_send_set_program_count(%i, %i)", plugin_id, program_count);
qDebug("CarlaEngine::osc_send_set_program_count(%i, %i)", pluginId, count);
const CarlaOscData* const oscData = m_osc.getControllerData(); const CarlaOscData* const oscData = m_osc.getControllerData();
Q_ASSERT(oscData);
Q_ASSERT(pluginId >= 0 && pluginId < MAX_PLUGINS);


if (oscData->target) if (oscData->target)
{ {
char target_path[strlen(oscData->path)+19]; char target_path[strlen(oscData->path)+19];
strcpy(target_path, oscData->path); strcpy(target_path, oscData->path);
strcat(target_path, "/set_program_count"); strcat(target_path, "/set_program_count");
lo_send(oscData->target, target_path, "ii", plugin_id, program_count);
lo_send(oscData->target, target_path, "ii", pluginId, count);
} }
} }


void CarlaEngine::osc_send_set_program_name(int plugin_id, int program_id, const char* program_name)
void CarlaEngine::osc_send_set_program_name(const int32_t plugin_id, const int32_t program_id, const char* const program_name)
{ {
qDebug("CarlaEngine::osc_send_set_program_name(%i, %i, %s)", plugin_id, program_id, program_name); qDebug("CarlaEngine::osc_send_set_program_name(%i, %i, %s)", plugin_id, program_id, program_name);
const CarlaOscData* const oscData = m_osc.getControllerData(); const CarlaOscData* const oscData = m_osc.getControllerData();
Q_ASSERT(oscData);
Q_ASSERT(pluginId >= 0 && pluginId < MAX_PLUGINS);


if (oscData->target) if (oscData->target)
{ {
@@ -1052,10 +1053,12 @@ void CarlaEngine::osc_send_set_program_name(int plugin_id, int program_id, const
} }
} }


void CarlaEngine::osc_send_set_midi_program(int plugin_id, int midi_program_id)
void CarlaEngine::osc_send_set_midi_program(const int32_t plugin_id, const int32_t midi_program_id)
{ {
qDebug("CarlaEngine::osc_send_set_midi_program(%i, %i)", plugin_id, midi_program_id); qDebug("CarlaEngine::osc_send_set_midi_program(%i, %i)", plugin_id, midi_program_id);
const CarlaOscData* const oscData = m_osc.getControllerData(); const CarlaOscData* const oscData = m_osc.getControllerData();
Q_ASSERT(oscData);
Q_ASSERT(pluginId >= 0 && pluginId < MAX_PLUGINS);


if (oscData->target) if (oscData->target)
{ {
@@ -1066,10 +1069,12 @@ void CarlaEngine::osc_send_set_midi_program(int plugin_id, int midi_program_id)
} }
} }


void CarlaEngine::osc_send_set_midi_program_count(int plugin_id, int midi_program_count)
void CarlaEngine::osc_send_set_midi_program_count(const int32_t plugin_id, const int32_t count)
{ {
qDebug("CarlaEngine::osc_send_set_midi_program_count(%i, %i)", plugin_id, midi_program_count); qDebug("CarlaEngine::osc_send_set_midi_program_count(%i, %i)", plugin_id, midi_program_count);
const CarlaOscData* const oscData = m_osc.getControllerData(); const CarlaOscData* const oscData = m_osc.getControllerData();
Q_ASSERT(oscData);
Q_ASSERT(pluginId >= 0 && pluginId < MAX_PLUGINS);


if (oscData->target) if (oscData->target)
{ {
@@ -1080,10 +1085,12 @@ void CarlaEngine::osc_send_set_midi_program_count(int plugin_id, int midi_progra
} }
} }


void CarlaEngine::osc_send_set_midi_program_data(int plugin_id, int midi_program_id, int bank_id, int program_id, const char* midi_program_name)
void CarlaEngine::osc_send_set_midi_program_data(const int32_t plugin_id, const int32_t midi_program_id, const int32_t bank_id, const int32_t program_id, const char* const midi_program_name)
{ {
qDebug("CarlaEngine::osc_send_set_midi_program_data(%i, %i, %i, %i, %s)", plugin_id, midi_program_id, bank_id, program_id, midi_program_name); qDebug("CarlaEngine::osc_send_set_midi_program_data(%i, %i, %i, %i, %s)", plugin_id, midi_program_id, bank_id, program_id, midi_program_name);
const CarlaOscData* const oscData = m_osc.getControllerData(); const CarlaOscData* const oscData = m_osc.getControllerData();
Q_ASSERT(oscData);
Q_ASSERT(pluginId >= 0 && pluginId < MAX_PLUGINS);


if (oscData->target) if (oscData->target)
{ {
@@ -1094,10 +1101,44 @@ void CarlaEngine::osc_send_set_midi_program_data(int plugin_id, int midi_program
} }
} }


void CarlaEngine::osc_send_note_on(int plugin_id, int channel, int note, int velo)
void CarlaEngine::osc_send_set_input_peak_value(const int32_t plugin_id, const int32_t port_id, const double value)
{
qDebug("CarlaEngine::osc_send_set_input_peak_value(%i, %i, %f)", plugin_id, port_id, value);
const CarlaOscData* const oscData = m_osc.getControllerData();
Q_ASSERT(oscData);
Q_ASSERT(pluginId >= 0 && pluginId < MAX_PLUGINS);

if (oscData->target)
{
char target_path[strlen(oscData->path)+22];
strcpy(target_path, oscData->path);
strcat(target_path, "/set_input_peak_value");
lo_send(oscData->target, target_path, "iid", plugin_id, port_id, value);
}
}

void CarlaEngine::osc_send_set_output_peak_value(const int32_t plugin_id, const int32_t port_id, const double value)
{
qDebug("CarlaEngine::osc_send_set_output_peak_value(%i, %i, %f)", plugin_id, port_id, value);
const CarlaOscData* const oscData = m_osc.getControllerData();
Q_ASSERT(oscData);
Q_ASSERT(pluginId >= 0 && pluginId < MAX_PLUGINS);

if (oscData->target)
{
char target_path[strlen(oscData->path)+23];
strcpy(target_path, oscData->path);
strcat(target_path, "/set_output_peak_value");
lo_send(oscData->target, target_path, "iid", plugin_id, port_id, value);
}
}

void CarlaEngine::osc_send_note_on(const int32_t plugin_id, const int32_t channel, const int32_t note, const int32_t velo)
{ {
qDebug("CarlaEngine::osc_send_note_on(%i, %i, %i, %i)", plugin_id, channel, note, velo); qDebug("CarlaEngine::osc_send_note_on(%i, %i, %i, %i)", plugin_id, channel, note, velo);
const CarlaOscData* const oscData = m_osc.getControllerData(); const CarlaOscData* const oscData = m_osc.getControllerData();
Q_ASSERT(oscData);
Q_ASSERT(pluginId >= 0 && pluginId < MAX_PLUGINS);


if (oscData->target) if (oscData->target)
{ {
@@ -1108,10 +1149,12 @@ void CarlaEngine::osc_send_note_on(int plugin_id, int channel, int note, int vel
} }
} }


void CarlaEngine::osc_send_note_off(int plugin_id, int channel, int note)
void CarlaEngine::osc_send_note_off(const int32_t plugin_id, const int32_t channel, const int32_t note)
{ {
qDebug("CarlaEngine::osc_send_note_off(%i, %i, %i)", plugin_id, channel, note); qDebug("CarlaEngine::osc_send_note_off(%i, %i, %i)", plugin_id, channel, note);
const CarlaOscData* const oscData = m_osc.getControllerData(); const CarlaOscData* const oscData = m_osc.getControllerData();
Q_ASSERT(oscData);
Q_ASSERT(pluginId >= 0 && pluginId < MAX_PLUGINS);


if (oscData->target) if (oscData->target)
{ {
@@ -1126,6 +1169,7 @@ void CarlaEngine::osc_send_exit()
{ {
qDebug("CarlaEngine::osc_send_exit()"); qDebug("CarlaEngine::osc_send_exit()");
const CarlaOscData* const oscData = m_osc.getControllerData(); const CarlaOscData* const oscData = m_osc.getControllerData();
Q_ASSERT(oscData);


if (oscData->target) if (oscData->target)
{ {


+ 24
- 20
c++/carla-backend/carla_engine.h View File

@@ -313,26 +313,30 @@ public:
return m_osc.getServerPath(); return m_osc.getServerPath();
} }


void osc_send_add_plugin(int plugin_id, const char* plugin_name);
void osc_send_remove_plugin(int plugin_id);
void osc_send_set_plugin_data(int plugin_id, int type, int category, int hints, const char* real_name, const char* label, const char* maker, const char* copyright, long unique_id);
void osc_send_set_plugin_ports(int plugin_id, int ains, int aouts, int mins, int mouts, int cins, int couts, int ctotals);
void osc_send_set_parameter_value(int plugin_id, int param_id, double value);
void osc_send_set_parameter_data(int plugin_id, int param_id, int ptype, int hints, const char* name, const char* label, double current);
void osc_send_set_parameter_ranges(int plugin_id, int param_id, double x_min, double x_max, double x_def, double x_step, double x_step_small, double x_step_large);
void osc_send_set_parameter_midi_channel(int plugin_id, int parameter_id, int midi_channel);
void osc_send_set_parameter_midi_cc(int plugin_id, int parameter_id, int midi_cc);
void osc_send_set_default_value(int plugin_id, int param_id, double value);
void osc_send_set_program(int plugin_id, int program_id);
void osc_send_set_program_count(int plugin_id, int program_count);
void osc_send_set_program_name(int plugin_id, int program_id, const char* program_name);
void osc_send_set_midi_program(int plugin_id, int midi_program_id);
void osc_send_set_midi_program_count(int plugin_id, int midi_program_count);
void osc_send_set_midi_program_data(int plugin_id, int midi_program_id, int bank_id, int program_id, const char* midi_program_name);
void osc_send_set_input_peak_value(int plugin_id, int port_id, double value);
void osc_send_set_output_peak_value(int plugin_id, int port_id, double value);
void osc_send_note_on(int plugin_id, int channel, int note, int velo);
void osc_send_note_off(int plugin_id, int channel, int note);
void osc_send_add_plugin(const int32_t pluginId, const char* const pluginName);
void osc_send_remove_plugin(const int32_t pluginId);
void osc_send_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 osc_send_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 osc_send_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 label, const double current);
void osc_send_set_parameter_ranges(const int32_t pluginId, const int32_t index, const double min, const double max, const double def,
const double step, const double stepSmall, const double stepLarge);
void osc_send_set_parameter_midi_cc(const int32_t pluginId, const int32_t index, const int32_t cc);
void osc_send_set_parameter_midi_channel(const int32_t pluginId, const int32_t index, const int32_t channel);
void osc_send_set_parameter_value(const int32_t pluginId, const int32_t index, const double value);
void osc_send_set_default_value(const int32_t pluginId, const int32_t index, const double value);
void osc_send_set_program(const int32_t pluginId, const int32_t index);
void osc_send_set_program_count(int32_t pluginId, int program_count);
void osc_send_set_program_name(int32_t pluginId, int program_id, const char* program_name);
void osc_send_set_midi_program(int32_t pluginId, int midi_program_id);
void osc_send_set_midi_program_count(int32_t pluginId, int midi_program_count);
void osc_send_set_midi_program_data(int32_t pluginId, int midi_program_id, int bank_id, int program_id, const char* midi_program_name);
void osc_send_set_input_peak_value(int32_t pluginId, int port_id, double value);
void osc_send_set_output_peak_value(int32_t pluginId, int port_id, double value);
void osc_send_note_on(int32_t pluginId, int channel, int note, int velo);
void osc_send_note_off(int32_t pluginId, int channel, int note);
void osc_send_exit(); void osc_send_exit();


#ifndef BUILD_BRIDGE #ifndef BUILD_BRIDGE


+ 20
- 20
c++/carla-includes/carla_osc_includes.h View File

@@ -20,7 +20,7 @@


#include "carla_includes.h" #include "carla_includes.h"


#include <cassert>
#include <cstdint>
#include <cstring> #include <cstring>
#include <lo/lo.h> #include <lo/lo.h>


@@ -33,7 +33,7 @@ struct CarlaOscData {
static inline static inline
void osc_clear_data(CarlaOscData* const oscData) void osc_clear_data(CarlaOscData* const oscData)
{ {
qDebug("osc_clear_data(%p, path:\"%s\")", oscData, oscData->path);
qDebug("osc_clear_data(path:\"%s\")", oscData->path);


if (oscData->path) if (oscData->path)
free((void*)oscData->path); free((void*)oscData->path);
@@ -44,7 +44,7 @@ void osc_clear_data(CarlaOscData* const oscData)
if (oscData->target) if (oscData->target)
lo_address_free(oscData->target); lo_address_free(oscData->target);


oscData->path = nullptr;
oscData->path = nullptr;
oscData->source = nullptr; oscData->source = nullptr;
oscData->target = nullptr; oscData->target = nullptr;
} }
@@ -53,8 +53,8 @@ static inline
void osc_send_configure(const CarlaOscData* const oscData, const char* const key, const char* const value) void osc_send_configure(const CarlaOscData* const oscData, const char* const key, const char* const value)
{ {
qDebug("osc_send_configure(path:\"%s\", \"%s\", \"%s\")", oscData->path, key, value); qDebug("osc_send_configure(path:\"%s\", \"%s\", \"%s\")", oscData->path, key, value);
assert(key);
assert(value);
Q_ASSERT(key);
Q_ASSERT(value);


if (oscData->target) if (oscData->target)
{ {
@@ -66,7 +66,7 @@ void osc_send_configure(const CarlaOscData* const oscData, const char* const key
} }


static inline static inline
void osc_send_control(const CarlaOscData* const oscData, const int index, const float value)
void osc_send_control(const CarlaOscData* const oscData, const int32_t index, const float value)
{ {
qDebug("osc_send_control(path:\"%s\", %i, %f)", oscData->path, index, value); qDebug("osc_send_control(path:\"%s\", %i, %f)", oscData->path, index, value);


@@ -80,10 +80,10 @@ void osc_send_control(const CarlaOscData* const oscData, const int index, const
} }


static inline static inline
void osc_send_program(const CarlaOscData* const oscData, const int index)
void osc_send_program(const CarlaOscData* const oscData, const int32_t index)
{ {
qDebug("osc_send_program(path:\"%s\", %i)", oscData->path, index); qDebug("osc_send_program(path:\"%s\", %i)", oscData->path, index);
assert(index >= 0);
Q_ASSERT(index >= 0);


if (oscData->target) if (oscData->target)
{ {
@@ -95,11 +95,11 @@ void osc_send_program(const CarlaOscData* const oscData, const int index)
} }


static inline static inline
void osc_send_program(const CarlaOscData* const oscData, const int bank, const int program)
void osc_send_program(const CarlaOscData* const oscData, const int32_t bank, const int32_t program)
{ {
qDebug("osc_send_program(path:\"%s\", %i, %i)", oscData->path, bank, program); qDebug("osc_send_program(path:\"%s\", %i, %i)", oscData->path, bank, program);
assert(program >= 0);
assert(bank >= 0);
Q_ASSERT(program >= 0);
Q_ASSERT(bank >= 0);


if (oscData->target) if (oscData->target)
{ {
@@ -111,10 +111,10 @@ void osc_send_program(const CarlaOscData* const oscData, const int bank, const i
} }


static inline static inline
void osc_send_midi_program(const CarlaOscData* const oscData, const int index)
void osc_send_midi_program(const CarlaOscData* const oscData, const int32_t index)
{ {
qDebug("osc_send_midi_program(path:\"%s\", %i)", oscData->path, index); qDebug("osc_send_midi_program(path:\"%s\", %i)", oscData->path, index);
assert(index >= 0);
Q_ASSERT(index >= 0);


if (oscData->target) if (oscData->target)
{ {
@@ -128,9 +128,9 @@ void osc_send_midi_program(const CarlaOscData* const oscData, const int index)
static inline static inline
void osc_send_midi(const CarlaOscData* const oscData, const uint8_t buf[4]) void osc_send_midi(const CarlaOscData* const oscData, const uint8_t buf[4])
{ {
qDebug("osc_send_midi(path:\"%s\", 0x%X, %03i, %03i)", oscData->path, buf[1], buf[2], buf[3]);
assert(buf[0] == 0);
assert(buf[1] != 0);
qDebug("osc_send_midi(path:\"%s\", 0x%X, %03u, %03u)", oscData->path, buf[1], buf[2], buf[3]);
Q_ASSERT(buf[0] == 0);
Q_ASSERT(buf[1] != 0);


if (oscData->target) if (oscData->target)
{ {
@@ -145,7 +145,7 @@ void osc_send_midi(const CarlaOscData* const oscData, const uint8_t buf[4])
static inline static inline
void osc_send_update(const CarlaOscData* const oscData, const char* const url) void osc_send_update(const CarlaOscData* const oscData, const char* const url)
{ {
qDebug("osc_send_update(path:\"%s\", %s)", oscData->path, url);
qDebug("osc_send_update(path:\"%s\", \"%s\")", oscData->path, url);


if (oscData->target) if (oscData->target)
{ {
@@ -232,9 +232,9 @@ static inline
void osc_send_lv2_event_transfer(const CarlaOscData* const oscData, const char* const type, const char* const key, const char* const value) void osc_send_lv2_event_transfer(const CarlaOscData* const oscData, const char* const type, const char* const key, const char* const value)
{ {
qDebug("osc_send_lv2_event_transfer(path:\"%s\", \"%s\", \"%s\", \"%s\")", oscData->path, type, key, value); qDebug("osc_send_lv2_event_transfer(path:\"%s\", \"%s\", \"%s\", \"%s\")", oscData->path, type, key, value);
assert(type);
assert(key);
assert(value);
Q_ASSERT(type);
Q_ASSERT(key);
Q_ASSERT(value);


if (oscData->target) if (oscData->target)
{ {


+ 1
- 1
c++/jack_utils.h View File

@@ -1,6 +1,6 @@
/* /*
* Common JACK code * Common JACK code
* Copyright (C) 2011-2012 Filipe Coelho <falktx@gmail.com>
* Copyright (C) 2012 Filipe Coelho <falktx@gmail.com>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by


+ 2
- 2
c++/jackmeter/Makefile View File

@@ -29,7 +29,7 @@ cadence_jackmeter: $(OBJS)
$(CXX) $^ $(LINK_FLAGS) -o $@ && strip $@ $(CXX) $^ $(LINK_FLAGS) -o $@ && strip $@


cadence_jackmeter.exe: $(OBJS) cadence_jackmeter.exe: $(OBJS)
$(CXX) $^ -static $(LINK_FLAGS) -o $@ && strip $@
$(CXX) $^ -static -mwindows $(LINK_FLAGS) -o $@ && strip $@


# -------------------------------------------------------------- # --------------------------------------------------------------


@@ -37,4 +37,4 @@ cadence_jackmeter.exe: $(OBJS)
$(CXX) -c $< $(BUILD_FLAGS) -o $@ $(CXX) -c $< $(BUILD_FLAGS) -o $@


clean: clean:
rm -f $(OBJS) cadence_jackmeter cadence_jackmeter.exe
rm -f $(OBJS) cadence_jackmeter*

+ 1
- 0
c++/jackmeter/jackmeter.cpp View File

@@ -137,6 +137,7 @@ public:
{ {
setWindowFlags(Qt::Tool | Qt::WindowStaysOnTopHint); setWindowFlags(Qt::Tool | Qt::WindowStaysOnTopHint);
setWindowTitle("M"); setWindowTitle("M");

setChannels(2); setChannels(2);
setOrientation(VERTICAL); setOrientation(VERTICAL);
setSmoothRelease(1); setSmoothRelease(1);


+ 5
- 6
src/pixmapdial.py View File

@@ -25,6 +25,7 @@ class PixmapDial(QDial):
HORIZONTAL = 0 HORIZONTAL = 0
VERTICAL = 1 VERTICAL = 1


CUSTOM_PAINT_NULL = 0
CUSTOM_PAINT_CARLA_WET = 1 CUSTOM_PAINT_CARLA_WET = 1
CUSTOM_PAINT_CARLA_VOL = 2 CUSTOM_PAINT_CARLA_VOL = 2
CUSTOM_PAINT_CARLA_L = 3 CUSTOM_PAINT_CARLA_L = 3
@@ -38,7 +39,7 @@ class PixmapDial(QDial):


self.m_pixmap = QPixmap(":/bitmaps/dial_01d.png") self.m_pixmap = QPixmap(":/bitmaps/dial_01d.png")
self.m_pixmap_n_str = "01" self.m_pixmap_n_str = "01"
self.m_custom_paint = 0
self.m_custom_paint = CUSTOM_PAINT_NULL


self.m_hovered = False self.m_hovered = False
self.m_hover_step = self.HOVER_MIN self.m_hover_step = self.HOVER_MIN
@@ -124,7 +125,7 @@ class PixmapDial(QDial):
return QSize(self.p_size, self.p_size) return QSize(self.p_size, self.p_size)


def updateSizes(self): def updateSizes(self):
self.p_width = self.m_pixmap.width()
self.p_width = self.m_pixmap.width()
self.p_height = self.m_pixmap.height() self.p_height = self.m_pixmap.height()


if self.p_width < 1: if self.p_width < 1:
@@ -175,11 +176,9 @@ class PixmapDial(QDial):
return return


target = QRectF(0.0, 0.0, self.p_size, self.p_size) target = QRectF(0.0, 0.0, self.p_size, self.p_size)
value = (current / divider)
value = current / divider


## Regular knobs
#else:
per = int((self.p_count - 1) * (current / divider))
per = int((self.p_count - 1) * value)


if self.m_orientation == self.HORIZONTAL: if self.m_orientation == self.HORIZONTAL:
xpos = self.p_size * per xpos = self.p_size * per


+ 2
- 2
src/pixmapkeyboard.py View File

@@ -132,7 +132,7 @@ class PixmapKeyboard(QWidget):
elif color == self.COLOR_ORANGE: elif color == self.COLOR_ORANGE:
self.m_colorStr = "orange" self.m_colorStr = "orange"
else: else:
qCritical("PixmapKeyboard::setMode(%i, %i) - Invalid keyboard color" % (mode, color))
qCritical("PixmapKeyboard::setMode(%i, %i) - invalid color" % (mode, color))
return self.setMode(mode) return self.setMode(mode)


if mode == self.HORIZONTAL: if mode == self.HORIZONTAL:
@@ -148,7 +148,7 @@ class PixmapKeyboard(QWidget):
self.p_width = self.m_pixmap.width() / 2 self.p_width = self.m_pixmap.width() / 2
self.p_height = self.m_pixmap.height() self.p_height = self.m_pixmap.height()
else: else:
qCritical("PixmapKeyboard::setMode(%i, %i) - Invalid keyboard mode" % (mode, color))
qCritical("PixmapKeyboard::setMode(%i, %i) - invalid mode" % (mode, color))
return self.setMode(self.HORIZONTAL) return self.setMode(self.HORIZONTAL)


self.setOctaves(self.m_octaves) self.setOctaves(self.m_octaves)


+ 3
- 2
src/shared_carla.py View File

@@ -403,10 +403,11 @@ class PluginParameter(QWidget, ui_carla_parameter.Ui_PluginParameter):
pType = pInfo['type'] pType = pInfo['type']
pHints = pInfo['hints'] pHints = pInfo['hints']


self.m_midiCC = -1
self.m_midiCC = -1
self.m_midiChannel = 1 self.m_midiChannel = 1
self.m_pluginId = pluginId
self.m_pluginId = pluginId
self.m_parameterId = pInfo['index'] self.m_parameterId = pInfo['index']

self.m_tabIndex = tabIndex self.m_tabIndex = tabIndex


self.add_MIDI_CCs_to_ComboBox() self.add_MIDI_CCs_to_ComboBox()


+ 35
- 32
src/xycontroller.py View File

@@ -20,7 +20,6 @@
from PyQt4.QtCore import pyqtSlot, Qt, QPointF, QRectF, QSettings, QTimer from PyQt4.QtCore import pyqtSlot, Qt, QPointF, QRectF, QSettings, QTimer
from PyQt4.QtGui import QApplication, QColor, QGraphicsItem, QGraphicsScene, QMainWindow, QPainter, QPen from PyQt4.QtGui import QApplication, QColor, QGraphicsItem, QGraphicsScene, QMainWindow, QPainter, QPen
from queue import Queue, Empty as QuequeEmpty from queue import Queue, Empty as QuequeEmpty
#from Queue import Queue, Empty as QuequeEmpty


# Imports (Custom) # Imports (Custom)
import ui_xycontroller import ui_xycontroller
@@ -174,28 +173,30 @@ class XYGraphicsScene(QGraphicsScene):
self.p_size.setRect(-(size.width() / 2), -(size.height() / 2), size.width(), size.height()) self.p_size.setRect(-(size.width() / 2), -(size.height() / 2), size.width(), size.height())


def updateSmooth(self): def updateSmooth(self):
if self.m_smooth:
if self.m_cursor.x() != self.m_smooth_x or self.m_cursor.y() != self.m_smooth_y:
if abs(self.m_cursor.x() - self.m_smooth_x) <= 0.001:
self.m_smooth_x = self.m_cursor.x()
return
elif abs(self.m_cursor.y() - self.m_smooth_y) <= 0.001:
self.m_smooth_y = self.m_cursor.y()
return
if not self.m_smooth:
return

if self.m_cursor.x() != self.m_smooth_x or self.m_cursor.y() != self.m_smooth_y:
if abs(self.m_cursor.x() - self.m_smooth_x) <= 0.001:
self.m_smooth_x = self.m_cursor.x()
return
elif abs(self.m_cursor.y() - self.m_smooth_y) <= 0.001:
self.m_smooth_y = self.m_cursor.y()
return


new_x = (self.m_smooth_x + self.m_cursor.x() * 3) / 4
new_y = (self.m_smooth_y + self.m_cursor.y() * 3) / 4
pos = QPointF(new_x, new_y)
new_x = (self.m_smooth_x + self.m_cursor.x() * 3) / 4
new_y = (self.m_smooth_y + self.m_cursor.y() * 3) / 4
pos = QPointF(new_x, new_y)


self.m_cursor.setPos(pos)
self.m_lineH.setY(pos.y())
self.m_lineV.setX(pos.x())
self.m_cursor.setPos(pos)
self.m_lineH.setY(pos.y())
self.m_lineV.setX(pos.x())


xp = pos.x() / (self.p_size.x() + self.p_size.width())
yp = pos.y() / (self.p_size.y() + self.p_size.height())
xp = pos.x() / (self.p_size.x() + self.p_size.width())
yp = pos.y() / (self.p_size.y() + self.p_size.height())


self.sendMIDI(xp, yp)
self.emit(SIGNAL("cursorMoved(double, double)"), xp, yp)
self.sendMIDI(xp, yp)
self.emit(SIGNAL("cursorMoved(double, double)"), xp, yp)


def keyPressEvent(self, event): def keyPressEvent(self, event):
event.accept() event.accept()
@@ -549,16 +550,18 @@ def jack_process_callback(nframes, arg):
event_count = jacklib.midi_get_event_count(midi_in_buffer) event_count = jacklib.midi_get_event_count(midi_in_buffer)


for i in range(event_count): for i in range(event_count):
if jacklib.midi_event_get(jacklib.pointer(static_event), midi_in_buffer, i) == 0:
if static_event.size == 1:
jack_midi_in_data.put_nowait((static_event.buffer[0], 0, 0))
elif static_event.size == 2:
jack_midi_in_data.put_nowait((static_event.buffer[0], static_event.buffer[1], 0))
elif static_event.size >= 3:
jack_midi_in_data.put_nowait((static_event.buffer[0], static_event.buffer[1], static_event.buffer[2]))

if jack_midi_in_data.full():
break
if jacklib.midi_event_get(jacklib.pointer(static_event), midi_in_buffer, i) != 0:
break

if static_event.size == 1:
jack_midi_in_data.put_nowait((static_event.buffer[0], 0, 0))
elif static_event.size == 2:
jack_midi_in_data.put_nowait((static_event.buffer[0], static_event.buffer[1], 0))
elif static_event.size >= 3:
jack_midi_in_data.put_nowait((static_event.buffer[0], static_event.buffer[1], static_event.buffer[2]))

if jack_midi_in_data.full():
break


# MIDI Out # MIDI Out
midi_out_buffer = jacklib.port_get_buffer(jack_midi_out_port, nframes) midi_out_buffer = jacklib.port_get_buffer(jack_midi_out_port, nframes)
@@ -602,7 +605,7 @@ if __name__ == '__main__':
app = QApplication(sys.argv) app = QApplication(sys.argv)
app.setApplicationName("XY-Controller") app.setApplicationName("XY-Controller")
app.setApplicationVersion(VERSION) app.setApplicationVersion(VERSION)
app.setOrganizationName("falkTX")
app.setOrganizationName("Cadence")
#app.setWindowIcon(QIcon(":/48x48/xy-controller.png")) #app.setWindowIcon(QIcon(":/48x48/xy-controller.png"))


# Start jack # Start jack
@@ -612,11 +615,11 @@ if __name__ == '__main__':
if not jack_client: if not jack_client:
errorString = get_jack_status_error_string(jack_status) errorString = get_jack_status_error_string(jack_status)
QMessageBox.critical(None, app.translate("XYControllerW", "Error"), app.translate("XYControllerW", QMessageBox.critical(None, app.translate("XYControllerW", "Error"), app.translate("XYControllerW",
"Could not connect to JACK, possible errors:\n"
"Could not connect to JACK, possible reasons:\n"
"%s" % errorString)) "%s" % errorString))
sys.exit(1) sys.exit(1)


jack_midi_in_port = jacklib.port_register(jack_client, "midi_in", jacklib.JACK_DEFAULT_MIDI_TYPE, jacklib.JackPortIsInput, 0)
jack_midi_in_port = jacklib.port_register(jack_client, "midi_in", jacklib.JACK_DEFAULT_MIDI_TYPE, jacklib.JackPortIsInput, 0)
jack_midi_out_port = jacklib.port_register(jack_client, "midi_out", jacklib.JACK_DEFAULT_MIDI_TYPE, jacklib.JackPortIsOutput, 0) jack_midi_out_port = jacklib.port_register(jack_client, "midi_out", jacklib.JACK_DEFAULT_MIDI_TYPE, jacklib.JackPortIsOutput, 0)
jacklib.set_session_callback(jack_client, jack_session_callback, None) jacklib.set_session_callback(jack_client, jack_session_callback, None)
jacklib.set_process_callback(jack_client, jack_process_callback, None) jacklib.set_process_callback(jack_client, jack_process_callback, None)


Loading…
Cancel
Save