diff options
author | David Robillard <d@drobilla.net> | 2012-05-23 02:21:53 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2012-05-23 02:21:53 +0000 |
commit | 5f11a5b2d3e040739bdebada9bab387075e1e177 (patch) | |
tree | 19760aaa06d2c7999b17c99c15ba86c8b63b2a2e /src/server/AudioBuffer.cpp | |
parent | 1fda196ac1ad416d39531c52724cec287756c385 (diff) | |
download | ingen-5f11a5b2d3e040739bdebada9bab387075e1e177.tar.gz ingen-5f11a5b2d3e040739bdebada9bab387075e1e177.tar.bz2 ingen-5f11a5b2d3e040739bdebada9bab387075e1e177.zip |
Fix copying of audio buffers and polyphonic audio output.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4445 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/server/AudioBuffer.cpp')
-rw-r--r-- | src/server/AudioBuffer.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/server/AudioBuffer.cpp b/src/server/AudioBuffer.cpp index 16a79bc0..a3c87fea 100644 --- a/src/server/AudioBuffer.cpp +++ b/src/server/AudioBuffer.cpp @@ -45,9 +45,12 @@ AudioBuffer::AudioBuffer(BufferFactory& bufs, LV2_URID type, uint32_t size) if (type == bufs.uris().atom_Sound) { // Audio port (Vector of float) - LV2_Atom_Vector* body = (LV2_Atom_Vector*)atom(); - body->body.child_size = sizeof(float); - body->body.child_type = bufs.uris().atom_Float; + LV2_Atom_Vector* vec = (LV2_Atom_Vector*)_atom; + vec->body.child_size = sizeof(float); + vec->body.child_type = bufs.uris().atom_Float; + _atom->size = size - sizeof(LV2_Atom_Vector); + } else { + _atom->size = size - sizeof(LV2_Atom); } _atom->type = type; |