Add an option to select between UHJ and pair-wise mixing.

This commit is contained in:
Chris Robinson 2016-02-28 20:55:41 -08:00
parent 81384949e2
commit abf6a9260a
2 changed files with 65 additions and 0 deletions

View File

@ -269,6 +269,8 @@ MainWindow::MainWindow(QWidget *parent) :
connect(ui->periodCountSlider, SIGNAL(valueChanged(int)), this, SLOT(updatePeriodCountEdit(int)));
connect(ui->periodCountEdit, SIGNAL(editingFinished()), this, SLOT(updatePeriodCountSlider()));
connect(ui->stereoPanningComboBox, SIGNAL(currentIndexChanged(QString)), this, SLOT(enableApplyButton()));
connect(ui->preferredHrtfComboBox, SIGNAL(currentIndexChanged(const QString&)), this, SLOT(enableApplyButton()));
connect(ui->hrtfStateComboBox, SIGNAL(currentIndexChanged(const QString&)), this, SLOT(enableApplyButton()));
connect(ui->hrtfAddButton, SIGNAL(clicked()), this, SLOT(addHrtfFile()));
@ -539,6 +541,14 @@ void MainWindow::loadConfig(const QString &fname)
updatePeriodCountSlider();
}
QString stereopan = settings.value("stereo-panning").toString();
if(stereopan == "uhj")
ui->stereoPanningComboBox->setCurrentIndex(1);
else if(stereopan == "paired")
ui->stereoPanningComboBox->setCurrentIndex(2);
else
ui->stereoPanningComboBox->setCurrentIndex(0);
QStringList disabledCpuExts = settings.value("disable-cpu-exts").toStringList();
if(disabledCpuExts.size() == 1)
disabledCpuExts = disabledCpuExts[0].split(QChar(','));
@ -767,6 +777,13 @@ void MainWindow::saveConfig(const QString &fname) const
}
}
if(ui->stereoPanningComboBox->currentIndex() == 1)
settings.setValue("stereo-panning", "uhj");
else if(ui->stereoPanningComboBox->currentIndex() == 2)
settings.setValue("stereo-panning", "paired");
else
settings.remove("stereo-panning");
QStringList strlist;
if(!ui->enableSSECheckBox->isChecked())
strlist.append("sse");

View File

@ -428,6 +428,54 @@ frames needed for each mixing update.</string>
</widget>
</widget>
</widget>
<widget class="QComboBox" name="stereoPanningComboBox">
<property name="geometry">
<rect>
<x>130</x>
<y>130</y>
<width>131</width>
<height>22</height>
</rect>
</property>
<property name="toolTip">
<string>Selects the panning method for non-HRTF stereo
mixing. UHJ creates stereo-compatible two-channel
output, which encodes some surround information.
Pair-Wise uses standard pair-wise panning between
-30 and +30 degrees. The default is UHJ.</string>
</property>
<item>
<property name="text">
<string>Default</string>
</property>
</item>
<item>
<property name="text">
<string>UHJ</string>
</property>
</item>
<item>
<property name="text">
<string>Pair-Wise</string>
</property>
</item>
</widget>
<widget class="QLabel" name="label_19">
<property name="geometry">
<rect>
<x>20</x>
<y>130</y>
<width>101</width>
<height>21</height>
</rect>
</property>
<property name="text">
<string>Stereo Panning:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</widget>
<widget class="QGroupBox" name="groupBox_4">
<property name="geometry">