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(); 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 CAudioDeviceInfoList CContextAudioBase::getCurrentAudioDevices() const
{ {
const QString inputDeviceName = m_inputDeviceSetting.get(); const QString inputDeviceName = m_inputDeviceSetting.get();
const CAudioDeviceInfo inputDevice = this->getAudioInputDevicesPlusDefault().findByNameOrDefault( const CAudioDeviceInfo inputDevice = this->getAudioInputDevices().findByNameOrDefault(
inputDeviceName, CAudioDeviceInfo::getDefaultInputDevice()); inputDeviceName, CAudioDeviceInfo::getDefaultInputDevice());
const QString outputDeviceName = m_outputDeviceSetting.get(); const QString outputDeviceName = m_outputDeviceSetting.get();
const CAudioDeviceInfo outputDevice = this->getAudioOutputDevicesPlusDefault().findByNameOrDefault( const CAudioDeviceInfo outputDevice = this->getAudioOutputDevices().findByNameOrDefault(
outputDeviceName, CAudioDeviceInfo::getDefaultOutputDevice()); outputDeviceName, CAudioDeviceInfo::getDefaultOutputDevice());
CAudioDeviceInfoList devices; CAudioDeviceInfoList devices;

View File

@@ -154,9 +154,6 @@ namespace swift::core
swift::misc::audio::CAudioDeviceInfoList getAudioDevices() const; swift::misc::audio::CAudioDeviceInfoList getAudioDevices() const;
swift::misc::audio::CAudioDeviceInfoList getAudioInputDevices() const; swift::misc::audio::CAudioDeviceInfoList getAudioInputDevices() const;
swift::misc::audio::CAudioDeviceInfoList getAudioOutputDevices() 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 //! Get current audio device

View File

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

View File

@@ -157,27 +157,6 @@ namespace swift::misc::audio
return i; 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() QList<QAudioDevice> CAudioDeviceInfoList::allQtInputDevices()
{ {
const QList<QAudioDevice> devices = QMediaDevices::audioInputs(); const QList<QAudioDevice> devices = QMediaDevices::audioInputs();

View File

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