summaryrefslogtreecommitdiffstats
path: root/src/engine/PostProcessor.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2008-11-24 02:07:30 +0000
committerDavid Robillard <d@drobilla.net>2008-11-24 02:07:30 +0000
commitd3c7142837dc6d1d460477115fa81dc51b92a1ce (patch)
treec05cd2ca469e2be715e681454a4a6020d8ca1124 /src/engine/PostProcessor.hpp
parentd038cc80aeab835344708b0a136198dab9a28fab (diff)
downloadingen-d3c7142837dc6d1d460477115fa81dc51b92a1ce.tar.gz
ingen-d3c7142837dc6d1d460477115fa81dc51b92a1ce.tar.bz2
ingen-d3c7142837dc6d1d460477115fa81dc51b92a1ce.zip
Use lists instead of ringbuffers for event queue - remove upper limit on event queue size and related warnings on big patch load.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1776 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/engine/PostProcessor.hpp')
-rw-r--r--src/engine/PostProcessor.hpp25
1 files changed, 10 insertions, 15 deletions
diff --git a/src/engine/PostProcessor.hpp b/src/engine/PostProcessor.hpp
index fe767b60..8f04a75c 100644
--- a/src/engine/PostProcessor.hpp
+++ b/src/engine/PostProcessor.hpp
@@ -21,9 +21,7 @@
#include <pthread.h>
#include "types.hpp"
#include "raul/SRSWQueue.hpp"
-//#include "raul/Slave.hpp"
-
-//namespace Raul { class Maid; }
+#include "raul/List.hpp"
namespace Ingen {
@@ -42,13 +40,13 @@ class Engine;
*
* \ingroup engine
*/
-class PostProcessor //: public Raul::Slave
+class PostProcessor
{
public:
- PostProcessor(Engine& engine, /*Raul::Maid& maid, */size_t queue_size);
+ PostProcessor(Engine& engine, size_t queue_size);
- /** Push an event on to the process queue, realtime-safe, not thread-safe. */
- inline void push(Event* const ev) { _events.push(ev); }
+ /** Push a list of events on to the process queue, realtime-safe, not thread-safe. */
+ inline void append(Raul::List<Event*>* l) { _events.append(*l); }
/** Post-process and delete all pending events */
void process();
@@ -57,14 +55,11 @@ public:
void set_end_time(FrameTime time) { _max_time = time; }
private:
- Engine& _engine;
- Raul::AtomicInt _max_time;
- //Raul::Maid& _maid;
- Raul::SRSWQueue<Event*> _events;
- uint32_t _event_buffer_size;
- uint8_t* _event_buffer;
-
- //virtual void _whipped();
+ Engine& _engine;
+ Raul::AtomicInt _max_time;
+ Raul::List<Event*> _events;
+ uint32_t _event_buffer_size;
+ uint8_t* _event_buffer;
};