static std::string s_instance_name;
size_t AlsaAudioBackend::_max_buffer_size = 8192;
std::vector<std::string> AlsaAudioBackend::_midi_options;
+std::vector<AudioBackend::DeviceStatus> AlsaAudioBackend::_audio_device_status;
+std::vector<AudioBackend::DeviceStatus> AlsaAudioBackend::_midi_device_status;
AlsaAudioBackend::AlsaAudioBackend (AudioEngine& e, AudioBackendInfo& info)
: AudioBackend (e, info)
std::vector<AudioBackend::DeviceStatus>
AlsaAudioBackend::enumerate_devices () const
{
- std::vector<AudioBackend::DeviceStatus> s;
+ _audio_device_status.clear();
std::map<std::string, std::string> devices;
get_alsa_audio_device_names(devices);
for (std::map<std::string, std::string>::const_iterator i = devices.begin (); i != devices.end(); ++i) {
- s.push_back (DeviceStatus (i->first, true));
+ _audio_device_status.push_back (DeviceStatus (i->first, true));
}
- return s;
+ return _audio_device_status;
}
void
std::vector<AudioBackend::DeviceStatus>
AlsaAudioBackend::enumerate_midi_devices () const
{
- std::vector<AudioBackend::DeviceStatus> s;
+ _midi_device_status.clear();
std::map<std::string, std::string> devices;
if (_midi_driver_option == _("ALSA raw devices")) {
}
else if (_midi_driver_option == _("ALSA sequencer")) {
get_alsa_sequencer_names (devices);
- } else {
- return s;
}
for (std::map<std::string, std::string>::const_iterator i = devices.begin (); i != devices.end(); ++i) {
- s.push_back (DeviceStatus (i->first, true));
+ _midi_device_status.push_back (DeviceStatus (i->first, true));
}
- return s;
+ return _midi_device_status;
}
int
static std::string s_instance_name;
size_t DummyAudioBackend::_max_buffer_size = 8192;
std::vector<std::string> DummyAudioBackend::_midi_options;
+std::vector<AudioBackend::DeviceStatus> DummyAudioBackend::_device_status;
DummyAudioBackend::DummyAudioBackend (AudioEngine& e, AudioBackendInfo& info)
: AudioBackend (e, info)
std::vector<AudioBackend::DeviceStatus>
DummyAudioBackend::enumerate_devices () const
{
- std::vector<AudioBackend::DeviceStatus> s;
- s.push_back (DeviceStatus (_("Dummy"), true));
- return s;
+ if (_device_status.empty()) {
+ _device_status.push_back (DeviceStatus (_("Dummy"), true));
+ }
+ return _device_status;
}
std::vector<float>