aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2016-02-22 03:05:13 -0800
committerChris Robinson <[email protected]>2016-02-22 03:05:13 -0800
commit9d94f792de3c1bcd8260c0510c63ab5656ce07bf (patch)
treea0b6ce9ad63bd6c7be4c0f5b77382e4a420b4c93
parentbd233c8cdbd4ce8e0cf92b0af06c2309d360bfba (diff)
Restructure alsoft-config UI
The HRTF stuff is moved to its own tab, and a Preferred HRTF combo box is added for future use. The resampler option is moved to the main Playback tab, and some options are moved to an Advanced Settings section on the tab.
-rw-r--r--utils/alsoft-config/mainwindow.cpp78
-rw-r--r--utils/alsoft-config/mainwindow.h2
-rw-r--r--utils/alsoft-config/mainwindow.ui645
3 files changed, 423 insertions, 302 deletions
diff --git a/utils/alsoft-config/mainwindow.cpp b/utils/alsoft-config/mainwindow.cpp
index 01f59e4b..c05e343e 100644
--- a/utils/alsoft-config/mainwindow.cpp
+++ b/utils/alsoft-config/mainwindow.cpp
@@ -86,12 +86,12 @@ static const struct {
{ "", "" }
}, resamplerList[] = {
- { "Default", "" },
- { "Point (low quality, very fast)", "point" },
- { "Linear (basic quality, fast)", "linear" },
- { "4-Point Sinc (good quality)", "sinc4" },
- { "8-Point Sinc (high quality, slow)", "sinc8" },
- { "Band-limited Sinc (very high quality, very slow)", "bsinc" },
+ { "Point", "point" },
+ { "Linear", "linear" },
+ { "Default (Linear)", "" },
+ { "4-Point Sinc", "sinc4" },
+ { "8-Point Sinc", "sinc8" },
+ { "Band-limited Sinc", "bsinc" },
{ "", "" }
}, stereoModeList[] = {
@@ -183,13 +183,15 @@ MainWindow::MainWindow(QWidget *parent) :
for(int i = 0;sampleTypeList[i].name[0];i++)
ui->sampleFormatCombo->addItem(sampleTypeList[i].name);
ui->sampleFormatCombo->adjustSize();
- 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();
+ int count;
+ for(count = 0;resamplerList[count].name[0];count++) {
+ }
+ ui->resamplerSlider->setRange(0, count-1);
+
ui->hrtfStateComboBox->adjustSize();
#if !defined(HAVE_NEON) && !defined(HAVE_SSE)
@@ -251,6 +253,8 @@ MainWindow::MainWindow(QWidget *parent) :
connect(ui->applyButton, SIGNAL(clicked()), this, SLOT(saveCurrentConfig()));
+ connect(ui->resamplerSlider, SIGNAL(valueChanged(int)), this, SLOT(updateResamplerLabel(int)));
+
connect(ui->periodSizeSlider, SIGNAL(valueChanged(int)), this, SLOT(updatePeriodSizeEdit(int)));
connect(ui->periodSizeEdit, SIGNAL(editingFinished()), this, SLOT(updatePeriodSizeSlider()));
connect(ui->periodCountSlider, SIGNAL(valueChanged(int)), this, SLOT(updatePeriodCountEdit(int)));
@@ -352,29 +356,17 @@ void MainWindow::loadConfig(const QString &fname)
ui->srcSendLineEdit->insert(settings.value("sends").toString());
QString resampler = settings.value("resampler").toString().trimmed();
- ui->resamplerComboBox->setCurrentIndex(0);
- if(resampler.isEmpty() == false)
+ ui->resamplerSlider->setValue(0);
+ /* The "cubic" resampler is no longer supported. It's been replaced by
+ * "sinc4". */
+ if(resampler == "cubic")
+ resampler = "sinc4";
+ for(int i = 0;resamplerList[i].name[i];i++)
{
- /* The "cubic" resampler is no longer supported. It's been replaced by
- * "sinc4". */
- if(resampler == "cubic")
- resampler = "sinc4";
-
- for(int i = 0;resamplerList[i].name[i];i++)
+ if(resampler == resamplerList[i].value)
{
- if(resampler == resamplerList[i].value)
- {
- for(int j = 1;j < ui->resamplerComboBox->count();j++)
- {
- QString item = ui->resamplerComboBox->itemText(j);
- if(item == resamplerList[i].name)
- {
- ui->resamplerComboBox->setCurrentIndex(j);
- break;
- }
- }
- break;
- }
+ ui->resamplerSlider->setValue(i);
+ break;
}
}
@@ -442,6 +434,14 @@ void MainWindow::loadConfig(const QString &fname)
hrtf_tables = hrtf_tables[0].split(QChar(','));
std::transform(hrtf_tables.begin(), hrtf_tables.end(),
hrtf_tables.begin(), std::mem_fun_ref(&QString::trimmed));
+ hrtf_tables.removeDuplicates();
+ if(!hrtf_tables.empty() && !hrtf_tables.contains("%s.mhr"))
+ ui->defaultHrtfPathsCheckBox->setCheckState(Qt::Unchecked);
+ else
+ {
+ hrtf_tables.removeOne("%s.mhr");
+ ui->defaultHrtfPathsCheckBox->setCheckState(Qt::Checked);
+ }
ui->hrtfFileList->clear();
ui->hrtfFileList->addItems(hrtf_tables);
updateHrtfRemoveButton();
@@ -562,15 +562,7 @@ void MainWindow::saveConfig(const QString &fname) const
settings.setValue("sources", ui->srcCountLineEdit->text());
settings.setValue("slots", ui->effectSlotLineEdit->text());
- str = ui->resamplerComboBox->currentText();
- for(int i = 0;resamplerList[i].name[0];i++)
- {
- if(str == resamplerList[i].name)
- {
- settings.setValue("resampler", resamplerList[i].value);
- break;
- }
- }
+ settings.setValue("resampler", resamplerList[ui->resamplerSlider->value()].value);
str = ui->stereoModeCombo->currentText();
for(int i = 0;stereoModeList[i].name[0];i++)
@@ -606,6 +598,8 @@ void MainWindow::saveConfig(const QString &fname) const
QList<QListWidgetItem*> items = ui->hrtfFileList->findItems("*", Qt::MatchWildcard);
foreach(const QListWidgetItem *item, items)
strlist.append(item->text());
+ if(!strlist.empty() && ui->defaultHrtfPathsCheckBox->isChecked())
+ strlist.append("%s.mhr");
settings.setValue("hrtf_tables", strlist.join(QChar(',')));
strlist.clear();
@@ -671,6 +665,12 @@ void MainWindow::saveConfig(const QString &fname) const
}
+void MainWindow::updateResamplerLabel(int num)
+{
+ ui->resamplerLabel->setText(resamplerList[num].name);
+}
+
+
void MainWindow::updatePeriodSizeEdit(int size)
{
ui->periodSizeEdit->clear();
diff --git a/utils/alsoft-config/mainwindow.h b/utils/alsoft-config/mainwindow.h
index b5a1ae7c..0f94c0ce 100644
--- a/utils/alsoft-config/mainwindow.h
+++ b/utils/alsoft-config/mainwindow.h
@@ -22,6 +22,8 @@ private slots:
void saveConfigAsFile();
void loadConfigFromFile();
+ void updateResamplerLabel(int num);
+
void updatePeriodSizeEdit(int size);
void updatePeriodSizeSlider();
void updatePeriodCountEdit(int size);
diff --git a/utils/alsoft-config/mainwindow.ui b/utils/alsoft-config/mainwindow.ui
index ab575fee..30e53d15 100644
--- a/utils/alsoft-config/mainwindow.ui
+++ b/utils/alsoft-config/mainwindow.ui
@@ -10,6 +10,18 @@
<height>454</height>
</rect>
</property>
+ <property name="minimumSize">
+ <size>
+ <width>564</width>
+ <height>454</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>564</width>
+ <height>454</height>
+ </size>
+ </property>
<property name="windowTitle">
<string>OpenAL Soft Configuration</string>
</property>
@@ -198,339 +210,475 @@ to stereo output.</string>
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
+ <widget class="QLabel" name="label_14">
+ <property name="geometry">
+ <rect>
+ <x>280</x>
+ <y>50</y>
+ <width>81</width>
+ <height>21</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Stereo Mode:</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ <widget class="QComboBox" name="stereoModeCombo">
+ <property name="geometry">
+ <rect>
+ <x>370</x>
+ <y>50</y>
+ <width>78</width>
+ <height>22</height>
+ </rect>
+ </property>
+ <property name="toolTip">
+ <string>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.</string>
+ </property>
+ </widget>
<widget class="QGroupBox" name="groupBox">
<property name="geometry">
<rect>
- <x>10</x>
- <y>180</y>
- <width>511</width>
- <height>191</height>
+ <x>-11</x>
+ <y>200</y>
+ <width>551</width>
+ <height>181</height>
</rect>
</property>
<property name="title">
- <string>HRTF (Stereo only)</string>
+ <string>Advanced Settings</string>
</property>
- <widget class="QListWidget" name="hrtfFileList">
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <widget class="QGroupBox" name="groupBox_3">
<property name="geometry">
<rect>
<x>20</x>
<y>30</y>
- <width>391</width>
- <height>121</height>
- </rect>
- </property>
- <property name="toolTip">
- <string>A list of files containing HRTF data sets. The listed data sets
-are used in place of the default sets. The filenames may
-contain these markers, which will be replaced as needed:
-%r - Device sampling rate
-%s - Non-greedy string (up to the following matching characters)
-%% - Percent sign (%)</string>
- </property>
- <property name="dragEnabled">
- <bool>false</bool>
- </property>
- <property name="dragDropMode">
- <enum>QAbstractItemView::InternalMove</enum>
- </property>
- <property name="alternatingRowColors">
- <bool>true</bool>
- </property>
- <property name="selectionMode">
- <enum>QAbstractItemView::ExtendedSelection</enum>
- </property>
- <property name="textElideMode">
- <enum>Qt::ElideNone</enum>
- </property>
- </widget>
- <widget class="QPushButton" name="hrtfAddButton">
- <property name="geometry">
- <rect>
- <x>420</x>
- <y>30</y>
- <width>81</width>
- <height>25</height>
+ <width>511</width>
+ <height>91</height>
</rect>
</property>
- <property name="text">
- <string>Add...</string>
- </property>
- <property name="icon">
- <iconset theme="list-add">
- <normaloff/>
- </iconset>
+ <property name="title">
+ <string>Buffer Metrics</string>
</property>
- <property name="flat">
- <bool>false</bool>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
</property>
+ <widget class="QWidget" name="widget" native="true">
+ <property name="geometry">
+ <rect>
+ <x>260</x>
+ <y>20</y>
+ <width>241</width>
+ <height>51</height>
+ </rect>
+ </property>
+ <property name="toolTip">
+ <string>The number of update periods. Higher values create a larger
+mix ahead, which helps protect against skips when the CPU is
+under load, but increases the delay between a sound getting
+mixed and being heard.</string>
+ </property>
+ <widget class="QLabel" name="label_11">
+ <property name="geometry">
+ <rect>
+ <x>20</x>
+ <y>0</y>
+ <width>201</width>
+ <height>21</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Period Count</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ <widget class="QSlider" name="periodCountSlider">
+ <property name="geometry">
+ <rect>
+ <x>70</x>
+ <y>20</y>
+ <width>160</width>
+ <height>23</height>
+ </rect>
+ </property>
+ <property name="minimum">
+ <number>1</number>
+ </property>
+ <property name="maximum">
+ <number>16</number>
+ </property>
+ <property name="singleStep">
+ <number>1</number>
+ </property>
+ <property name="pageStep">
+ <number>2</number>
+ </property>
+ <property name="value">
+ <number>1</number>
+ </property>
+ <property name="tracking">
+ <bool>true</bool>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="tickPosition">
+ <enum>QSlider::TicksBelow</enum>
+ </property>
+ <property name="tickInterval">
+ <number>1</number>
+ </property>
+ </widget>
+ <widget class="QLineEdit" name="periodCountEdit">
+ <property name="geometry">
+ <rect>
+ <x>20</x>
+ <y>20</y>
+ <width>51</width>
+ <height>22</height>
+ </rect>
+ </property>
+ <property name="placeholderText">
+ <string>4</string>
+ </property>
+ </widget>
+ </widget>
+ <widget class="QWidget" name="widget_2" native="true">
+ <property name="geometry">
+ <rect>
+ <x>10</x>
+ <y>20</y>
+ <width>241</width>
+ <height>51</height>
+ </rect>
+ </property>
+ <property name="toolTip">
+ <string>The update period size, in sample frames. This is the number of
+frames needed for each mixing update.</string>
+ </property>
+ <widget class="QSlider" name="periodSizeSlider">
+ <property name="geometry">
+ <rect>
+ <x>60</x>
+ <y>20</y>
+ <width>160</width>
+ <height>23</height>
+ </rect>
+ </property>
+ <property name="minimum">
+ <number>0</number>
+ </property>
+ <property name="maximum">
+ <number>8192</number>
+ </property>
+ <property name="singleStep">
+ <number>64</number>
+ </property>
+ <property name="pageStep">
+ <number>1024</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ <property name="tracking">
+ <bool>true</bool>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="tickPosition">
+ <enum>QSlider::TicksBelow</enum>
+ </property>
+ <property name="tickInterval">
+ <number>512</number>
+ </property>
+ </widget>
+ <widget class="QLabel" name="label_10">
+ <property name="geometry">
+ <rect>
+ <x>10</x>
+ <y>0</y>
+ <width>201</width>
+ <height>21</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Period Samples</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ <widget class="QLineEdit" name="periodSizeEdit">
+ <property name="geometry">
+ <rect>
+ <x>10</x>
+ <y>20</y>
+ <width>51</width>
+ <height>22</height>
+ </rect>
+ </property>
+ <property name="placeholderText">
+ <string>1024</string>
+ </property>
+ </widget>
+ </widget>
</widget>
- <widget class="QPushButton" name="hrtfRemoveButton">
+ </widget>
+ <widget class="QGroupBox" name="groupBox_4">
+ <property name="geometry">
+ <rect>
+ <x>90</x>
+ <y>80</y>
+ <width>351</width>
+ <height>81</height>
+ </rect>
+ </property>
+ <property name="title">
+ <string>Resampler Quality</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <widget class="QLabel" name="resamplerLabel">
<property name="geometry">
<rect>
- <x>420</x>
- <y>60</y>
- <width>81</width>
- <height>25</height>
+ <x>20</x>
+ <y>50</y>
+ <width>311</width>
+ <height>21</height>
</rect>
</property>
<property name="text">
- <string>Remove</string>
- </property>
- <property name="icon">
- <iconset theme="list-remove">
- <normaloff/>
- </iconset>
- </property>
- </widget>
- <widget class="QComboBox" name="hrtfStateComboBox">
- <property name="geometry">
- <rect>
- <x>110</x>
- <y>160</y>
- <width>161</width>
- <height>22</height>
- </rect>
+ <string>Default</string>
</property>
- <property name="sizeAdjustPolicy">
- <enum>QComboBox::AdjustToContentsOnFirstShow</enum>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
</property>
- <item>
- <property name="text">
- <string>Application preference</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force on</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Force off</string>
- </property>
- </item>
</widget>
- <widget class="QLabel" name="label_15">
+ <widget class="QSlider" name="resamplerSlider">
<property name="geometry">
<rect>
- <x>30</x>
- <y>160</y>
- <width>71</width>
- <height>21</height>
+ <x>20</x>
+ <y>30</y>
+ <width>311</width>
+ <height>23</height>
</rect>
</property>
- <property name="text">
- <string>HRTF Mode:</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
</property>
</widget>
</widget>
- <widget class="QGroupBox" name="groupBox_3">
+ </widget>
+ <widget class="QWidget" name="tab_5">
+ <attribute name="title">
+ <string>HRTF</string>
+ </attribute>
+ <widget class="QGroupBox" name="groupBox_2">
<property name="geometry">
<rect>
- <x>10</x>
- <y>90</y>
- <width>511</width>
- <height>91</height>
+ <x>-10</x>
+ <y>200</y>
+ <width>551</width>
+ <height>181</height>
</rect>
</property>
<property name="title">
- <string>Buffer Metrics</string>
+ <string>Advanced Settings</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="checkable">
+ <bool>false</bool>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
</property>
- <widget class="QWidget" name="widget" native="true">
+ <widget class="QGroupBox" name="groupBox_6">
<property name="geometry">
<rect>
- <x>260</x>
- <y>20</y>
- <width>241</width>
- <height>51</height>
+ <x>20</x>
+ <y>30</y>
+ <width>511</width>
+ <height>141</height>
</rect>
</property>
- <property name="toolTip">
- <string>The number of update periods. Higher values create a larger
-mix ahead, which helps protect against skips when the CPU is
-under load, but increases the delay between a sound getting
-mixed and being heard.</string>
+ <property name="title">
+ <string>HRTF Profiles</string>
</property>
- <widget class="QLabel" name="label_11">
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <widget class="QListWidget" name="hrtfFileList">
<property name="geometry">
<rect>
<x>20</x>
- <y>0</y>
- <width>201</width>
- <height>21</height>
- </rect>
- </property>
- <property name="text">
- <string>Period Count</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- <widget class="QSlider" name="periodCountSlider">
- <property name="geometry">
- <rect>
- <x>70</x>
<y>20</y>
- <width>160</width>
- <height>23</height>
+ <width>391</width>
+ <height>81</height>
</rect>
</property>
- <property name="minimum">
- <number>1</number>
- </property>
- <property name="maximum">
- <number>16</number>
- </property>
- <property name="singleStep">
- <number>1</number>
+ <property name="toolTip">
+ <string>A list of files containing HRTF data sets. The listed data sets
+are used in place of the default sets. The filenames may
+contain these markers, which will be replaced as needed:
+%r - Device sampling rate
+%s - Non-greedy string (up to the following matching characters)
+%% - Percent sign (%)</string>
</property>
- <property name="pageStep">
- <number>2</number>
+ <property name="dragEnabled">
+ <bool>false</bool>
</property>
- <property name="value">
- <number>1</number>
+ <property name="dragDropMode">
+ <enum>QAbstractItemView::InternalMove</enum>
</property>
- <property name="tracking">
+ <property name="alternatingRowColors">
<bool>true</bool>
</property>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
+ <property name="selectionMode">
+ <enum>QAbstractItemView::ExtendedSelection</enum>
</property>
- <property name="tickPosition">
- <enum>QSlider::TicksBelow</enum>
- </property>
- <property name="tickInterval">
- <number>1</number>
+ <property name="textElideMode">
+ <enum>Qt::ElideNone</enum>
</property>
</widget>
- <widget class="QLineEdit" name="periodCountEdit">
+ <widget class="QPushButton" name="hrtfAddButton">
<property name="geometry">
<rect>
- <x>20</x>
+ <x>420</x>
<y>20</y>
- <width>51</width>
- <height>22</height>
+ <width>81</width>
+ <height>25</height>
</rect>
</property>
- <property name="placeholderText">
- <string>4</string>
- </property>
- </widget>
- </widget>
- <widget class="QWidget" name="widget_2" native="true">
- <property name="geometry">
- <rect>
- <x>10</x>
- <y>20</y>
- <width>241</width>
- <height>51</height>
- </rect>
- </property>
- <property name="toolTip">
- <string>The update period size, in sample frames. This is the number of
-frames needed for each mixing update.</string>
- </property>
- <widget class="QSlider" name="periodSizeSlider">
- <property name="geometry">
- <rect>
- <x>60</x>
- <y>20</y>
- <width>160</width>
- <height>23</height>
- </rect>
- </property>
- <property name="minimum">
- <number>0</number>
- </property>
- <property name="maximum">
- <number>8192</number>
- </property>
- <property name="singleStep">
- <number>64</number>
- </property>
- <property name="pageStep">
- <number>1024</number>
- </property>
- <property name="value">
- <number>0</number>
- </property>
- <property name="tracking">
- <bool>true</bool>
- </property>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
+ <property name="text">
+ <string>Add...</string>
</property>
- <property name="tickPosition">
- <enum>QSlider::TicksBelow</enum>
+ <property name="icon">
+ <iconset theme="list-add">
+ <normaloff/>
+ </iconset>
</property>
- <property name="tickInterval">
- <number>512</number>
+ <property name="flat">
+ <bool>false</bool>
</property>
</widget>
- <widget class="QLabel" name="label_10">
+ <widget class="QCheckBox" name="defaultHrtfPathsCheckBox">
<property name="geometry">
<rect>
- <x>10</x>
- <y>0</y>
- <width>201</width>
+ <x>180</x>
+ <y>110</y>
+ <width>151</width>
<height>21</height>
</rect>
</property>
<property name="text">
- <string>Period Samples</string>
+ <string>Include Default Paths</string>
</property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
+ <property name="checked">
+ <bool>true</bool>
</property>
</widget>
- <widget class="QLineEdit" name="periodSizeEdit">
+ <widget class="QPushButton" name="hrtfRemoveButton">
<property name="geometry">
<rect>
- <x>10</x>
- <y>20</y>
- <width>51</width>
- <height>22</height>
+ <x>420</x>
+ <y>50</y>
+ <width>81</width>
+ <height>25</height>
</rect>
</property>
- <property name="placeholderText">
- <string>1024</string>
+ <property name="text">
+ <string>Remove</string>
+ </property>
+ <property name="icon">
+ <iconset theme="list-remove">
+ <normaloff/>
+ </iconset>
</property>
</widget>
</widget>
</widget>
- <widget class="QLabel" name="label_14">
+ <widget class="QLabel" name="label_16">
<property name="geometry">
<rect>
- <x>280</x>
+ <x>40</x>
<y>50</y>
- <width>81</width>
+ <width>71</width>
<height>21</height>
</rect>
</property>
<property name="text">
- <string>Stereo Mode:</string>
+ <string>HRTF Mode:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
- <widget class="QComboBox" name="stereoModeCombo">
+ <widget class="QComboBox" name="hrtfStateComboBox">
<property name="geometry">
<rect>
- <x>370</x>
+ <x>130</x>
<y>50</y>
- <width>78</width>
+ <width>161</width>
<height>22</height>
</rect>
</property>
- <property name="toolTip">
- <string>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.</string>
+ <property name="sizeAdjustPolicy">
+ <enum>QComboBox::AdjustToContentsOnFirstShow</enum>
+ </property>
+ <item>
+ <property name="text">
+ <string>Application preference</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Force on</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Force off</string>
+ </property>
+ </item>
+ </widget>
+ <widget class="QLabel" name="label_12">
+ <property name="geometry">
+ <rect>
+ <x>20</x>
+ <y>20</y>
+ <width>91</width>
+ <height>21</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Preferred HRTF:</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ <widget class="QComboBox" name="preferredHrtfComboBox">
+ <property name="geometry">
+ <rect>
+ <x>130</x>
+ <y>20</y>
+ <width>161</width>
+ <height>22</height>
+ </rect>
</property>
</widget>
</widget>
@@ -662,40 +810,11 @@ value currently possible is 4.</string>
<string>Auto</string>
</property>
</widget>
- <widget class="QLabel" name="label_9">
- <property name="geometry">
- <rect>
- <x>30</x>
- <y>120</y>
- <width>71</width>
- <height>21</height>
- </rect>
- </property>
- <property name="text">
- <string>Resampler:</string>
- </property>
- </widget>
- <widget class="QComboBox" name="resamplerComboBox">
- <property name="geometry">
- <rect>
- <x>110</x>
- <y>120</y>
- <width>78</width>
- <height>22</height>
- </rect>
- </property>
- <property name="toolTip">
- <string>The resampling method used when mixing sources.</string>
- </property>
- <property name="sizeAdjustPolicy">
- <enum>QComboBox::AdjustToContents</enum>
- </property>
- </widget>
<widget class="QGroupBox" name="cpuExtGroupBox">
<property name="geometry">
<rect>
<x>10</x>
- <y>150</y>
+ <y>120</y>
<width>511</width>
<height>121</height>
</rect>