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/portaudio_backend.h | |
parent | d54a32037406775cad9431c3f0cc21fa9670fba2 (diff) |
Implement MIDI device enumeration and latency offset/calibration in portaudio backend
Diffstat (limited to 'libs/backends/portaudio/portaudio_backend.h')
-rw-r--r-- | libs/backends/portaudio/portaudio_backend.h | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/libs/backends/portaudio/portaudio_backend.h b/libs/backends/portaudio/portaudio_backend.h index f0ef5fa993..b028dc212b 100644 --- a/libs/backends/portaudio/portaudio_backend.h +++ b/libs/backends/portaudio/portaudio_backend.h @@ -197,8 +197,8 @@ class PortAudioBackend : public AudioBackend { int set_output_channels (uint32_t); int set_systemic_input_latency (uint32_t); int set_systemic_output_latency (uint32_t); - int set_systemic_midi_input_latency (std::string const, uint32_t) { return 0; } - int set_systemic_midi_output_latency (std::string const, uint32_t) { return 0; } + int set_systemic_midi_input_latency (std::string const, uint32_t); + int set_systemic_midi_output_latency (std::string const, uint32_t); int reset_device () { return 0; }; @@ -213,10 +213,10 @@ class PortAudioBackend : public AudioBackend { uint32_t output_channels () const; uint32_t systemic_input_latency () const; uint32_t systemic_output_latency () const; - uint32_t systemic_midi_input_latency (std::string const) const { return 0; } - uint32_t systemic_midi_output_latency (std::string const) const { return 0; } + uint32_t systemic_midi_input_latency (std::string const) const; + uint32_t systemic_midi_output_latency (std::string const) const; - bool can_set_systemic_midi_latencies () const { return false; } + bool can_set_systemic_midi_latencies () const { return true; } /* External control app */ std::string control_app_name () const; @@ -227,15 +227,9 @@ class PortAudioBackend : public AudioBackend { int set_midi_option (const std::string&); std::string midi_option () const; - std::vector<DeviceStatus> enumerate_midi_devices () const { - return std::vector<AudioBackend::DeviceStatus> (); - } - int set_midi_device_enabled (std::string const, bool) { - return 0; - } - bool midi_device_enabled (std::string const) const { - return true; - } + std::vector<DeviceStatus> enumerate_midi_devices () const; + int set_midi_device_enabled (std::string const, bool); + bool midi_device_enabled (std::string const) const; protected: /* State Control */ @@ -402,6 +396,8 @@ class PortAudioBackend : public AudioBackend { uint32_t _systemic_audio_input_latency; uint32_t _systemic_audio_output_latency; + MidiDeviceInfo* midi_device_info(const std::string&) const; + /* portaudio specific */ int name_to_id(std::string) const; |