diff --git a/utils/alsoft-config/mainwindow.cpp b/utils/alsoft-config/mainwindow.cpp
index 05afc918..60e5f999 100644
--- a/utils/alsoft-config/mainwindow.cpp
+++ b/utils/alsoft-config/mainwindow.cpp
@@ -65,6 +65,12 @@ static const struct {
{ "Linear (basic quality, fast)", "linear" },
{ "Cubic Spline (good quality)", "cubic" },
+ { "", "" }
+}, stereoModeList[] = {
+ { "Autodetect", "" },
+ { "Speakers", "speakers" },
+ { "Headphones", "headphones" },
+
{ "", "" }
};
@@ -153,6 +159,9 @@ MainWindow::MainWindow(QWidget *parent) :
for(int i = 0;resamplerList[i].name[0];i++)
ui->resamplerComboBox->addItem(resamplerList[i].name);
ui->resamplerComboBox->adjustSize();
+ for(int i = 0;stereoModeList[i].name[0];i++)
+ ui->stereoModeCombo->addItem(stereoModeList[i].name);
+ ui->stereoModeCombo->adjustSize();
mPeriodSizeValidator = new QIntValidator(64, 8192, this);
ui->periodSizeEdit->setValidator(mPeriodSizeValidator);
@@ -302,6 +311,28 @@ void MainWindow::loadConfig(const QString &fname)
}
}
+ QString stereomode = settings.value("stereo-mode").toString().trimmed();
+ ui->stereoModeCombo->setCurrentIndex(0);
+ if(stereomode.isEmpty() == false)
+ {
+ for(int i = 0;stereoModeList[i].name[i];i++)
+ {
+ if(stereomode == stereoModeList[i].value)
+ {
+ for(int j = 1;j < ui->stereoModeCombo->count();j++)
+ {
+ QString item = ui->stereoModeCombo->itemText(j);
+ if(item == stereoModeList[i].name)
+ {
+ ui->stereoModeCombo->setCurrentIndex(j);
+ break;
+ }
+ }
+ break;
+ }
+ }
+ }
+
int periodsize = settings.value("period_size").toInt();
ui->periodSizeEdit->clear();
if(periodsize >= 64)
@@ -475,6 +506,16 @@ void MainWindow::saveConfig(const QString &fname) const
}
}
+ str = ui->stereoModeCombo->currentText();
+ for(int i = 0;stereoModeList[i].name[0];i++)
+ {
+ if(str == stereoModeList[i].name)
+ {
+ settings.setValue("stereo-mode", stereoModeList[i].value);
+ break;
+ }
+ }
+
QStringList strlist;
if(!ui->enableSSECheckBox->isChecked())
strlist.append("sse");
diff --git a/utils/alsoft-config/mainwindow.ui b/utils/alsoft-config/mainwindow.ui
index 6a2fed14..3dbc7e1c 100644
--- a/utils/alsoft-config/mainwindow.ui
+++ b/utils/alsoft-config/mainwindow.ui
@@ -123,8 +123,8 @@ to stereo output.
- 120
- 80
+ 370
+ 20
96
22
@@ -148,32 +148,7 @@ to stereo output.
-
- 96000
-
-
- -
-
- 48000
-
-
- -
-
- 44100
-
-
- -
-
- 32000
-
-
- -
-
- 22050
-
-
- -
-
- 16000
+ 8000
-
@@ -183,16 +158,41 @@ to stereo output.
-
- 8000
+ 16000
+
+
+ -
+
+ 22050
+
+
+ -
+
+ 32000
+
+
+ -
+
+ 44100
+
+
+ -
+
+ 48000
+
+
+ -
+
+ 96000
- 10
- 80
- 101
+ 280
+ 20
+ 81
21
@@ -207,9 +207,9 @@ to stereo output.
10
- 200
+ 180
511
- 161
+ 181
@@ -274,7 +274,7 @@ sample rate.
110
30
301
- 121
+ 141
@@ -344,7 +344,7 @@ contain these markers, which will be replaced as needed:
10
- 110
+ 90
511
91
@@ -515,6 +515,37 @@ frames needed for each mixing update.
+
+
+
+ 280
+ 50
+ 81
+ 21
+
+
+
+ Stereo Mode:
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+
+
+ 370
+ 50
+ 78
+ 22
+
+
+
+ How to treat stereo output. As headphones, HRTF or crossfeed
+filters may be used to improve binaural quality, which may not
+otherwise be suitable for speakers.
+
+