diff options
Diffstat (limited to 'libs/backends/alsa/alsa_audiobackend.h')
-rw-r--r-- | libs/backends/alsa/alsa_audiobackend.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/libs/backends/alsa/alsa_audiobackend.h b/libs/backends/alsa/alsa_audiobackend.h index 6c47b6215b..49066e360b 100644 --- a/libs/backends/alsa/alsa_audiobackend.h +++ b/libs/backends/alsa/alsa_audiobackend.h @@ -164,7 +164,10 @@ class AlsaAudioBackend : public AudioBackend { std::string name () const; bool is_realtime () const; + bool use_separate_input_and_output_devices () const { return true; } std::vector<DeviceStatus> enumerate_devices () const; + std::vector<DeviceStatus> enumerate_input_devices () const; + std::vector<DeviceStatus> enumerate_output_devices () const; std::vector<float> available_sample_rates (const std::string& device) const; std::vector<uint32_t> available_buffer_sizes (const std::string& device) const; uint32_t available_input_channel_count (const std::string& device) const; @@ -174,6 +177,8 @@ class AlsaAudioBackend : public AudioBackend { bool can_change_buffer_size_when_running () const; int set_device_name (const std::string&); + int set_input_device_name (const std::string&); + int set_output_device_name (const std::string&); int set_sample_rate (float); int set_buffer_size (uint32_t); int set_interleaved (bool yn); @@ -188,6 +193,8 @@ class AlsaAudioBackend : public AudioBackend { /* Retrieving parameters */ std::string device_name () const; + std::string input_device_name () const; + std::string output_device_name () const; float sample_rate () const; uint32_t buffer_size () const; bool interleaved () const; @@ -308,10 +315,13 @@ class AlsaAudioBackend : public AudioBackend { uint64_t _last_process_start; static std::vector<std::string> _midi_options; - static std::vector<AudioBackend::DeviceStatus> _audio_device_status; + static std::vector<AudioBackend::DeviceStatus> _input_audio_device_status; + static std::vector<AudioBackend::DeviceStatus> _output_audio_device_status; + static std::vector<AudioBackend::DeviceStatus> _duplex_audio_device_status; static std::vector<AudioBackend::DeviceStatus> _midi_device_status; - mutable std::string _audio_device; + mutable std::string _input_audio_device; + mutable std::string _output_audio_device; std::string _midi_driver_option; /* audio device reservation */ |