From 7b4f1cfb4a2cdbc203299b0b89710545f2d2d287 Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Fri, 28 Aug 2015 22:09:07 -0700 Subject: Handle the stereo-mode config option with alsoft-config --- utils/alsoft-config/mainwindow.cpp | 41 ++++++++++++++++++++++++ utils/alsoft-config/mainwindow.ui | 65 ++++++++++++++++++++++++++++---------- 2 files changed, 89 insertions(+), 17 deletions(-) (limited to 'utils/alsoft-config') 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,51 +148,51 @@ to stereo output. - 96000 + 8000 - 48000 + 11025 - 44100 + 16000 - 32000 + 22050 - 22050 + 32000 - 16000 + 44100 - 11025 + 48000 - 8000 + 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. + + -- cgit v1.2.3