summaryrefslogtreecommitdiffstats
path: root/src/server/Engine.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2017-02-18 18:32:02 +0100
committerDavid Robillard <d@drobilla.net>2017-02-18 19:38:13 +0100
commitf240b08a1799b3aa6a29701c90388d51c0c1b2ce (patch)
tree28ec7429aa10f28710023fdcc43d07a4f0b4ebc9 /src/server/Engine.hpp
parent6141b832946006a6ec3c1a3a70bd729c0404771e (diff)
downloadingen-f240b08a1799b3aa6a29701c90388d51c0c1b2ce.tar.gz
ingen-f240b08a1799b3aa6a29701c90388d51c0c1b2ce.tar.bz2
ingen-f240b08a1799b3aa6a29701c90388d51c0c1b2ce.zip
Add experimental PortAudio driver
Diffstat (limited to 'src/server/Engine.hpp')
-rw-r--r--src/server/Engine.hpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/server/Engine.hpp b/src/server/Engine.hpp
index de14b024..ea5a1402 100644
--- a/src/server/Engine.hpp
+++ b/src/server/Engine.hpp
@@ -17,7 +17,7 @@
#ifndef INGEN_ENGINE_ENGINE_HPP
#define INGEN_ENGINE_ENGINE_HPP
-#include <boost/utility.hpp>
+#include <chrono>
#include <condition_variable>
#include <mutex>
#include <random>
@@ -26,6 +26,7 @@
#include "ingen/Interface.hpp"
#include "ingen/ingen.h"
#include "ingen/types.hpp"
+#include "raul/Noncopyable.hpp"
#include "Clock.hpp"
#include "Event.hpp"
@@ -65,7 +66,7 @@ class Worker;
@ingroup engine
*/
-class INGEN_API Engine : public boost::noncopyable, public EngineBase
+class INGEN_API Engine : public Raul::Noncopyable, public EngineBase
{
public:
explicit Engine(Ingen::World* world);
@@ -141,6 +142,11 @@ public:
RunContext& run_context() { return *_run_contexts[0]; }
+ void set_root_graph(GraphImpl* graph) { _root_graph = graph; }
+
+ void flush_events(const std::chrono::milliseconds& sleep_ms);
+
+ void advance(SampleCount nframes);
void locate(FrameTime s, SampleCount nframes);
void emit_notifications(FrameTime end);
bool pending_notifications();
@@ -157,6 +163,7 @@ public:
size_t n_threads() const { return _run_contexts.size(); }
bool atomic_bundles() const { return _atomic_bundles; }
+ bool activated() const { return _activated; }
private:
Ingen::World* _world;
@@ -226,6 +233,7 @@ private:
bool _reset_load_flag;
bool _direct_driver;
bool _atomic_bundles;
+ bool _activated;
};
} // namespace Server