diff options
author | David Robillard <d@drobilla.net> | 2010-02-25 01:20:13 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2010-02-25 01:20:13 +0000 |
commit | 5d87212114e2df68a086eeb55829a70bed0940d3 (patch) | |
tree | 28969ff644caecae33524c4873d2884cbd4a01e5 /src/engine/CompiledPatch.hpp | |
parent | 0110d07a0f1499890487fe6939edc36b7aa63353 (diff) | |
download | ingen-5d87212114e2df68a086eeb55829a70bed0940d3.tar.gz ingen-5d87212114e2df68a086eeb55829a70bed0940d3.tar.bz2 ingen-5d87212114e2df68a086eeb55829a70bed0940d3.zip |
Fix (remove) use of PatchImpl::_connections in the audio thread.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2490 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/engine/CompiledPatch.hpp')
-rw-r--r-- | src/engine/CompiledPatch.hpp | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/engine/CompiledPatch.hpp b/src/engine/CompiledPatch.hpp index 7cb713e2..f2c99562 100644 --- a/src/engine/CompiledPatch.hpp +++ b/src/engine/CompiledPatch.hpp @@ -25,6 +25,7 @@ namespace Ingen { +class ConnectionImpl; /** All information required about a node to execute it in an audio thread. */ @@ -51,23 +52,22 @@ private: }; -/** A patch and a set of connections, "compiled" into a flat structure with - * the correct order so the audio thread(s) can execute it without - * threading problems (since the preprocessor thread fiddles with other - * things). - * - * Currently objects still have some 'heavyweight' connection state, but - * eventually this should be the only place a particular set of connections - * in a patch is stored, so various "connection presets" can be switched - * in a realtime safe way. +/** A patch ``compiled'' into a flat structure with the correct order so + * the audio thread(s) can execute it without threading problems (since + * the preprocessor thread modifies the graph). * * The nodes contained here are sorted in the order they must be executed. * The parallel processing algorithm guarantees no node will be executed - * before it's providers, using this order as well as semaphores. + * before its providers, using this order as well as semaphores. */ struct CompiledPatch : public std::vector<CompiledNode> , public Raul::Deletable - , public boost::noncopyable { + , public boost::noncopyable +{ + typedef std::vector<ConnectionImpl*> QueuedConnections; + + /** All (audio context => other context) connections */ + std::vector<ConnectionImpl*> queued_connections; }; |