From 201f5cb63ff8fb2781afa8afeda6a0e699f9e6c4 Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Thu, 17 Nov 2022 00:26:10 -0800 Subject: Update alsoft-config for new options --- utils/alsoft-config/mainwindow.cpp | 23 +++++--- utils/alsoft-config/mainwindow.ui | 117 ++++++++++++++++++++++++------------- 2 files changed, 89 insertions(+), 51 deletions(-) (limited to 'utils') diff --git a/utils/alsoft-config/mainwindow.cpp b/utils/alsoft-config/mainwindow.cpp index 3565493e..8abde1fd 100644 --- a/utils/alsoft-config/mainwindow.cpp +++ b/utils/alsoft-config/mainwindow.cpp @@ -404,7 +404,7 @@ MainWindow::MainWindow(QWidget *parent) : connect(ui->decoderDistCompCheckBox, &QCheckBox::stateChanged, this, &MainWindow::enableApplyButton); connect(ui->decoderNFEffectsCheckBox, &QCheckBox::stateChanged, this, &MainWindow::enableApplyButton); auto qdsb_vcd = static_cast(&QDoubleSpinBox::valueChanged); - connect(ui->decoderNFRefDelaySpinBox, qdsb_vcd, this, &MainWindow::enableApplyButton); + connect(ui->decoderSpeakerDistSpinBox, qdsb_vcd, this, &MainWindow::enableApplyButton); connect(ui->decoderQuadLineEdit, &QLineEdit::textChanged, this, &MainWindow::enableApplyButton); connect(ui->decoderQuadButton, &QPushButton::clicked, this, &MainWindow::selectQuadDecoderFile); connect(ui->decoder51LineEdit, &QLineEdit::textChanged, this, &MainWindow::enableApplyButton); @@ -762,13 +762,14 @@ void MainWindow::loadConfig(const QString &fname) ui->decoderHQModeCheckBox->setChecked(getCheckState(settings.value("decoder/hq-mode"))); ui->decoderDistCompCheckBox->setCheckState(getCheckState(settings.value("decoder/distance-comp"))); ui->decoderNFEffectsCheckBox->setCheckState(getCheckState(settings.value("decoder/nfc"))); - double refdelay{settings.value("decoder/nfc-ref-delay", 0.0).toDouble()}; - ui->decoderNFRefDelaySpinBox->setValue(refdelay); + double speakerdist{settings.value("decoder/speaker-dist", 1.0).toDouble()}; + ui->decoderSpeakerDistSpinBox->setValue(speakerdist); ui->decoderQuadLineEdit->setText(settings.value("decoder/quad").toString()); ui->decoder51LineEdit->setText(settings.value("decoder/surround51").toString()); ui->decoder61LineEdit->setText(settings.value("decoder/surround61").toString()); ui->decoder71LineEdit->setText(settings.value("decoder/surround71").toString()); + ui->decoder3D71LineEdit->setText(settings.value("decoder/surround3d71").toString()); QStringList disabledCpuExts{settings.value("disable-cpu-exts").toStringList()}; if(disabledCpuExts.size() == 1) @@ -1028,15 +1029,16 @@ void MainWindow::saveConfig(const QString &fname) const settings.setValue("decoder/hq-mode", getCheckValue(ui->decoderHQModeCheckBox)); settings.setValue("decoder/distance-comp", getCheckValue(ui->decoderDistCompCheckBox)); settings.setValue("decoder/nfc", getCheckValue(ui->decoderNFEffectsCheckBox)); - double refdelay = ui->decoderNFRefDelaySpinBox->value(); - settings.setValue("decoder/nfc-ref-delay", - (refdelay > 0.0) ? QString::number(refdelay) : QString{} + double speakerdist{ui->decoderSpeakerDistSpinBox->value()}; + settings.setValue("decoder/speaker-dist", + (speakerdist != 1.0) ? QString::number(speakerdist) : QString{} ); settings.setValue("decoder/quad", ui->decoderQuadLineEdit->text()); settings.setValue("decoder/surround51", ui->decoder51LineEdit->text()); settings.setValue("decoder/surround61", ui->decoder61LineEdit->text()); settings.setValue("decoder/surround71", ui->decoder71LineEdit->text()); + settings.setValue("decoder/surround3d71", ui->decoder3D71LineEdit->text()); QStringList strlist; if(!ui->enableSSECheckBox->isChecked()) @@ -1150,14 +1152,17 @@ void MainWindow::saveConfig(const QString &fname) const (!ui->enableEaxCheck->isEnabled() || ui->enableEaxCheck->isChecked()) ? QString{/*"true"*/} : QString{"false"}); + settings.setValue("pipewire/assume-audio", ui->pwireAssumeAudioCheckBox->isChecked() + ? QString{"true"} : QString{/*"false"*/}); + + settings.setValue("wasapi/allow-resampler", ui->wasapiResamplerCheckBox->isChecked() + ? QString{/*"true"*/} : QString{"false"}); + settings.setValue("pulse/spawn-server", getCheckValue(ui->pulseAutospawnCheckBox)); settings.setValue("pulse/allow-moves", getCheckValue(ui->pulseAllowMovesCheckBox)); settings.setValue("pulse/fix-rate", getCheckValue(ui->pulseFixRateCheckBox)); settings.setValue("pulse/adjust-latency", getCheckValue(ui->pulseAdjLatencyCheckBox)); - settings.setValue("pipewire/assume-audio", ui->pwireAssumeAudioCheckBox->isChecked() - ? QString{"true"} : QString{/*"false"*/}); - settings.setValue("jack/spawn-server", getCheckValue(ui->jackAutospawnCheckBox)); settings.setValue("jack/connect-ports", getCheckValue(ui->jackConnectPortsCheckBox)); settings.setValue("jack/rt-mix", getCheckValue(ui->jackRtMixCheckBox)); diff --git a/utils/alsoft-config/mainwindow.ui b/utils/alsoft-config/mainwindow.ui index 8d057679..659807c7 100644 --- a/utils/alsoft-config/mainwindow.ui +++ b/utils/alsoft-config/mainwindow.ui @@ -906,60 +906,63 @@ are set in the decoder configuration file. - -10 + 30 110 - 281 + 471 21 - The reference delay value for ambisonic output. When -Channels is set to one of the Ambisonic formats, this -option enables NFC-HOA output with the specified -Reference Delay parameter. The specified value can then -be shared with an appropriate NFC-HOA decoder to -reproduce correct near-field effects. Keep in mind that -despite being designed for higher-order ambisonics, this -applies to first-order output all the same. When left unset, -normal output is created with no near-field simulation. + Specifies the speaker distance in meters, used by the near-field control +filters with surround sound output. For ambisonic output modes, this value +is the basis for the NFC-HOA Reference Delay parameter (calculated as +delay_seconds = speaker_dist/343.3). This value is not used when a decoder +configuration is set for the output mode (since they specify the per-speaker +distances, overriding this setting), or when the NFC filters are off. - 20 + 45 0 - 171 + 111 21 - Near-Field Reference Delay: + Speaker Distance: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - + - 200 + 165 0 - 81 + 101 21 - sec + meters - 4 + 2 + + + 0.100000000000000 - 1000.000000000000000 + 10.000000000000000 0.010000000000000 + + 1.000000000000000 + @@ -1259,12 +1262,17 @@ application or system to determine if it should be used. - PulseAudio + PipeWire - PipeWire + WASAPI + + + + + PulseAudio @@ -1382,7 +1390,52 @@ duplicated names are ignored. + + + + + 20 + 10 + 161 + 21 + + + + Assumes PipeWire has support for audio, allowing +the backend to initialize even when no audio devices +are reported. + + + Assume audio support + + + + + + + 20 + 10 + 191 + 21 + + + + Specifies whether to allow an extra resampler pass on the output. Enabling +this will allow the playback device to be set to a different sample rate +than the actual output can accept, causing the backend to apply its own +resampling pass after OpenAL Soft mixes the sources and processes effects +for output. + + + Allow Resampler + + + true + + + + @@ -1469,26 +1522,6 @@ drop-outs. - - - - - 20 - 10 - 161 - 21 - - - - Assumes PipeWire has support for audio, allowing -the backend to initialize even when no audio devices -are reported. - - - Assume audio support - - - -- cgit v1.2.3