diff options
Diffstat (limited to 'src/server/ObjectBuffer.cpp')
-rw-r--r-- | src/server/ObjectBuffer.cpp | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/src/server/ObjectBuffer.cpp b/src/server/ObjectBuffer.cpp index b5a96dbd..407333d3 100644 --- a/src/server/ObjectBuffer.cpp +++ b/src/server/ObjectBuffer.cpp @@ -99,15 +99,17 @@ ObjectBuffer::port_data(PortType port_type, SampleCount offset) { switch (port_type.symbol()) { case PortType::CONTROL: + case PortType::CV: case PortType::AUDIO: switch (_type.symbol()) { - case PortType::CONTROL: - return (float*)LV2_ATOM_BODY(atom()); - case PortType::AUDIO: - return (float*)LV2_ATOM_CONTENTS(LV2_Atom_Vector, atom()) + offset; - default: - warn << "Audio data requested from non-audio buffer" << endl; - return NULL; + case PortType::CONTROL: + return (float*)LV2_ATOM_BODY(atom()); + case PortType::CV: + case PortType::AUDIO: + return (float*)LV2_ATOM_CONTENTS(LV2_Atom_Vector, atom()) + offset; + default: + warn << "Audio data requested from non-audio buffer" << endl; + return NULL; } break; default: @@ -120,15 +122,17 @@ ObjectBuffer::port_data(PortType port_type, SampleCount offset) const { switch (port_type.symbol()) { case PortType::CONTROL: + case PortType::CV: case PortType::AUDIO: switch (_type.symbol()) { - case PortType::CONTROL: - return (float*)LV2_ATOM_BODY(atom()); - case PortType::AUDIO: - return (float*)LV2_ATOM_CONTENTS(LV2_Atom_Vector, atom()) + offset; - default: - warn << "Audio data requested from non-audio buffer" << endl; - return NULL; + case PortType::CONTROL: + return (float*)LV2_ATOM_BODY(atom()); + case PortType::CV: + case PortType::AUDIO: + return (float*)LV2_ATOM_CONTENTS(LV2_Atom_Vector, atom()) + offset; + default: + warn << "Audio data requested from non-audio buffer" << endl; + return NULL; } break; default: |