1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-08-31 20:27:52 -04:00

Multiple audio support: New audio preferences dialog (2)

This commit is contained in:
f4exb 2018-03-25 13:36:09 +02:00
parent 745e187e2b
commit 677c598347
4 changed files with 16 additions and 13 deletions

View File

@ -119,7 +119,6 @@ private:
void deserializeOutputMap(QByteArray& data); void deserializeOutputMap(QByteArray& data);
void debugAudioOutputInfos() const; void debugAudioOutputInfos() const;
friend class AudioDialog;
friend class MainSettings; friend class MainSettings;
}; };

View File

@ -4,7 +4,7 @@
#include <QTreeWidgetItem> #include <QTreeWidgetItem>
#include "ui_audiodialog.h" #include "ui_audiodialog.h"
AudioDialog::AudioDialog(AudioDeviceManager* audioDeviceManager, QWidget* parent) : AudioDialogX::AudioDialogX(AudioDeviceManager* audioDeviceManager, QWidget* parent) :
QDialog(parent), QDialog(parent),
ui(new Ui::AudioDialog), ui(new Ui::AudioDialog),
m_audioDeviceManager(audioDeviceManager) m_audioDeviceManager(audioDeviceManager)
@ -15,16 +15,18 @@ AudioDialog::AudioDialog(AudioDeviceManager* audioDeviceManager, QWidget* parent
// out panel // out panel
QAudioDeviceInfo defaultOutputDeviceInfo = QAudioDeviceInfo::defaultOutputDevice();
treeItem = new QTreeWidgetItem(ui->audioOutTree); treeItem = new QTreeWidgetItem(ui->audioOutTree);
treeItem->setText(0, tr("Default (use first suitable device)")); treeItem->setText(0, tr("System default output device"));
const QList<QAudioDeviceInfo>& outputDevices = m_audioDeviceManager->getOutputDevices(); const QList<QAudioDeviceInfo>& outputDevices = m_audioDeviceManager->getOutputDevices();
i = 0; i = 0;
for(QList<QAudioDeviceInfo>::const_iterator it = outputDevices.begin(); it != outputDevices.end(); ++it) for(QList<QAudioDeviceInfo>::const_iterator it = outputDevices.begin(); it != outputDevices.end(); ++it)
{ {
bool isDefaultDevice = it->deviceName() == defaultOutputDeviceInfo.deviceName();
treeItem = new QTreeWidgetItem(ui->audioOutTree); treeItem = new QTreeWidgetItem(ui->audioOutTree);
treeItem->setText(0, qPrintable(it->deviceName())); treeItem->setText(0, it->deviceName() + (isDefaultDevice ? "(*)" : ""));
if (i == 0) if (i == 0)
{ {
@ -36,16 +38,18 @@ AudioDialog::AudioDialog(AudioDeviceManager* audioDeviceManager, QWidget* parent
// in panel // in panel
QAudioDeviceInfo defaultInputDeviceInfo = QAudioDeviceInfo::defaultInputDevice();
treeItem = new QTreeWidgetItem(ui->audioInTree); treeItem = new QTreeWidgetItem(ui->audioInTree);
treeItem->setText(0, tr("Default (use first suitable device)")); treeItem->setText(0, tr("System default input device"));
const QList<QAudioDeviceInfo>& inputDevices = m_audioDeviceManager->getInputDevices(); const QList<QAudioDeviceInfo>& inputDevices = m_audioDeviceManager->getInputDevices();
i = 0; i = 0;
for(QList<QAudioDeviceInfo>::const_iterator it = inputDevices.begin(); it != inputDevices.end(); ++it) for(QList<QAudioDeviceInfo>::const_iterator it = inputDevices.begin(); it != inputDevices.end(); ++it)
{ {
bool isDefaultDevice = it->deviceName() == defaultInputDeviceInfo.deviceName();
treeItem = new QTreeWidgetItem(ui->audioInTree); treeItem = new QTreeWidgetItem(ui->audioInTree);
treeItem->setText(0, qPrintable(it->deviceName())); treeItem->setText(0, it->deviceName() + (isDefaultDevice ? "(*)" : ""));
if (i == 0) if (i == 0)
{ {
@ -69,17 +73,17 @@ AudioDialog::AudioDialog(AudioDeviceManager* audioDeviceManager, QWidget* parent
ui->inputVolumeText->setText(QString("%1").arg(m_inputVolume, 0, 'f', 2)); ui->inputVolumeText->setText(QString("%1").arg(m_inputVolume, 0, 'f', 2));
} }
AudioDialog::~AudioDialog() AudioDialogX::~AudioDialogX()
{ {
delete ui; delete ui;
} }
void AudioDialog::accept() void AudioDialogX::accept()
{ {
QDialog::accept(); QDialog::accept();
} }
void AudioDialog::on_inputVolume_valueChanged(int value) void AudioDialogX::on_inputVolume_valueChanged(int value)
{ {
m_inputVolume = (float) value / 100.0f; m_inputVolume = (float) value / 100.0f;
ui->inputVolumeText->setText(QString("%1").arg(m_inputVolume, 0, 'f', 2)); ui->inputVolumeText->setText(QString("%1").arg(m_inputVolume, 0, 'f', 2));

View File

@ -11,12 +11,12 @@ namespace Ui {
class AudioDialog; class AudioDialog;
} }
class SDRGUI_API AudioDialog : public QDialog { class SDRGUI_API AudioDialogX : public QDialog {
Q_OBJECT Q_OBJECT
public: public:
explicit AudioDialog(AudioDeviceManager* audioDeviceManager, QWidget* parent = 0); explicit AudioDialogX(AudioDeviceManager* audioDeviceManager, QWidget* parent = 0);
~AudioDialog(); ~AudioDialogX();
private: private:
Ui::AudioDialog* ui; Ui::AudioDialog* ui;

View File

@ -1414,7 +1414,7 @@ void MainWindow::on_action_Loaded_Plugins_triggered()
void MainWindow::on_action_Audio_triggered() void MainWindow::on_action_Audio_triggered()
{ {
AudioDialog audioDialog(m_dspEngine->getAudioDeviceManager(), this); AudioDialogX audioDialog(m_dspEngine->getAudioDeviceManager(), this);
audioDialog.exec(); audioDialog.exec();
} }