diff options
author | David Robillard <d@drobilla.net> | 2010-02-20 21:52:36 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2010-02-20 21:52:36 +0000 |
commit | 46e5de590817756b21a7a5d99bd4963df343f455 (patch) | |
tree | 7d7b3b63297b24d84e5b42cc8aeb22d4212738b5 /src/engine/events/Disconnect.hpp | |
parent | b96a4015ae39b5bdd9afbd82898c0168a0a8e613 (diff) | |
download | ingen-46e5de590817756b21a7a5d99bd4963df343f455.tar.gz ingen-46e5de590817756b21a7a5d99bd4963df343f455.tar.bz2 ingen-46e5de590817756b21a7a5d99bd4963df343f455.zip |
Heavy overhaul of buffer management and polyphony.
* Working polyphony when nodes are instantiated at desired polyphony
level (dynamic still doesn't work)
* Use shared silent buffer for disconnected audio inputs (save memory)
* Eliminate redundant patch compiling on delete and disconnect-all
events that have child events
* Fix a ton of crash bugs and other issues I've since forgotten
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2468 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/engine/events/Disconnect.hpp')
-rw-r--r-- | src/engine/events/Disconnect.hpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/engine/events/Disconnect.hpp b/src/engine/events/Disconnect.hpp index 0bba8c7b..92f1bbc8 100644 --- a/src/engine/events/Disconnect.hpp +++ b/src/engine/events/Disconnect.hpp @@ -22,6 +22,7 @@ #include "QueuedEvent.hpp" #include "types.hpp" #include "PatchImpl.hpp" +#include "BufferFactory.hpp" namespace Raul { template <typename T> class ListNode; @@ -30,13 +31,10 @@ namespace Raul { namespace Ingen { -class NodeImpl; -class ConnectionImpl; -class MidiMessage; -class PortImpl; +class CompiledPatch; class InputPort; class OutputPort; -class CompiledPatch; +class PortImpl; namespace Events { @@ -60,7 +58,8 @@ public: SharedPtr<Request> request, SampleCount timestamp, PortImpl* const src_port, - PortImpl* const dst_port); + PortImpl* const dst_port, + bool reconnect_dst_port); void pre_process(); void execute(ProcessContext& context); @@ -87,12 +86,15 @@ private: OutputPort* _src_output_port; InputPort* _dst_input_port; - bool _lookup; - PatchImpl::Connections::Node* _patch_connection; CompiledPatch* _compiled_patch; ///< New process order for Patch + Raul::Array<BufferFactory::Ref>* _buffers; + ErrorType _error; + bool _internal; + bool _reconnect_dst_port; + bool _clear_dst_port; }; |