mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-23 15:25:35 +08:00
Unified how settings are read in audio context
This commit is contained in:
@@ -148,6 +148,7 @@ namespace BlackCore
|
||||
QTimer::singleShot(5000, this, [ = ]
|
||||
{
|
||||
if (!myself || !sApp || sApp->isShuttingDown()) { return; }
|
||||
// myself->changeDeviceSettings();
|
||||
myself->onChangedAudioSettings();
|
||||
myself->onChangedLocalDevices(m_activeLocalDevices);
|
||||
});
|
||||
@@ -369,8 +370,19 @@ namespace BlackCore
|
||||
void CContextAudioBase::setCurrentAudioDevices(const CAudioDeviceInfo &inputDevice, const CAudioDeviceInfo &outputDevice)
|
||||
{
|
||||
if (!m_voiceClient) { return; }
|
||||
if (!inputDevice.getName().isEmpty()) { m_inputDeviceSetting.setAndSave(inputDevice.getName()); }
|
||||
if (!outputDevice.getName().isEmpty()) { m_outputDeviceSetting.setAndSave(outputDevice.getName()); }
|
||||
|
||||
if (!inputDevice.getName().isEmpty() && inputDevice.getName() != m_inputDeviceSetting.get())
|
||||
{
|
||||
Q_ASSERT_X(inputDevice.isInputDevice(), Q_FUNC_INFO, "Need input device");
|
||||
const CStatusMessage m = m_inputDeviceSetting.setAndSave(inputDevice.getName());
|
||||
CLogMessage::preformatted(m);
|
||||
}
|
||||
if (!outputDevice.getName().isEmpty() && outputDevice.getName() != m_outputDeviceSetting.get())
|
||||
{
|
||||
Q_ASSERT_X(outputDevice.isOutputDevice(), Q_FUNC_INFO, "Need output device");
|
||||
const CStatusMessage m = m_outputDeviceSetting.setAndSave(outputDevice.getName());
|
||||
CLogMessage::preformatted(m);
|
||||
}
|
||||
|
||||
m_voiceClient->startAudio(inputDevice, outputDevice);
|
||||
}
|
||||
@@ -523,12 +535,11 @@ namespace BlackCore
|
||||
|
||||
void CContextAudioBase::changeDeviceSettings()
|
||||
{
|
||||
const QString inputDeviceName = m_inputDeviceSetting.get();
|
||||
const CAudioDeviceInfo input = this->getAudioInputDevicesPlusDefault().findByNameOrDefault(inputDeviceName, CAudioDeviceInfo::getDefaultInputDevice());
|
||||
|
||||
const QString outputDeviceName = m_outputDeviceSetting.get();
|
||||
const CAudioDeviceInfo output = this->getAudioOutputDevicesPlusDefault().findByNameOrDefault(outputDeviceName, CAudioDeviceInfo::getDefaultOutputDevice());
|
||||
const CAudioDeviceInfoList devices = this->getCurrentAudioDevices();
|
||||
Q_ASSERT_X(devices.size() == 2, Q_FUNC_INFO, "Expect INPUT and OUTPUT device");
|
||||
|
||||
const CAudioDeviceInfo input = devices.front();
|
||||
const CAudioDeviceInfo output = devices.back();
|
||||
this->setCurrentAudioDevices(input, output);
|
||||
}
|
||||
|
||||
|
||||
@@ -127,7 +127,7 @@ namespace BlackGui
|
||||
bool m_init = false;
|
||||
BlackMisc::CConnectionGuard m_afvConnections;
|
||||
QScopedPointer<Ui::CAudioDeviceVolumeSetupComponent> ui;
|
||||
BlackMisc::Audio::CAudioDeviceInfoList m_cbDevices;
|
||||
BlackMisc::Audio::CAudioDeviceInfoList m_cbDevices; //!< devices to be displayed in the checkbox
|
||||
BlackMisc::CDigestSignal m_volumeSliderChanged { this, &CAudioDeviceVolumeSetupComponent::saveVolumes, 1000, 10 };
|
||||
BlackMisc::CSetting<BlackMisc::Audio::TSettings> m_audioSettings { this, &CAudioDeviceVolumeSetupComponent::reloadSettings };
|
||||
};
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>400</width>
|
||||
<height>500</height>
|
||||
<height>575</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
|
||||
Reference in New Issue
Block a user