diff options
author | Tim Mayberry <mojofunk@gmail.com> | 2015-12-04 22:23:01 +1000 |
---|---|---|
committer | Tim Mayberry <mojofunk@gmail.com> | 2016-02-11 12:15:07 +1000 |
commit | b2cf028fcba055110a9b1bf36af0fb6bd443c1af (patch) | |
tree | aa1bd198841daef6b5753180bf78a33cd105c172 /libs/backends/portaudio/winmmemidi_io.h | |
parent | d54a32037406775cad9431c3f0cc21fa9670fba2 (diff) |
Implement MIDI device enumeration and latency offset/calibration in portaudio backend
Diffstat (limited to 'libs/backends/portaudio/winmmemidi_io.h')
-rw-r--r-- | libs/backends/portaudio/winmmemidi_io.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/libs/backends/portaudio/winmmemidi_io.h b/libs/backends/portaudio/winmmemidi_io.h index 28450e95cb..672a68cc73 100644 --- a/libs/backends/portaudio/winmmemidi_io.h +++ b/libs/backends/portaudio/winmmemidi_io.h @@ -31,6 +31,8 @@ #include "winmmemidi_input_device.h" #include "winmmemidi_output_device.h" +#include "midi_device_info.h" + namespace ARDOUR { struct WinMMEMIDIPacket { @@ -79,6 +81,12 @@ public: std::vector<WinMMEMidiInputDevice*> get_inputs () { return m_inputs; } std::vector<WinMMEMidiOutputDevice*> get_outputs () { return m_outputs; } + void update_device_info (); + + std::vector<MidiDeviceInfo*> get_device_info () { return m_device_info; } + + MidiDeviceInfo* get_device_info (const std::string& name); + std::string port_id (uint32_t, bool input); std::string port_name (uint32_t, bool input); @@ -91,6 +99,12 @@ public: } private: // Methods + + void clear_device_info (); + + static bool get_input_name_from_index (int index, std::string& name); + static bool get_output_name_from_index (int index, std::string& name); + void discover (); void cleanup (); @@ -105,6 +119,8 @@ private: // Methods private: // Data + std::vector<MidiDeviceInfo*> m_device_info; + std::vector<WinMMEMidiInputDevice*> m_inputs; std::vector<WinMMEMidiOutputDevice*> m_outputs; |