From 92600e0011488c66175dea483515daec560cd580 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sat, 11 Aug 2012 18:41:31 +0000 Subject: Considerable DSP performance improvements (mixing overhead, and per-event MIDI overhead with Note/Trigger nodes). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4657 a436a847-0d15-0410-975c-d299462d15a1 --- src/server/EdgeImpl.hpp | 26 +++++--------------------- 1 file changed, 5 insertions(+), 21 deletions(-) (limited to 'src/server/EdgeImpl.hpp') diff --git a/src/server/EdgeImpl.hpp b/src/server/EdgeImpl.hpp index 23a22ba3..fd5b5ca0 100644 --- a/src/server/EdgeImpl.hpp +++ b/src/server/EdgeImpl.hpp @@ -27,7 +27,7 @@ #include "raul/Deletable.hpp" #include "raul/log.hpp" -#include "BufferFactory.hpp" +#include "BufferRef.hpp" #include "Context.hpp" namespace Ingen { @@ -36,8 +36,6 @@ namespace Server { class PortImpl; class OutputPort; class InputPort; -class Buffer; -class BufferFactory; /** Represents a single inbound connection for an InputPort. * @@ -60,20 +58,12 @@ class EdgeImpl public: EdgeImpl(PortImpl* tail, PortImpl* head); - PortImpl* tail() const { return _tail; } - PortImpl* head() const { return _head; } + inline PortImpl* tail() const { return _tail; } + inline PortImpl* head() const { return _head; } const Raul::Path& tail_path() const; const Raul::Path& head_path() const; - void queue(Context& context); - - void get_sources(Context& context, - uint32_t voice, - Buffer** srcs, - uint32_t max_num_srcs, - uint32_t& num_srcs); - /** Get the buffer for a particular voice. * An Edge is smart - it knows the destination port requesting the * buffer, and will return accordingly (e.g. the same buffer for every @@ -84,17 +74,11 @@ public: /** Whether this edge must mix down voices into a local buffer */ bool must_mix() const; - /** Whether this edge crosses contexts and must buffer */ - bool must_queue() const; - static bool can_connect(const OutputPort* src, const InputPort* dst); protected: - void dump() const; - - PortImpl* const _tail; - PortImpl* const _head; - Raul::RingBuffer* _queue; + PortImpl* const _tail; + PortImpl* const _head; }; } // namespace Server -- cgit v1.2.1