From 8d94fbbef36c4b78948bb9702e3a0c385526c21a Mon Sep 17 00:00:00 2001 From: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com> Date: Tue, 25 Jun 2019 10:38:16 -0400 Subject: [PATCH] avmodel: parse output indices too when getting device name by type Change-Id: I71a777a73dc64c1f418b00cbf1839e25a02dbb81 --- src/avmodel.cpp | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/src/avmodel.cpp b/src/avmodel.cpp index c597240e..4a28fe58 100644 --- a/src/avmodel.cpp +++ b/src/avmodel.cpp @@ -292,11 +292,11 @@ AVModel::getAudioManager() const std::vector<std::string> AVModel::getAudioOutputDevices() const { - QStringList managers = ConfigurationManager::instance() + QStringList devices = ConfigurationManager::instance() .getAudioOutputDeviceList(); std::vector<std::string> result; - for (const auto& manager : managers) { - result.emplace_back(manager.toStdString()); + for (const auto& device : devices) { + result.emplace_back(device.toStdString()); } return result; } @@ -304,11 +304,11 @@ AVModel::getAudioOutputDevices() const std::vector<std::string> AVModel::getAudioInputDevices() const { - QStringList managers = ConfigurationManager::instance() + QStringList devices = ConfigurationManager::instance() .getAudioInputDeviceList(); std::vector<std::string> result; - for (const auto& manager : managers) { - result.emplace_back(manager.toStdString()); + for (const auto& device : devices) { + result.emplace_back(device.toStdString()); } return result; } @@ -740,7 +740,18 @@ AVModelPimpl::getDevice(int type) const } auto deviceIdx = currentDevicesIdx[type].toUInt(); for (const auto& dev : devices) { - int idx = ConfigurationManager::instance().getAudioInputDeviceIndex(dev.c_str()); + int idx; + switch (type) { + case 1: // INPUT + idx = ConfigurationManager::instance().getAudioInputDeviceIndex(dev.c_str()); + break; + case 0: // OUTPUT + case 2: // RINGTONE + idx = ConfigurationManager::instance().getAudioOutputDeviceIndex(dev.c_str()); + break; + default: + break; + } if (idx == deviceIdx) { return dev; } -- GitLab