diff options
author | David Robillard <d@drobilla.net> | 2009-11-16 00:30:35 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2009-11-16 00:30:35 +0000 |
commit | 3d89115a67a9c947a28539ffdd2399808a53279b (patch) | |
tree | 826b900de3979eed9c31aae0d3ac560d39b53460 /src/engine/ObjectBuffer.hpp | |
parent | 597fa9212f27d2448c0cdd20fbf616928c662cc1 (diff) | |
download | ingen-3d89115a67a9c947a28539ffdd2399808a53279b.tar.gz ingen-3d89115a67a9c947a28539ffdd2399808a53279b.tar.bz2 ingen-3d89115a67a9c947a28539ffdd2399808a53279b.zip |
Rework objects extension to have "value ports" and "message ports".
Make audio and control buffers in ingen actually object buffers (towards interop).
Overhaul the hell out of ingen buffer and mixing stuff.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2266 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/engine/ObjectBuffer.hpp')
-rw-r--r-- | src/engine/ObjectBuffer.hpp | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/src/engine/ObjectBuffer.hpp b/src/engine/ObjectBuffer.hpp index a1d198e9..ec28453b 100644 --- a/src/engine/ObjectBuffer.hpp +++ b/src/engine/ObjectBuffer.hpp @@ -33,22 +33,19 @@ public: void clear(); - void* raw_data() { return (void*)_buf; } - const void* raw_data() const { return (void*)_buf; } - - LV2_Object* data() { return _buf; } - const LV2_Object* data() const { return _buf; } - - bool join(Buffer* buf); - void unjoin(); + void* port_data(Shared::DataType port_type); + const void* port_data(Shared::DataType port_type) const; void copy(Context& context, const Buffer* src); + void mix(Context& context, const Buffer* src) {} void resize(size_t size); + LV2_Object* object() { return _buf; } + const LV2_Object* object() const { return _buf; } + private: - LV2_Object* _buf; ///< Contents (_local_buf or belongs to _joined_buf) - LV2_Object* _local_buf; ///< Local contents + LV2_Object* _buf; ///< Contents }; |