Browse Source

Fix for non-jack drivers

tags/1.9.6
falkTX 10 years ago
parent
commit
fe03459375
4 changed files with 29 additions and 26 deletions
  1. +10
    -10
      source/backend/engine/CarlaEngineGraph.cpp
  2. +7
    -6
      source/backend/engine/CarlaEngineGraph.hpp
  3. +6
    -5
      source/backend/engine/CarlaEngineJuce.cpp
  4. +6
    -5
      source/backend/engine/CarlaEngineRtAudio.cpp

+ 10
- 10
source/backend/engine/CarlaEngineGraph.cpp View File

@@ -464,14 +464,14 @@ const char* const* RackGraph::getConnections() const noexcept
{
case RACK_GRAPH_CARLA_PORT_AUDIO_IN1:
case RACK_GRAPH_CARLA_PORT_AUDIO_IN2:
std::snprintf(strBuf, STR_MAX, "AudioIn:%i", otherPort+1);
std::snprintf(strBuf, STR_MAX, "AudioIn:%i", otherPort);
connList.append(strBuf);
connList.append(getCarlaRackFullPortNameFromId(carlaPort));
break;

case RACK_GRAPH_CARLA_PORT_AUDIO_OUT1:
case RACK_GRAPH_CARLA_PORT_AUDIO_OUT2:
std::snprintf(strBuf, STR_MAX, "AudioOut:%i", otherPort+1);
std::snprintf(strBuf, STR_MAX, "AudioOut:%i", otherPort);
connList.append(getCarlaRackFullPortNameFromId(carlaPort));
connList.append(strBuf);
break;
@@ -516,7 +516,7 @@ bool RackGraph::getGroupAndPortIdFromFullName(const char* const fullPortName, ui

if (const int portTest = std::atoi(fullPortName+8))
{
portId = static_cast<uint>(portTest-1);
portId = static_cast<uint>(portTest);
return true;
}
}
@@ -526,7 +526,7 @@ bool RackGraph::getGroupAndPortIdFromFullName(const char* const fullPortName, ui

if (const int portTest = std::atoi(fullPortName+9))
{
portId = static_cast<uint>(portTest-1);
portId = static_cast<uint>(portTest);
return true;
}
}
@@ -749,10 +749,10 @@ void RackGraph::processHelper(CarlaEngine::ProtectedData* const data, const floa
for (LinkedList<uint>::Itenerator it = audio.connectedOut1.begin(); it.valid(); it.next())
{
const uint& port(it.getValue(0));
CARLA_SAFE_ASSERT_CONTINUE(port != 0);
CARLA_SAFE_ASSERT_CONTINUE(port < outputs);
CARLA_SAFE_ASSERT_CONTINUE(port > 0);
CARLA_SAFE_ASSERT_CONTINUE(port <= outputs);

FloatVectorOperations::add(outBuf[port], audio.outBuf[0], iframes);
FloatVectorOperations::add(outBuf[port-1], audio.outBuf[0], iframes);
}
}

@@ -761,10 +761,10 @@ void RackGraph::processHelper(CarlaEngine::ProtectedData* const data, const floa
for (LinkedList<uint>::Itenerator it = audio.connectedOut2.begin(); it.valid(); it.next())
{
const uint& port(it.getValue(0));
CARLA_SAFE_ASSERT_CONTINUE(port != 0);
CARLA_SAFE_ASSERT_CONTINUE(port < outputs);
CARLA_SAFE_ASSERT_CONTINUE(port > 0);
CARLA_SAFE_ASSERT_CONTINUE(port <= outputs);

FloatVectorOperations::add(outBuf[port], audio.outBuf[1], iframes);
FloatVectorOperations::add(outBuf[port-1], audio.outBuf[1], iframes);
}
}
}


+ 7
- 6
source/backend/engine/CarlaEngineGraph.hpp View File

@@ -34,12 +34,13 @@ CARLA_BACKEND_START_NAMESPACE
// Rack Graph stuff

enum RackGraphGroupIds {
RACK_GRAPH_GROUP_CARLA = 0,
RACK_GRAPH_GROUP_AUDIO_IN = 1,
RACK_GRAPH_GROUP_AUDIO_OUT = 2,
RACK_GRAPH_GROUP_MIDI_IN = 3,
RACK_GRAPH_GROUP_MIDI_OUT = 4,
RACK_GRAPH_GROUP_MAX = 5
RACK_GRAPH_GROUP_NULL = 0,
RACK_GRAPH_GROUP_CARLA = 1,
RACK_GRAPH_GROUP_AUDIO_IN = 2,
RACK_GRAPH_GROUP_AUDIO_OUT = 3,
RACK_GRAPH_GROUP_MIDI_IN = 4,
RACK_GRAPH_GROUP_MIDI_OUT = 5,
RACK_GRAPH_GROUP_MAX = 6
};

enum RackGraphCarlaPortIds {


+ 6
- 5
source/backend/engine/CarlaEngineJuce.cpp View File

@@ -320,7 +320,7 @@ public:
callback(ENGINE_CALLBACK_PATCHBAY_CLIENT_ADDED, RACK_GRAPH_GROUP_AUDIO_IN, PATCHBAY_ICON_HARDWARE, -1, 0.0f, strBuf);

for (int i=0, count=inputNames.size(); i<count; ++i)
callback(ENGINE_CALLBACK_PATCHBAY_PORT_ADDED, RACK_GRAPH_GROUP_AUDIO_IN, static_cast<int>(i), PATCHBAY_PORT_TYPE_AUDIO, 0.0f, inputNames[i].toRawUTF8());
callback(ENGINE_CALLBACK_PATCHBAY_PORT_ADDED, RACK_GRAPH_GROUP_AUDIO_IN, static_cast<int>(i)+1, PATCHBAY_PORT_TYPE_AUDIO, 0.0f, inputNames[i].toRawUTF8());
}

// Audio Out
@@ -335,7 +335,7 @@ public:
callback(ENGINE_CALLBACK_PATCHBAY_CLIENT_ADDED, RACK_GRAPH_GROUP_AUDIO_OUT, PATCHBAY_ICON_HARDWARE, -1, 0.0f, strBuf);

for (int i=0, count=outputNames.size(); i<count; ++i)
callback(ENGINE_CALLBACK_PATCHBAY_PORT_ADDED, RACK_GRAPH_GROUP_AUDIO_OUT, static_cast<int>(i), PATCHBAY_PORT_TYPE_AUDIO|PATCHBAY_PORT_IS_INPUT, 0.0f, outputNames[i].toRawUTF8());
callback(ENGINE_CALLBACK_PATCHBAY_PORT_ADDED, RACK_GRAPH_GROUP_AUDIO_OUT, static_cast<int>(i)+1, PATCHBAY_PORT_TYPE_AUDIO|PATCHBAY_PORT_IS_INPUT, 0.0f, outputNames[i].toRawUTF8());
}

// MIDI In
@@ -351,7 +351,7 @@ public:
std::snprintf(strBuf, STR_MAX, "Readable MIDI ports:%s", portName.toRawUTF8());

PortNameToId portNameToId;
portNameToId.setData(RACK_GRAPH_GROUP_MIDI_IN, static_cast<uint>(i), portName.toRawUTF8(), strBuf);
portNameToId.setData(RACK_GRAPH_GROUP_MIDI_IN, static_cast<uint>(i)+1, portName.toRawUTF8(), strBuf);

callback(ENGINE_CALLBACK_PATCHBAY_PORT_ADDED, portNameToId.group, static_cast<int>(portNameToId.port), PATCHBAY_PORT_TYPE_MIDI, 0.0f, portNameToId.name);

@@ -372,7 +372,7 @@ public:
std::snprintf(strBuf, STR_MAX, "Writable MIDI ports:%s", portName.toRawUTF8());

PortNameToId portNameToId;
portNameToId.setData(RACK_GRAPH_GROUP_MIDI_OUT, static_cast<uint>(i), portName.toRawUTF8(), strBuf);
portNameToId.setData(RACK_GRAPH_GROUP_MIDI_OUT, static_cast<uint>(i)+1, portName.toRawUTF8(), strBuf);

callback(ENGINE_CALLBACK_PATCHBAY_PORT_ADDED, portNameToId.group, static_cast<int>(portNameToId.port), PATCHBAY_PORT_TYPE_MIDI|PATCHBAY_PORT_IS_INPUT, 0.0f, portNameToId.name);

@@ -812,7 +812,8 @@ private:

void splice()
{
dataPending.moveTo(data, true /* append */);
if (dataPending.count() > 0)
dataPending.moveTo(data, true /* append */);
}
};



+ 6
- 5
source/backend/engine/CarlaEngineRtAudio.cpp View File

@@ -453,7 +453,7 @@ public:
for (uint i=0; i < fAudioInCount; ++i)
{
std::snprintf(strBuf, STR_MAX, "capture_%i", i+1);
callback(ENGINE_CALLBACK_PATCHBAY_PORT_ADDED, RACK_GRAPH_GROUP_AUDIO_IN, static_cast<int>(i), PATCHBAY_PORT_TYPE_AUDIO, 0.0f, strBuf);
callback(ENGINE_CALLBACK_PATCHBAY_PORT_ADDED, RACK_GRAPH_GROUP_AUDIO_IN, static_cast<int>(i)+1, PATCHBAY_PORT_TYPE_AUDIO, 0.0f, strBuf);
}
}

@@ -469,7 +469,7 @@ public:
for (uint i=0; i < fAudioOutCount; ++i)
{
std::snprintf(strBuf, STR_MAX, "playback_%i", i+1);
callback(ENGINE_CALLBACK_PATCHBAY_PORT_ADDED, RACK_GRAPH_GROUP_AUDIO_OUT, static_cast<int>(i), PATCHBAY_PORT_TYPE_AUDIO|PATCHBAY_PORT_IS_INPUT, 0.0f, strBuf);
callback(ENGINE_CALLBACK_PATCHBAY_PORT_ADDED, RACK_GRAPH_GROUP_AUDIO_OUT, static_cast<int>(i)+1, PATCHBAY_PORT_TYPE_AUDIO|PATCHBAY_PORT_IS_INPUT, 0.0f, strBuf);
}
}

@@ -486,7 +486,7 @@ public:
std::snprintf(strBuf, STR_MAX, "Readable MIDI ports:%s", portName.c_str());

PortNameToId portNameToId;
portNameToId.setData(RACK_GRAPH_GROUP_MIDI_IN, i, portName.c_str(), strBuf);
portNameToId.setData(RACK_GRAPH_GROUP_MIDI_IN, i+1, portName.c_str(), strBuf);

callback(ENGINE_CALLBACK_PATCHBAY_PORT_ADDED, portNameToId.group, static_cast<int>(portNameToId.port), PATCHBAY_PORT_TYPE_MIDI, 0.0f, portNameToId.name);

@@ -507,7 +507,7 @@ public:
std::snprintf(strBuf, STR_MAX, "Writable MIDI ports:%s", portName.c_str());

PortNameToId portNameToId;
portNameToId.setData(RACK_GRAPH_GROUP_MIDI_OUT, i, portName.c_str(), strBuf);
portNameToId.setData(RACK_GRAPH_GROUP_MIDI_OUT, i+1, portName.c_str(), strBuf);

callback(ENGINE_CALLBACK_PATCHBAY_PORT_ADDED, portNameToId.group, static_cast<int>(portNameToId.port), PATCHBAY_PORT_TYPE_MIDI|PATCHBAY_PORT_IS_INPUT, 0.0f, portNameToId.name);

@@ -1070,7 +1070,8 @@ private:

void splice()
{
dataPending.moveTo(data, true /* append */);
if (dataPending.count() > 0)
dataPending.moveTo(data, true /* append */);
}
};



Loading…
Cancel
Save