summaryrefslogtreecommitdiff
path: root/libs/backends/portaudio/portaudio_backend.h
diff options
context:
space:
mode:
authorTim Mayberry <mojofunk@gmail.com>2015-12-04 22:23:01 +1000
committerTim Mayberry <mojofunk@gmail.com>2016-02-11 12:15:07 +1000
commitb2cf028fcba055110a9b1bf36af0fb6bd443c1af (patch)
treeaa1bd198841daef6b5753180bf78a33cd105c172 /libs/backends/portaudio/portaudio_backend.h
parentd54a32037406775cad9431c3f0cc21fa9670fba2 (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.h24
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;