fix(ui): Do not add default audio device twice

This commit is contained in:
Lars Toenning
2024-11-22 13:22:31 +01:00
parent 0b659b8edd
commit f63e988575
5 changed files with 5 additions and 47 deletions

View File

@@ -321,29 +321,14 @@ namespace swift::core::context
return this->getAudioDevices().getOutputDevices();
}
CAudioDeviceInfoList CContextAudioBase::getAudioDevicesPlusDefault() const
{
return CAudioDeviceInfoList::allDevicesPlusDefault();
}
CAudioDeviceInfoList CContextAudioBase::getAudioInputDevicesPlusDefault() const
{
return this->getAudioDevicesPlusDefault().getInputDevices();
}
CAudioDeviceInfoList CContextAudioBase::getAudioOutputDevicesPlusDefault() const
{
return this->getAudioDevicesPlusDefault().getOutputDevices();
}
CAudioDeviceInfoList CContextAudioBase::getCurrentAudioDevices() const
{
const QString inputDeviceName = m_inputDeviceSetting.get();
const CAudioDeviceInfo inputDevice = this->getAudioInputDevicesPlusDefault().findByNameOrDefault(
const CAudioDeviceInfo inputDevice = this->getAudioInputDevices().findByNameOrDefault(
inputDeviceName, CAudioDeviceInfo::getDefaultInputDevice());
const QString outputDeviceName = m_outputDeviceSetting.get();
const CAudioDeviceInfo outputDevice = this->getAudioOutputDevicesPlusDefault().findByNameOrDefault(
const CAudioDeviceInfo outputDevice = this->getAudioOutputDevices().findByNameOrDefault(
outputDeviceName, CAudioDeviceInfo::getDefaultOutputDevice());
CAudioDeviceInfoList devices;

View File

@@ -154,9 +154,6 @@ namespace swift::core
swift::misc::audio::CAudioDeviceInfoList getAudioDevices() const;
swift::misc::audio::CAudioDeviceInfoList getAudioInputDevices() const;
swift::misc::audio::CAudioDeviceInfoList getAudioOutputDevices() const;
swift::misc::audio::CAudioDeviceInfoList getAudioDevicesPlusDefault() const;
swift::misc::audio::CAudioDeviceInfoList getAudioInputDevicesPlusDefault() const;
swift::misc::audio::CAudioDeviceInfoList getAudioOutputDevicesPlusDefault() const;
//! @}
//! Get current audio device

View File

@@ -382,7 +382,7 @@ namespace swift::gui::components
void CAudioDeviceVolumeSetupComponent::initAudioDeviceLists()
{
if (!this->hasAudio()) { return; }
const bool changed = this->onAudioDevicesChanged(sGui->getCContextAudioBase()->getAudioDevicesPlusDefault());
const bool changed = this->onAudioDevicesChanged(sGui->getCContextAudioBase()->getAudioDevices());
if (!changed) { return; }
const CAudioDeviceInfoList currentDevices = sGui->getCContextAudioBase()->getCurrentAudioDevices();
this->onAudioStarted(currentDevices.getInputDevices().frontOrDefault(),
@@ -525,14 +525,14 @@ namespace swift::gui::components
CAudioDeviceInfo CAudioDeviceVolumeSetupComponent::getSelectedInputDevice() const
{
if (!hasAudio()) { return CAudioDeviceInfo(); }
const CAudioDeviceInfoList devices = sGui->getCContextAudioBase()->getAudioInputDevicesPlusDefault();
const CAudioDeviceInfoList devices = sGui->getCContextAudioBase()->getAudioInputDevices();
return devices.findByName(ui->cb_SetupAudioInputDevice->currentText());
}
CAudioDeviceInfo CAudioDeviceVolumeSetupComponent::getSelectedOutputDevice() const
{
if (!hasAudio()) { return CAudioDeviceInfo(); }
const CAudioDeviceInfoList devices = sGui->getCContextAudioBase()->getAudioOutputDevicesPlusDefault();
const CAudioDeviceInfoList devices = sGui->getCContextAudioBase()->getAudioOutputDevices();
return devices.findByName(ui->cb_SetupAudioOutputDevice->currentText());
}

View File

@@ -157,27 +157,6 @@ namespace swift::misc::audio
return i;
}
CAudioDeviceInfoList CAudioDeviceInfoList::allInputDevicesPlusDefault()
{
CAudioDeviceInfoList i = allInputDevices();
i.push_back(CAudioDeviceInfoList::defaultInputDevice());
return i;
}
CAudioDeviceInfoList CAudioDeviceInfoList::allOutputDevicesPlusDefault()
{
CAudioDeviceInfoList o = allOutputDevices();
o.push_back(CAudioDeviceInfoList::defaultOutputDevice());
return o;
}
CAudioDeviceInfoList CAudioDeviceInfoList::allDevicesPlusDefault()
{
CAudioDeviceInfoList i = allInputDevicesPlusDefault();
i.push_back(allOutputDevicesPlusDefault());
return i;
}
QList<QAudioDevice> CAudioDeviceInfoList::allQtInputDevices()
{
const QList<QAudioDevice> devices = QMediaDevices::audioInputs();

View File

@@ -86,9 +86,6 @@ namespace swift::misc::audio
static CAudioDeviceInfoList allInputDevices();
static CAudioDeviceInfoList allOutputDevices();
static CAudioDeviceInfoList allDevices();
static CAudioDeviceInfoList allInputDevicesPlusDefault();
static CAudioDeviceInfoList allOutputDevicesPlusDefault();
static CAudioDeviceInfoList allDevicesPlusDefault();
static QList<QAudioDevice> allQtInputDevices();
static QList<QAudioDevice> allQtOutputDevices();
static QAudioDevice defaultQtInputDevice();