summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/audio_backend.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-06-12 21:35:25 +0200
committerRobin Gareus <robin@gareus.org>2014-06-13 11:47:51 +0200
commitda912f7ed41249af2262cb11b6332bf5bd8d9907 (patch)
treea635a059f83b180064d10a5b6e551897f716d40b /libs/ardour/ardour/audio_backend.h
parentbe7da2e9526c394b14d1b84129c400bc0dc0f96d (diff)
add AudioEngine API to configure individual MIDI devices
Diffstat (limited to 'libs/ardour/ardour/audio_backend.h')
-rw-r--r--libs/ardour/ardour/audio_backend.h24
1 files changed, 23 insertions, 1 deletions
diff --git a/libs/ardour/ardour/audio_backend.h b/libs/ardour/ardour/audio_backend.h
index 78e3903182..bf860e9aeb 100644
--- a/libs/ardour/ardour/audio_backend.h
+++ b/libs/ardour/ardour/audio_backend.h
@@ -263,6 +263,14 @@ class LIBARDOUR_API AudioBackend : public PortEngine {
* external D-A/D-A converters. Units are samples.
*/
virtual int set_systemic_output_latency (uint32_t) = 0;
+ /** Set the (additional) input latency for a specific midi device,
+ * or if the identifier is empty, apply to all midi devices.
+ */
+ virtual int set_systemic_midi_input_latency (std::string const, uint32_t) = 0;
+ /** Set the (additional) output latency for a specific midi device,
+ * or if the identifier is empty, apply to all midi devices.
+ */
+ virtual int set_systemic_midi_output_latency (std::string const, uint32_t) = 0;
/* Retrieving parameters */
@@ -274,6 +282,8 @@ class LIBARDOUR_API AudioBackend : public PortEngine {
virtual uint32_t output_channels () const = 0;
virtual uint32_t systemic_input_latency () const = 0;
virtual uint32_t systemic_output_latency () const = 0;
+ virtual uint32_t systemic_midi_input_latency (std::string const) const = 0;
+ virtual uint32_t systemic_midi_output_latency (std::string const) const = 0;
/** override this if this implementation returns true from
* requires_driver_selection()
@@ -311,7 +321,19 @@ class LIBARDOUR_API AudioBackend : public PortEngine {
virtual int set_midi_option (const std::string& option) = 0;
virtual std::string midi_option () const = 0;
-
+
+ /** Detailed MIDI device list - if available */
+ virtual std::vector<DeviceStatus> enumerate_midi_devices () const = 0;
+
+ /** mark a midi-devices as enabled */
+ virtual int set_midi_device_enabled (std::string const, bool) = 0;
+
+ /** query if a midi-device is enabled */
+ virtual bool midi_device_enabled (std::string const) const = 0;
+
+ /** if backend supports systemic_midi_[in|ou]tput_latency() */
+ virtual bool can_set_systemic_midi_latencies () const = 0;
+
/* State Control */
/** Start using the device named in the most recent call