diff options
author | David Robillard <d@drobilla.net> | 2013-01-08 04:05:01 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2013-01-08 04:05:01 +0000 |
commit | ac408e8d4ce77389e65d69e9a1ff30fd54a25ada (patch) | |
tree | 27d3f568c8a8040c345dd61a890dabd08549cd5c /src/server/BufferFactory.cpp | |
parent | 63d21b23d262b0c5169d54822aa5723b6200c764 (diff) | |
download | ingen-ac408e8d4ce77389e65d69e9a1ff30fd54a25ada.tar.gz ingen-ac408e8d4ce77389e65d69e9a1ff30fd54a25ada.tar.bz2 ingen-ac408e8d4ce77389e65d69e9a1ff30fd54a25ada.zip |
Add support for URID ports.
Fix glib errors when resetting properties dialog.
Move RDFS domain/range/classes/etc code to reusable location.
Add preliminary "mesp" (message processing) plugin package.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4903 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/server/BufferFactory.cpp')
-rw-r--r-- | src/server/BufferFactory.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/server/BufferFactory.cpp b/src/server/BufferFactory.cpp index da459705..064b5080 100644 --- a/src/server/BufferFactory.cpp +++ b/src/server/BufferFactory.cpp @@ -38,6 +38,7 @@ BufferFactory::~BufferFactory() _silent_buffer.reset(); free_list(_free_audio.get()); free_list(_free_control.get()); + free_list(_free_sequence.get()); free_list(_free_object.get()); } @@ -77,6 +78,8 @@ BufferFactory::default_size(LV2_URID type) const return sizeof(LV2_Atom_Float); } else if (type == _uris.atom_Sound) { return audio_buffer_size(_engine.driver()->block_length()); + } else if (type == _uris.atom_URID) { + return sizeof(LV2_Atom_URID); } else if (type == _uris.atom_Sequence) { if (_seq_size == 0) { return _engine.driver()->block_length() * SEQ_BYTES_PER_FRAME; @@ -95,7 +98,7 @@ BufferFactory::get(LV2_URID type, bool force_create) { Raul::AtomicPtr<Buffer>& head_ptr = free_list(type); - Buffer* try_head = NULL; + Buffer* try_head = NULL; if (!force_create) { Buffer* next; @@ -117,6 +120,7 @@ BufferFactory::get(LV2_URID type, } try_head->_next = NULL; + try_head->set_type(type); return BufferRef(try_head); } |