Browse Source

Carla: cleanup; fix build

tags/v0.9.0
falkTX 13 years ago
parent
commit
05834f0051
6 changed files with 611 additions and 532 deletions
  1. +3
    -1
      c++/carla-backend/carla_plugin.h
  2. +18
    -18
      c++/carla-backend/dssi.cpp
  3. +19
    -16
      c++/carla-backend/ladspa.cpp
  4. +566
    -495
      c++/carla-backend/lv2.cpp
  5. +4
    -2
      c++/carla-backend/vst.cpp
  6. +1
    -0
      c++/carla-includes/carla_osc_includes.h

+ 3
- 1
c++/carla-backend/carla_plugin.h View File

@@ -1102,7 +1102,9 @@ public:
break;
case CUSTOM_DATA_STRING:
// Ignore some keys
if (strncmp(key, "OSC:", 4) == 0 || strcmp(key, "guiVisible") == 0 || strcmp(key, CARLA_BRIDGE_MSG_SAVE_NOW) == 0 || strcmp(key, CARLA_BRIDGE_MSG_SET_CHUNK) == 0 || strcmp(key, CARLA_BRIDGE_MSG_SET_CUSTOM) == 0)
if (strncmp(key, "OSC:", 4) == 0 || strcmp(key, "guiVisible") == 0)
saveData = false;
else if (strcmp(key, CARLA_BRIDGE_MSG_SAVE_NOW) == 0 || strcmp(key, CARLA_BRIDGE_MSG_SET_CHUNK) == 0 || strcmp(key, CARLA_BRIDGE_MSG_SET_CUSTOM) == 0)
saveData = false;
break;
default:


+ 18
- 18
c++/carla-backend/dssi.cpp View File

@@ -46,7 +46,7 @@ public:
descriptor = nullptr;
ldescriptor = nullptr;

param_buffers = nullptr;
paramBuffers = nullptr;

memset(midiEvents, 0, sizeof(snd_seq_event_t)*MAX_MIDI_EVENTS);
}
@@ -137,7 +137,7 @@ public:
{
Q_ASSERT(parameterId < param.count);

return param_buffers[parameterId];
return paramBuffers[parameterId];
}

void getLabel(char* const strBuf)
@@ -209,7 +209,7 @@ public:
{
Q_ASSERT(parameterId < param.count);

param_buffers[parameterId] = fixParameterValue(value, param.ranges[parameterId]);
paramBuffers[parameterId] = fixParameterValue(value, param.ranges[parameterId]);

CarlaPlugin::setParameterValue(parameterId, value, sendGui, sendOsc, sendCallback);
}
@@ -221,7 +221,7 @@ public:
Q_ASSERT(value);

if (type != CUSTOM_DATA_STRING)
return qCritical("CarlaPlugin::setCustomData(%s, \"%s\", \"%s\", %s) - type is not string", CustomDataType2str(type), key, value, bool2str(sendGui));
return qCritical("DssiPlugin::setCustomData(%s, \"%s\", \"%s\", %s) - type is not string", CustomDataType2str(type), key, value, bool2str(sendGui));

if (! key)
return qCritical("DssiPlugin::setCustomData(%s, \"%s\", \"%s\", %s) - key is null", CustomDataType2str(type), key, value, bool2str(sendGui));
@@ -259,7 +259,7 @@ public:
}
else
{
const ScopedDisabler m(this);
const CarlaPlugin::ScopedDisabler m(this);
descriptor->set_custom_data(handle, chunk.data(), chunk.size());
}
}
@@ -397,9 +397,9 @@ public:

if (params > 0)
{
param.data = new ParameterData[params];
param.ranges = new ParameterRanges[params];
param_buffers = new float[params];
param.data = new ParameterData[params];
param.ranges = new ParameterRanges[params];
paramBuffers = new float[params];
}

const int portNameSize = CarlaEngine::maxPortNameSize() - 1;
@@ -433,7 +433,7 @@ public:

if (forcedStereoIn)
{
strcat(portName, "-2");
strcat(portName, "_");
aIn.ports[1] = (CarlaEngineAudioPort*)x_client->addPort(CarlaEnginePortTypeAudio, portName, true);
aIn.rindexes[1] = i;
}
@@ -447,7 +447,7 @@ public:

if (forcedStereoOut)
{
strcat(portName, "-2");
strcat(portName, "_");
aOut.ports[1] = (CarlaEngineAudioPort*)x_client->addPort(CarlaEnginePortTypeAudio, portName, false);
aOut.rindexes[1] = i;
}
@@ -595,10 +595,10 @@ public:
param.ranges[j].stepLarge = stepLarge;

// Start parameters in their default values
param_buffers[j] = def;
paramBuffers[j] = def;

ldescriptor->connect_port(handle, i, &param_buffers[j]);
if (h2) ldescriptor->connect_port(h2, i, &param_buffers[j]);
ldescriptor->connect_port(handle, i, &paramBuffers[j]);
if (h2) ldescriptor->connect_port(h2, i, &paramBuffers[j]);
}
else
{
@@ -1308,11 +1308,11 @@ public:
{
if (param.data[k].type == PARAMETER_OUTPUT)
{
fixParameterValue(param_buffers[k], param.ranges[k]);
fixParameterValue(paramBuffers[k], param.ranges[k]);

if (param.data[k].midiCC > 0)
{
value = (param_buffers[k] - param.ranges[k].min) / (param.ranges[k].max - param.ranges[k].min);
value = (paramBuffers[k] - param.ranges[k].min) / (param.ranges[k].max - param.ranges[k].min);
param.portCout->writeEvent(CarlaEngineEventControlChange, framesOffset, param.data[k].midiChannel, param.data[k].midiCC, value);
}
}
@@ -1397,9 +1397,9 @@ public:
qDebug("DssiPlugin::deleteBuffers() - start");

if (param.count > 0)
delete[] param_buffers;
delete[] paramBuffers;

param_buffers = nullptr;
paramBuffers = nullptr;

qDebug("DssiPlugin::deleteBuffers() - end");
}
@@ -1501,7 +1501,7 @@ private:
const DSSI_Descriptor* descriptor;
snd_seq_event_t midiEvents[MAX_MIDI_EVENTS];

float* param_buffers;
float* paramBuffers;
};

CarlaPlugin* CarlaPlugin::newDSSI(const initializer& init, const void* const extra)


+ 19
- 16
c++/carla-backend/ladspa.cpp View File

@@ -46,7 +46,7 @@ public:
descriptor = nullptr;
rdf_descriptor = nullptr;

param_buffers = nullptr;
paramBuffers = nullptr;
}

~LadspaPlugin()
@@ -151,7 +151,7 @@ public:
{
Q_ASSERT(parameterId < param.count);

return param_buffers[parameterId];
return paramBuffers[parameterId];
}

double getParameterScalePointValue(const uint32_t parameterId, const uint32_t scalePointId)
@@ -309,7 +309,10 @@ public:
const LADSPA_RDF_ScalePoint* const scalePoint = &port->ScalePoints[scalePointId];

if (scalePoint && scalePoint->Label)
{
strncpy(strBuf, scalePoint->Label, STR_MAX);
return;
}
}
}

@@ -323,7 +326,7 @@ public:
{
Q_ASSERT(parameterId < param.count);

param_buffers[parameterId] = fixParameterValue(value, param.ranges[parameterId]);
paramBuffers[parameterId] = fixParameterValue(value, param.ranges[parameterId]);

CarlaPlugin::setParameterValue(parameterId, value, sendGui, sendOsc, sendCallback);
}
@@ -402,9 +405,9 @@ public:

if (params > 0)
{
param.data = new ParameterData[params];
param.ranges = new ParameterRanges[params];
param_buffers = new float[params];
param.data = new ParameterData[params];
param.ranges = new ParameterRanges[params];
paramBuffers = new float[params];
}

const int portNameSize = CarlaEngine::maxPortNameSize() - 1;
@@ -439,7 +442,7 @@ public:

if (forcedStereoIn)
{
strcat(portName, "-2");
strcat(portName, "_");
aIn.ports[1] = (CarlaEngineAudioPort*)x_client->addPort(CarlaEnginePortTypeAudio, portName, true);
aIn.rindexes[1] = i;
}
@@ -453,7 +456,7 @@ public:

if (forcedStereoOut)
{
strcat(portName, "-2");
strcat(portName, "_");
aOut.ports[1] = (CarlaEngineAudioPort*)x_client->addPort(CarlaEnginePortTypeAudio, portName, false);
aOut.rindexes[1] = i;
}
@@ -596,10 +599,10 @@ public:
param.ranges[j].stepLarge = stepLarge;

// Start parameters in their default values
param_buffers[j] = def;
paramBuffers[j] = def;

descriptor->connect_port(handle, i, &param_buffers[j]);
if (h2) descriptor->connect_port(h2, i, &param_buffers[j]);
descriptor->connect_port(handle, i, &paramBuffers[j]);
if (h2) descriptor->connect_port(h2, i, &paramBuffers[j]);
}
else
{
@@ -993,11 +996,11 @@ public:
{
if (param.data[k].type == PARAMETER_OUTPUT)
{
fixParameterValue(param_buffers[k], param.ranges[k]);
fixParameterValue(paramBuffers[k], param.ranges[k]);

if (param.data[k].midiCC > 0)
{
value = (param_buffers[k] - param.ranges[k].min) / (param.ranges[k].max - param.ranges[k].min);
value = (paramBuffers[k] - param.ranges[k].min) / (param.ranges[k].max - param.ranges[k].min);
param.portCout->writeEvent(CarlaEngineEventControlChange, framesOffset, param.data[k].midiChannel, param.data[k].midiCC, value);
}
}
@@ -1025,9 +1028,9 @@ public:
qDebug("LadspaPlugin::deleteBuffers() - start");

if (param.count > 0)
delete[] param_buffers;
delete[] paramBuffers;

param_buffers = nullptr;
paramBuffers = nullptr;

qDebug("LadspaPlugin::deleteBuffers() - end");
}
@@ -1117,7 +1120,7 @@ private:
const LADSPA_Descriptor* descriptor;
const LADSPA_RDF_Descriptor* rdf_descriptor;

float* param_buffers;
float* paramBuffers;
};

CarlaPlugin* CarlaPlugin::newLADSPA(const initializer& init, const void* const extra)


+ 566
- 495
c++/carla-backend/lv2.cpp
File diff suppressed because it is too large
View File


+ 4
- 2
c++/carla-backend/vst.cpp View File

@@ -192,8 +192,10 @@ public:
{
if (effect->flags & effFlagsHasEditor)
{
#ifdef Q_OS_WIN
#if defined(Q_OS_WIN)
*type = GUI_INTERNAL_HWND;
#elif defined(Q_OS_MACOS)
*type = GUI_INTERNAL_COCOA;
#else
*type = GUI_INTERNAL_X11;
#endif
@@ -228,7 +230,7 @@ public:
}
else
{
const ScopedDisabler m(this);
const CarlaPlugin::ScopedDisabler m(this);
effect->dispatcher(effect, effSetChunk, 0 /* bank */, chunk.size(), chunk.data(), 0.0f);
}
}


+ 1
- 0
c++/carla-includes/carla_osc_includes.h View File

@@ -21,6 +21,7 @@
#include "carla_includes.h"

#include <cstdint>
#include <cstdlib>
#include <cstring>

#include <lo/lo.h>


Loading…
Cancel
Save