summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2013-10-10 12:58:38 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2013-10-10 12:58:38 -0400
commit2308291e59f93bcf406aa78f70f22215459d0f20 (patch)
tree26766ac31f438f27cf450e0add12fee71d99ca86 /libs
parentc4b20f1a20956fa0ab77f36013aceb759837ab9c (diff)
add API to AudioBackend to allow discovery of possible MIDI I/O options
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/ardour/audio_backend.h21
1 files changed, 20 insertions, 1 deletions
diff --git a/libs/ardour/ardour/audio_backend.h b/libs/ardour/ardour/audio_backend.h
index 0e39625e8c..f596164de7 100644
--- a/libs/ardour/ardour/audio_backend.h
+++ b/libs/ardour/ardour/audio_backend.h
@@ -239,7 +239,26 @@ class AudioBackend : public PortEngine {
* app is undefined or cannot be launched.
*/
virtual void launch_control_app () = 0;
- /* Basic state control */
+
+ /* @return a vector of strings that describe the available
+ * MIDI options.
+ *
+ * These can be presented to the user to decide which
+ * MIDI drivers, options etc. can be used. The returned strings
+ * should be thought of as the key to a map of possible
+ * approaches to handling MIDI within the backend. Ensure that
+ * the strings will make sense to the user.
+ */
+ virtual std::vector<std::string> enumerate_midi_options () const = 0;
+
+ /* Request the use of the MIDI option named @param option, which
+ * should be one of the strings returned by enumerate_midi_options()
+ *
+ * @return zero if successful, non-zero otherwise
+ */
+ virtual int set_midi_option (const std::string& option) = 0;
+
+ /* State Control */
/** Start using the device named in the most recent call
* to set_device(), with the parameters set by various