summaryrefslogtreecommitdiffstats
path: root/ingen
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 /ingen
parent6141b832946006a6ec3c1a3a70bd729c0404771e (diff)
downloadingen-f240b08a1799b3aa6a29701c90388d51c0c1b2ce.tar.gz
ingen-f240b08a1799b3aa6a29701c90388d51c0c1b2ce.tar.bz2
ingen-f240b08a1799b3aa6a29701c90388d51c0c1b2ce.zip
Add experimental PortAudio driver
Diffstat (limited to 'ingen')
-rw-r--r--ingen/EngineBase.hpp18
-rw-r--r--ingen/ingen.h10
2 files changed, 15 insertions, 13 deletions
diff --git a/ingen/EngineBase.hpp b/ingen/EngineBase.hpp
index 087189e4..a0a20cd9 100644
--- a/ingen/EngineBase.hpp
+++ b/ingen/EngineBase.hpp
@@ -1,6 +1,6 @@
/*
This file is part of Ingen.
- Copyright 2007-2015 David Robillard <http://drobilla.net/>
+ Copyright 2007-2017 David Robillard <http://drobilla.net/>
Ingen is free software: you can redistribute it and/or modify it under the
terms of the GNU Affero General Public License as published by the Free
@@ -17,9 +17,10 @@
#ifndef INGEN_ENGINEBASE_HPP
#define INGEN_ENGINEBASE_HPP
-#include <stdint.h>
+#include <chrono>
+#include <cstddef>
+#include <cstdint>
-#include "raul/URI.hpp"
#include "ingen/ingen.h"
#include "ingen/types.hpp"
@@ -68,6 +69,16 @@ public:
virtual bool pending_events() = 0;
/**
+ Flush any pending events.
+
+ This function is only safe to call in sequential contexts, and runs both
+ process thread and main iterations in lock-step.
+
+ @param Interval in milliseconds to sleep between each block.
+ */
+ virtual void flush_events(const std::chrono::milliseconds& sleep_ms) = 0;
+
+ /**
Locate to a given cycle.
*/
virtual void locate(uint32_t start, uint32_t sample_count) = 0;
@@ -113,7 +124,6 @@ public:
Unregister a client.
*/
virtual bool unregister_client(SPtr<Interface> client) = 0;
-
};
} // namespace Ingen
diff --git a/ingen/ingen.h b/ingen/ingen.h
index 11fd592a..ba56ae52 100644
--- a/ingen/ingen.h
+++ b/ingen/ingen.h
@@ -1,6 +1,6 @@
/*
This file is part of Ingen.
- Copyright 2014-2016 David Robillard <http://drobilla.net/>
+ Copyright 2014-2017 David Robillard <http://drobilla.net/>
Ingen is free software: you can redistribute it and/or modify it under the
terms of the GNU Affero General Public License as published by the Free
@@ -34,14 +34,6 @@
# define INGEN_API
#endif
-#ifndef INGEN_WARN_UNUSED_RESULT
-# if __GNUC__ > 3 || __GNUC__ == 3 && __GNUC_MINOR__ >= 4
-# define INGEN_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
-# else
-# define INGEN_WARN_UNUSED_RESULT
-# endif
-#endif
-
#define INGEN_NS "http://drobilla.net/ns/ingen#"
#define INGEN__Arc INGEN_NS "Arc"