summaryrefslogtreecommitdiffstats
path: root/src/server/ObjectBuffer.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-03-11 05:22:08 +0000
committerDavid Robillard <d@drobilla.net>2012-03-11 05:22:08 +0000
commit4c299323440923891b9c583a354116000eb143cc (patch)
treef2873fdd9849561608b7eebbfad89c04d56ba58e /src/server/ObjectBuffer.cpp
parentc2ea4e3c59ce8c06066780d67237fdb07255c89e (diff)
downloadingen-4c299323440923891b9c583a354116000eb143cc.tar.gz
ingen-4c299323440923891b9c583a354116000eb143cc.tar.bz2
ingen-4c299323440923891b9c583a354116000eb143cc.zip
Implement cv:CVPort (fix #790). Not well-tested, but at least works somewhat.
Use new style LV2 URI defines (and fix invalid atom URIs). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4050 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/server/ObjectBuffer.cpp')
-rw-r--r--src/server/ObjectBuffer.cpp32
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: