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/PatchImpl.cpp | |
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/PatchImpl.cpp')
-rw-r--r-- | src/engine/PatchImpl.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/engine/PatchImpl.cpp b/src/engine/PatchImpl.cpp index b4fb8c31..2e02355f 100644 --- a/src/engine/PatchImpl.cpp +++ b/src/engine/PatchImpl.cpp @@ -98,17 +98,17 @@ PatchImpl::disable() bool -PatchImpl::prepare_internal_poly(uint32_t poly) +PatchImpl::prepare_internal_poly(BufferFactory& bufs, uint32_t poly) { assert(ThreadManager::current_thread_id() == THREAD_PRE_PROCESS); /* TODO: ports? internal/external poly? */ for (List<NodeImpl*>::iterator i = _nodes.begin(); i != _nodes.end(); ++i) - (*i)->prepare_poly(poly); + (*i)->prepare_poly(bufs, poly); for (Connections::iterator i = _connections.begin(); i != _connections.end(); ++i) - ((ConnectionImpl*)i->get())->prepare_poly(poly); + ((ConnectionImpl*)i->get())->prepare_poly(bufs, poly); /* FIXME: Deal with failure */ @@ -242,15 +242,15 @@ PatchImpl::process_single(ProcessContext& context) void -PatchImpl::set_buffer_size(size_t size) +PatchImpl::set_buffer_size(BufferFactory& bufs, size_t size) { - NodeBase::set_buffer_size(size); + NodeBase::set_buffer_size(bufs, size); assert(_buffer_size == size); CompiledPatch* const cp = _compiled_patch; for (size_t i=0; i < cp->size(); ++i) - (*cp)[i].node()->set_buffer_size(size); + (*cp)[i].node()->set_buffer_size(bufs, size); } @@ -342,7 +342,7 @@ PatchImpl::num_ports() const /** Create a port. Not realtime safe. */ PortImpl* -PatchImpl::create_port(const string& name, DataType type, size_t buffer_size, bool is_output) +PatchImpl::create_port(BufferFactory& bufs, const string& name, DataType type, size_t buffer_size, bool is_output) { if (type == DataType::UNKNOWN) { cerr << "[PatchImpl::create_port] Unknown port type " << type.uri() << endl; @@ -351,7 +351,7 @@ PatchImpl::create_port(const string& name, DataType type, size_t buffer_size, bo assert( !(type == DataType::UNKNOWN) ); - return new DuplexPort(this, name, num_ports(), _polyphony, type, Raul::Atom(), buffer_size, is_output); + return new DuplexPort(bufs, this, name, num_ports(), _polyphony, type, Raul::Atom(), buffer_size, is_output); } |