aboutsummaryrefslogtreecommitdiffstats
path: root/utils/alsoft-config
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2021-11-11 22:40:10 -0800
committerChris Robinson <[email protected]>2021-11-11 22:40:10 -0800
commit5eb93f6c7437a7b08f500a2484f9734499f36976 (patch)
tree023f6ba50a336adbf8cd053fdb9b69aef2b9d8b6 /utils/alsoft-config
parentbbff1efa2a90dc98e5cfe6c4707d44af79abe6b7 (diff)
Update alsoft-config
Diffstat (limited to 'utils/alsoft-config')
-rw-r--r--utils/alsoft-config/mainwindow.cpp11
-rw-r--r--utils/alsoft-config/mainwindow.ui55
2 files changed, 49 insertions, 17 deletions
diff --git a/utils/alsoft-config/mainwindow.cpp b/utils/alsoft-config/mainwindow.cpp
index 7eea93ff..75859645 100644
--- a/utils/alsoft-config/mainwindow.cpp
+++ b/utils/alsoft-config/mainwindow.cpp
@@ -121,6 +121,7 @@ static const struct NameValuePair {
{ "Default", "" },
{ "Pan Pot", "panpot" },
{ "UHJ", "uhj" },
+ { "Binaural", "hrtf" },
{ "", "" }
}, ambiFormatList[] = {
@@ -446,6 +447,7 @@ MainWindow::MainWindow(QWidget *parent) :
connect(ui->jackAutospawnCheckBox, &QCheckBox::stateChanged, this, &MainWindow::enableApplyButton);
connect(ui->jackConnectPortsCheckBox, &QCheckBox::stateChanged, this, &MainWindow::enableApplyButton);
+ connect(ui->jackRtMixCheckBox, &QCheckBox::stateChanged, this, &MainWindow::enableApplyButton);
connect(ui->jackBufferSizeSlider, &QSlider::valueChanged, this, &MainWindow::updateJackBufferSizeEdit);
connect(ui->jackBufferSizeLine, &QLineEdit::editingFinished, this, &MainWindow::updateJackBufferSizeSlider);
@@ -736,8 +738,7 @@ void MainWindow::loadConfig(const QString &fname)
}
}
- bool hqmode{settings.value("decoder/hq-mode", true).toBool()};
- ui->decoderHQModeCheckBox->setChecked(hqmode);
+ 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()};
@@ -920,6 +921,7 @@ void MainWindow::loadConfig(const QString &fname)
ui->jackAutospawnCheckBox->setCheckState(getCheckState(settings.value("jack/spawn-server")));
ui->jackConnectPortsCheckBox->setCheckState(getCheckState(settings.value("jack/connect-ports")));
+ ui->jackRtMixCheckBox->setCheckState(getCheckState(settings.value("jack/rt-mix")));
ui->jackBufferSizeLine->setText(settings.value("jack/buffer-size", QString()).toString());
updateJackBufferSizeSlider();
@@ -999,9 +1001,7 @@ void MainWindow::saveConfig(const QString &fname) const
settings.setValue("output-limiter", getCheckValue(ui->outputLimiterCheckBox));
settings.setValue("dither", getCheckValue(ui->outputDitherCheckBox));
- settings.setValue("decoder/hq-mode",
- ui->decoderHQModeCheckBox->isChecked() ? QString{/*"true"*/} : QString{"false"}
- );
+ 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();
@@ -1130,6 +1130,7 @@ void MainWindow::saveConfig(const QString &fname) const
settings.setValue("jack/spawn-server", getCheckValue(ui->jackAutospawnCheckBox));
settings.setValue("jack/connect-ports", getCheckValue(ui->jackConnectPortsCheckBox));
+ settings.setValue("jack/rt-mix", getCheckValue(ui->jackRtMixCheckBox));
settings.setValue("jack/buffer-size", ui->jackBufferSizeLine->text());
settings.setValue("alsa/device", ui->alsaDefaultDeviceLine->text());
diff --git a/utils/alsoft-config/mainwindow.ui b/utils/alsoft-config/mainwindow.ui
index 77688cf0..cfe8d6d2 100644
--- a/utils/alsoft-config/mainwindow.ui
+++ b/utils/alsoft-config/mainwindow.ui
@@ -62,7 +62,7 @@
<rect>
<x>110</x>
<y>50</y>
- <width>76</width>
+ <width>80</width>
<height>31</height>
</rect>
</property>
@@ -111,7 +111,7 @@ float and converted to the output sample type as needed.</string>
<rect>
<x>110</x>
<y>20</y>
- <width>76</width>
+ <width>80</width>
<height>31</height>
</rect>
</property>
@@ -129,7 +129,7 @@ to stereo output.</string>
<rect>
<x>380</x>
<y>20</y>
- <width>96</width>
+ <width>100</width>
<height>31</height>
</rect>
</property>
@@ -437,12 +437,15 @@ frames needed for each mixing update.</string>
</property>
<property name="toolTip">
<string>Pan Pot uses standard amplitude panning (aka
-pair-wise, stereo pair, etc) between -30 and +30
-degrees, while UHJ creates a stereo-compatible
-two-channel UHJ mix, which encodes some
-surround sound information into stereo output
-that can be decoded with a surround sound
-receiver.</string>
+pair-wise, stereo pair, etc).
+
+UHJ creates a stereo-compatible two-channel
+UHJ mix, which encodes some surround sound
+information into stereo output that can be
+decoded with a surround sound receiver.
+
+Binaural applies HRTF filters to create a sense
+of 3D space with headphones.</string>
</property>
</widget>
<widget class="QLabel" name="label_19">
@@ -632,6 +635,9 @@ appropriate speaker configuration you intend to use.</string>
<property name="text">
<string>High Quality Mode:</string>
</property>
+ <property name="tristate">
+ <bool>true</bool>
+ </property>
</widget>
<widget class="QCheckBox" name="decoderDistCompCheckBox">
<property name="geometry">
@@ -1442,7 +1448,7 @@ drop-outs.</string>
<property name="geometry">
<rect>
<x>10</x>
- <y>70</y>
+ <y>110</y>
<width>401</width>
<height>80</height>
</rect>
@@ -1450,7 +1456,8 @@ drop-outs.</string>
<property name="toolTip">
<string>The update buffer size, in samples, that the backend
will keep buffered to handle the server's real-time
-processing requests. Must be a power of 2.</string>
+processing requests. Must be a power of 2. Ignored
+when Real-time Mixing is used.</string>
</property>
<property name="title">
<string>Buffer Size</string>
@@ -1516,6 +1523,30 @@ processing requests. Must be a power of 2.</string>
<bool>true</bool>
</property>
</widget>
+ <widget class="QCheckBox" name="jackRtMixCheckBox">
+ <property name="geometry">
+ <rect>
+ <x>20</x>
+ <y>70</y>
+ <width>141</width>
+ <height>21</height>
+ </rect>
+ </property>
+ <property name="toolTip">
+ <string>Renders samples directly in the real-time
+processing callback. This allows for lower
+latency and less overall CPU utilization, but
+can increase the risk of underruns when
+increasing the amount of processing the
+mixer needs to do.</string>
+ </property>
+ <property name="text">
+ <string>Real-time Mixing</string>
+ </property>
+ <property name="tristate">
+ <bool>true</bool>
+ </property>
+ </widget>
</widget>
<widget class="QWidget" name="page_3">
<widget class="QLabel" name="label_17">
@@ -2317,7 +2348,7 @@ added by the ALC_EXT_DEDICATED extension.</string>
<rect>
<x>160</x>
<y>20</y>
- <width>131</width>
+ <width>135</width>
<height>31</height>
</rect>
</property>