summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/audio_backend.h
diff options
context:
space:
mode:
authorTim Mayberry <mojofunk@gmail.com>2016-02-05 23:27:40 +1000
committerTim Mayberry <mojofunk@gmail.com>2016-02-11 12:15:07 +1000
commit16835032aba094aeb7299d4bd90582d60b904974 (patch)
treee4532dbafc3fed0a206c61e616e8812842bceaa7 /libs/ardour/ardour/audio_backend.h
parentd50a821374418bd2ab6c6c27f487f9a5149ae57a (diff)
Add API to AudioBackend for choosing between portaudio blocking or callback API
Diffstat (limited to 'libs/ardour/ardour/audio_backend.h')
-rw-r--r--libs/ardour/ardour/audio_backend.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/libs/ardour/ardour/audio_backend.h b/libs/ardour/ardour/audio_backend.h
index 379eae9fd9..d5c53b4682 100644
--- a/libs/ardour/ardour/audio_backend.h
+++ b/libs/ardour/ardour/audio_backend.h
@@ -258,6 +258,23 @@ class LIBARDOUR_API AudioBackend : public PortEngine {
*/
virtual bool update_devices () { return false; }
+ /**
+ * @return true if backend supports a blocking or buffered mode, false by
+ * default unless implemented by a derived class.
+ */
+ virtual bool can_use_buffered_io () { return false; }
+
+ /**
+ * Set the backend to use a blocking or buffered I/O mode
+ */
+ virtual void set_use_buffered_io (bool) { }
+
+ /**
+ * @return Set the backend to use a blocking or buffered I/O mode, false by
+ * default unless implemented by a derived class.
+ */
+ virtual bool get_use_buffered_io () { return false; }
+
/** Returns a collection of float identifying sample rates that are
* potentially usable with the hardware identified by @param device.
* Any of these values may be supplied in other calls to this backend