mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-15 16:44:36 +00:00
Initial commit
added libraries: opus flac libsndfile updated: libvorbis libogg openal - Everything works as expected for now. Bare in mind libsndfile needed the check for whether or not it could find the xiph libraries removed in order for this to work.
This commit is contained in:
parent
05a083ca6f
commit
a745fc3757
1954 changed files with 431332 additions and 21037 deletions
|
|
@ -15,7 +15,8 @@ if(Qt5Widgets_FOUND)
|
|||
target_link_libraries(alsoft-config Qt5::Widgets)
|
||||
target_include_directories(alsoft-config PRIVATE "${alsoft-config_BINARY_DIR}"
|
||||
"${OpenAL_BINARY_DIR}")
|
||||
set_target_properties(alsoft-config PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${OpenAL_BINARY_DIR})
|
||||
set_target_properties(alsoft-config PROPERTIES ${DEFAULT_TARGET_PROPS}
|
||||
RUNTIME_OUTPUT_DIRECTORY ${OpenAL_BINARY_DIR})
|
||||
if(TARGET build_version)
|
||||
add_dependencies(alsoft-config build_version)
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
namespace {
|
||||
|
||||
static const struct {
|
||||
const struct {
|
||||
char backend_name[16];
|
||||
char full_string[32];
|
||||
} backendList[] = {
|
||||
|
|
@ -75,7 +75,7 @@ static const struct {
|
|||
{ "", "" }
|
||||
};
|
||||
|
||||
static const struct NameValuePair {
|
||||
const struct NameValuePair {
|
||||
const char name[64];
|
||||
const char value[16];
|
||||
} speakerModeList[] = {
|
||||
|
|
@ -86,6 +86,7 @@ static const struct NameValuePair {
|
|||
{ "5.1 Surround", "surround51" },
|
||||
{ "6.1 Surround", "surround61" },
|
||||
{ "7.1 Surround", "surround71" },
|
||||
{ "3D7.1 Surround", "surround3d71" },
|
||||
|
||||
{ "Ambisonic, 1st Order", "ambi1" },
|
||||
{ "Ambisonic, 2nd Order", "ambi2" },
|
||||
|
|
@ -106,8 +107,8 @@ static const struct NameValuePair {
|
|||
}, resamplerList[] = {
|
||||
{ "Point", "point" },
|
||||
{ "Linear", "linear" },
|
||||
{ "Default (Linear)", "" },
|
||||
{ "Cubic Spline", "cubic" },
|
||||
{ "Default (Cubic Spline)", "" },
|
||||
{ "11th order Sinc (fast)", "fast_bsinc12" },
|
||||
{ "11th order Sinc", "bsinc12" },
|
||||
{ "23rd order Sinc (fast)", "fast_bsinc24" },
|
||||
|
|
@ -122,7 +123,7 @@ static const struct NameValuePair {
|
|||
{ "", "" }
|
||||
}, stereoEncList[] = {
|
||||
{ "Default", "" },
|
||||
{ "Pan Pot", "panpot" },
|
||||
{ "Basic", "panpot" },
|
||||
{ "UHJ", "uhj" },
|
||||
{ "Binaural", "hrtf" },
|
||||
|
||||
|
|
@ -145,7 +146,7 @@ static const struct NameValuePair {
|
|||
{ "", "" }
|
||||
};
|
||||
|
||||
static QString getDefaultConfigName()
|
||||
QString getDefaultConfigName()
|
||||
{
|
||||
#ifdef Q_OS_WIN32
|
||||
static const char fname[] = "alsoft.ini";
|
||||
|
|
@ -172,7 +173,7 @@ static QString getDefaultConfigName()
|
|||
return fname;
|
||||
}
|
||||
|
||||
static QString getBaseDataPath()
|
||||
QString getBaseDataPath()
|
||||
{
|
||||
#ifdef Q_OS_WIN32
|
||||
auto get_appdata_path = []() noexcept -> QString
|
||||
|
|
@ -195,7 +196,7 @@ static QString getBaseDataPath()
|
|||
return base;
|
||||
}
|
||||
|
||||
static QStringList getAllDataPaths(const QString &append)
|
||||
QStringList getAllDataPaths(const QString &append)
|
||||
{
|
||||
QStringList list;
|
||||
list.append(getBaseDataPath());
|
||||
|
|
@ -226,7 +227,7 @@ static QStringList getAllDataPaths(const QString &append)
|
|||
}
|
||||
|
||||
template<size_t N>
|
||||
static QString getValueFromName(const NameValuePair (&list)[N], const QString &str)
|
||||
QString getValueFromName(const NameValuePair (&list)[N], const QString &str)
|
||||
{
|
||||
for(size_t i = 0;i < N-1;i++)
|
||||
{
|
||||
|
|
@ -237,7 +238,7 @@ static QString getValueFromName(const NameValuePair (&list)[N], const QString &s
|
|||
}
|
||||
|
||||
template<size_t N>
|
||||
static QString getNameFromValue(const NameValuePair (&list)[N], const QString &str)
|
||||
QString getNameFromValue(const NameValuePair (&list)[N], const QString &str)
|
||||
{
|
||||
for(size_t i = 0;i < N-1;i++)
|
||||
{
|
||||
|
|
@ -307,7 +308,6 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||
for(count = 0;hrtfModeList[count].name[0];count++) {
|
||||
}
|
||||
ui->hrtfmodeSlider->setRange(0, count-1);
|
||||
ui->hrtfStateComboBox->adjustSize();
|
||||
|
||||
#if !defined(HAVE_NEON) && !defined(HAVE_SSE)
|
||||
ui->cpuExtDisabledLabel->move(ui->cpuExtDisabledLabel->x(), ui->cpuExtDisabledLabel->y() - 60);
|
||||
|
|
@ -347,6 +347,12 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||
ui->enableSSE41CheckBox->setVisible(false);
|
||||
#endif /* !SSE4.1 */
|
||||
|
||||
#endif
|
||||
|
||||
#ifndef ALSOFT_EAX
|
||||
ui->enableEaxCheck->setChecked(Qt::Unchecked);
|
||||
ui->enableEaxCheck->setEnabled(false);
|
||||
ui->enableEaxCheck->setVisible(false);
|
||||
#endif
|
||||
|
||||
mPeriodSizeValidator = new QIntValidator{64, 8192, this};
|
||||
|
|
@ -397,7 +403,7 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||
connect(ui->decoderDistCompCheckBox, &QCheckBox::stateChanged, this, &MainWindow::enableApplyButton);
|
||||
connect(ui->decoderNFEffectsCheckBox, &QCheckBox::stateChanged, this, &MainWindow::enableApplyButton);
|
||||
auto qdsb_vcd = static_cast<void(QDoubleSpinBox::*)(double)>(&QDoubleSpinBox::valueChanged);
|
||||
connect(ui->decoderNFRefDelaySpinBox, qdsb_vcd, this, &MainWindow::enableApplyButton);
|
||||
connect(ui->decoderSpeakerDistSpinBox, qdsb_vcd, this, &MainWindow::enableApplyButton);
|
||||
connect(ui->decoderQuadLineEdit, &QLineEdit::textChanged, this, &MainWindow::enableApplyButton);
|
||||
connect(ui->decoderQuadButton, &QPushButton::clicked, this, &MainWindow::selectQuadDecoderFile);
|
||||
connect(ui->decoder51LineEdit, &QLineEdit::textChanged, this, &MainWindow::enableApplyButton);
|
||||
|
|
@ -406,9 +412,10 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||
connect(ui->decoder61Button, &QPushButton::clicked, this, &MainWindow::select61DecoderFile);
|
||||
connect(ui->decoder71LineEdit, &QLineEdit::textChanged, this, &MainWindow::enableApplyButton);
|
||||
connect(ui->decoder71Button, &QPushButton::clicked, this, &MainWindow::select71DecoderFile);
|
||||
connect(ui->decoder3D71LineEdit, &QLineEdit::textChanged, this, &MainWindow::enableApplyButton);
|
||||
connect(ui->decoder3D71Button, &QPushButton::clicked, this, &MainWindow::select3D71DecoderFile);
|
||||
|
||||
connect(ui->preferredHrtfComboBox, qcb_cicint, this, &MainWindow::enableApplyButton);
|
||||
connect(ui->hrtfStateComboBox, qcb_cicint, this, &MainWindow::enableApplyButton);
|
||||
connect(ui->hrtfmodeSlider, &QSlider::valueChanged, this, &MainWindow::updateHrtfModeLabel);
|
||||
|
||||
connect(ui->hrtfAddButton, &QPushButton::clicked, this, &MainWindow::addHrtfFile);
|
||||
|
|
@ -448,6 +455,7 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||
connect(ui->enableDedicatedCheck, &QCheckBox::stateChanged, this, &MainWindow::enableApplyButton);
|
||||
connect(ui->enablePitchShifterCheck, &QCheckBox::stateChanged, this, &MainWindow::enableApplyButton);
|
||||
connect(ui->enableVocalMorpherCheck, &QCheckBox::stateChanged, this, &MainWindow::enableApplyButton);
|
||||
connect(ui->enableEaxCheck, &QCheckBox::stateChanged, this, &MainWindow::enableApplyButton);
|
||||
|
||||
connect(ui->pulseAutospawnCheckBox, &QCheckBox::stateChanged, this, &MainWindow::enableApplyButton);
|
||||
connect(ui->pulseAllowMovesCheckBox, &QCheckBox::stateChanged, this, &MainWindow::enableApplyButton);
|
||||
|
|
@ -455,6 +463,9 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||
connect(ui->pulseAdjLatencyCheckBox, &QCheckBox::stateChanged, this, &MainWindow::enableApplyButton);
|
||||
|
||||
connect(ui->pwireAssumeAudioCheckBox, &QCheckBox::stateChanged, this, &MainWindow::enableApplyButton);
|
||||
connect(ui->pwireRtMixCheckBox, &QCheckBox::stateChanged, this, &MainWindow::enableApplyButton);
|
||||
|
||||
connect(ui->wasapiResamplerCheckBox, &QCheckBox::stateChanged, this, &MainWindow::enableApplyButton);
|
||||
|
||||
connect(ui->jackAutospawnCheckBox, &QCheckBox::stateChanged, this, &MainWindow::enableApplyButton);
|
||||
connect(ui->jackConnectPortsCheckBox, &QCheckBox::stateChanged, this, &MainWindow::enableApplyButton);
|
||||
|
|
@ -752,13 +763,14 @@ void MainWindow::loadConfig(const QString &fname)
|
|||
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()};
|
||||
ui->decoderNFRefDelaySpinBox->setValue(refdelay);
|
||||
double speakerdist{settings.value("decoder/speaker-dist", 1.0).toDouble()};
|
||||
ui->decoderSpeakerDistSpinBox->setValue(speakerdist);
|
||||
|
||||
ui->decoderQuadLineEdit->setText(settings.value("decoder/quad").toString());
|
||||
ui->decoder51LineEdit->setText(settings.value("decoder/surround51").toString());
|
||||
ui->decoder61LineEdit->setText(settings.value("decoder/surround61").toString());
|
||||
ui->decoder71LineEdit->setText(settings.value("decoder/surround71").toString());
|
||||
ui->decoder3D71LineEdit->setText(settings.value("decoder/surround3d71").toString());
|
||||
|
||||
QStringList disabledCpuExts{settings.value("disable-cpu-exts").toStringList()};
|
||||
if(disabledCpuExts.size() == 1)
|
||||
|
|
@ -804,14 +816,6 @@ void MainWindow::loadConfig(const QString &fname)
|
|||
ui->hrtfFileList->addItems(hrtf_paths);
|
||||
updateHrtfRemoveButton();
|
||||
|
||||
QString hrtfstate{settings.value("hrtf").toString().toLower()};
|
||||
if(hrtfstate == "true")
|
||||
ui->hrtfStateComboBox->setCurrentIndex(1);
|
||||
else if(hrtfstate == "false")
|
||||
ui->hrtfStateComboBox->setCurrentIndex(2);
|
||||
else
|
||||
ui->hrtfStateComboBox->setCurrentIndex(0);
|
||||
|
||||
ui->preferredHrtfComboBox->clear();
|
||||
ui->preferredHrtfComboBox->addItem("- Any -");
|
||||
if(ui->defaultHrtfPathsCheckBox->isChecked())
|
||||
|
|
@ -840,7 +844,7 @@ void MainWindow::loadConfig(const QString &fname)
|
|||
ui->enabledBackendList->clear();
|
||||
ui->disabledBackendList->clear();
|
||||
QStringList drivers{settings.value("drivers").toStringList()};
|
||||
if(drivers.size() == 0)
|
||||
if(drivers.empty())
|
||||
ui->backendCheckBox->setChecked(true);
|
||||
else
|
||||
{
|
||||
|
|
@ -922,14 +926,18 @@ void MainWindow::loadConfig(const QString &fname)
|
|||
ui->enableDedicatedCheck->setChecked(!excludefx.contains("dedicated", Qt::CaseInsensitive));
|
||||
ui->enablePitchShifterCheck->setChecked(!excludefx.contains("pshifter", Qt::CaseInsensitive));
|
||||
ui->enableVocalMorpherCheck->setChecked(!excludefx.contains("vmorpher", Qt::CaseInsensitive));
|
||||
if(ui->enableEaxCheck->isEnabled())
|
||||
ui->enableEaxCheck->setChecked(getCheckState(settings.value("eax/enable")) != Qt::Unchecked);
|
||||
|
||||
ui->pulseAutospawnCheckBox->setCheckState(getCheckState(settings.value("pulse/spawn-server")));
|
||||
ui->pulseAllowMovesCheckBox->setCheckState(getCheckState(settings.value("pulse/allow-moves")));
|
||||
ui->pulseFixRateCheckBox->setCheckState(getCheckState(settings.value("pulse/fix-rate")));
|
||||
ui->pulseAdjLatencyCheckBox->setCheckState(getCheckState(settings.value("pulse/adjust-latency")));
|
||||
|
||||
ui->pwireAssumeAudioCheckBox->setCheckState(settings.value("pipewire/assume-audio").toBool()
|
||||
? Qt::Checked : Qt::Unchecked);
|
||||
ui->pwireAssumeAudioCheckBox->setCheckState(getCheckState(settings.value("pipewire/assume-audio")));
|
||||
ui->pwireRtMixCheckBox->setCheckState(getCheckState(settings.value("pipewire/rt-mix")));
|
||||
|
||||
ui->wasapiResamplerCheckBox->setCheckState(getCheckState(settings.value("wasapi/allow-resampler")));
|
||||
|
||||
ui->jackAutospawnCheckBox->setCheckState(getCheckState(settings.value("jack/spawn-server")));
|
||||
ui->jackConnectPortsCheckBox->setCheckState(getCheckState(settings.value("jack/connect-ports")));
|
||||
|
|
@ -1016,15 +1024,16 @@ void MainWindow::saveConfig(const QString &fname) const
|
|||
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();
|
||||
settings.setValue("decoder/nfc-ref-delay",
|
||||
(refdelay > 0.0) ? QString::number(refdelay) : QString{}
|
||||
double speakerdist{ui->decoderSpeakerDistSpinBox->value()};
|
||||
settings.setValue("decoder/speaker-dist",
|
||||
(speakerdist != 1.0) ? QString::number(speakerdist) : QString{}
|
||||
);
|
||||
|
||||
settings.setValue("decoder/quad", ui->decoderQuadLineEdit->text());
|
||||
settings.setValue("decoder/surround51", ui->decoder51LineEdit->text());
|
||||
settings.setValue("decoder/surround61", ui->decoder61LineEdit->text());
|
||||
settings.setValue("decoder/surround71", ui->decoder71LineEdit->text());
|
||||
settings.setValue("decoder/surround3d71", ui->decoder3D71LineEdit->text());
|
||||
|
||||
QStringList strlist;
|
||||
if(!ui->enableSSECheckBox->isChecked())
|
||||
|
|
@ -1041,13 +1050,6 @@ void MainWindow::saveConfig(const QString &fname) const
|
|||
|
||||
settings.setValue("hrtf-mode", hrtfModeList[ui->hrtfmodeSlider->value()].value);
|
||||
|
||||
if(ui->hrtfStateComboBox->currentIndex() == 1)
|
||||
settings.setValue("hrtf", "true");
|
||||
else if(ui->hrtfStateComboBox->currentIndex() == 2)
|
||||
settings.setValue("hrtf", "false");
|
||||
else
|
||||
settings.setValue("hrtf", QString{});
|
||||
|
||||
if(ui->preferredHrtfComboBox->currentIndex() == 0)
|
||||
settings.setValue("default-hrtf", QString{});
|
||||
else
|
||||
|
|
@ -1089,7 +1091,7 @@ void MainWindow::saveConfig(const QString &fname) const
|
|||
}
|
||||
}
|
||||
}
|
||||
if(strlist.size() == 0 && !ui->backendCheckBox->isChecked())
|
||||
if(strlist.empty() && !ui->backendCheckBox->isChecked())
|
||||
strlist.append("-all");
|
||||
else if(ui->backendCheckBox->isChecked())
|
||||
strlist.append(QString{});
|
||||
|
|
@ -1134,15 +1136,20 @@ void MainWindow::saveConfig(const QString &fname) const
|
|||
if(!ui->enableVocalMorpherCheck->isChecked())
|
||||
strlist.append("vmorpher");
|
||||
settings.setValue("excludefx", strlist.join(QChar{','}));
|
||||
settings.setValue("eax/enable",
|
||||
(!ui->enableEaxCheck->isEnabled() || ui->enableEaxCheck->isChecked())
|
||||
? QString{/*"true"*/} : QString{"false"});
|
||||
|
||||
settings.setValue("pipewire/assume-audio", getCheckValue(ui->pwireAssumeAudioCheckBox));
|
||||
settings.setValue("pipewire/rt-mix", getCheckValue(ui->pwireRtMixCheckBox));
|
||||
|
||||
settings.setValue("wasapi/allow-resampler", getCheckValue(ui->wasapiResamplerCheckBox));
|
||||
|
||||
settings.setValue("pulse/spawn-server", getCheckValue(ui->pulseAutospawnCheckBox));
|
||||
settings.setValue("pulse/allow-moves", getCheckValue(ui->pulseAllowMovesCheckBox));
|
||||
settings.setValue("pulse/fix-rate", getCheckValue(ui->pulseFixRateCheckBox));
|
||||
settings.setValue("pulse/adjust-latency", getCheckValue(ui->pulseAdjLatencyCheckBox));
|
||||
|
||||
settings.setValue("pipewire/assume-audio", ui->pwireAssumeAudioCheckBox->isChecked()
|
||||
? QString{"true"} : QString{/*"false"*/});
|
||||
|
||||
settings.setValue("jack/spawn-server", getCheckValue(ui->jackAutospawnCheckBox));
|
||||
settings.setValue("jack/connect-ports", getCheckValue(ui->jackConnectPortsCheckBox));
|
||||
settings.setValue("jack/rt-mix", getCheckValue(ui->jackRtMixCheckBox));
|
||||
|
|
@ -1240,6 +1247,8 @@ void MainWindow::select61DecoderFile()
|
|||
{ selectDecoderFile(ui->decoder61LineEdit, "Select 6.1 Surround Decoder");}
|
||||
void MainWindow::select71DecoderFile()
|
||||
{ selectDecoderFile(ui->decoder71LineEdit, "Select 7.1 Surround Decoder");}
|
||||
void MainWindow::select3D71DecoderFile()
|
||||
{ selectDecoderFile(ui->decoder3D71LineEdit, "Select 3D7.1 Surround Decoder");}
|
||||
void MainWindow::selectDecoderFile(QLineEdit *line, const char *caption)
|
||||
{
|
||||
QString dir{line->text()};
|
||||
|
|
@ -1313,7 +1322,7 @@ void MainWindow::removeHrtfFile()
|
|||
|
||||
void MainWindow::updateHrtfRemoveButton()
|
||||
{
|
||||
ui->hrtfRemoveButton->setEnabled(ui->hrtfFileList->selectedItems().size() != 0);
|
||||
ui->hrtfRemoveButton->setEnabled(!ui->hrtfFileList->selectedItems().empty());
|
||||
}
|
||||
|
||||
void MainWindow::showEnabledBackendMenu(QPoint pt)
|
||||
|
|
@ -1324,7 +1333,7 @@ void MainWindow::showEnabledBackendMenu(QPoint pt)
|
|||
|
||||
QMenu ctxmenu;
|
||||
QAction *removeAction{ctxmenu.addAction(QIcon::fromTheme("list-remove"), "Remove")};
|
||||
if(ui->enabledBackendList->selectedItems().size() == 0)
|
||||
if(ui->enabledBackendList->selectedItems().empty())
|
||||
removeAction->setEnabled(false);
|
||||
ctxmenu.addSeparator();
|
||||
for(size_t i = 0;backendList[i].backend_name[0];i++)
|
||||
|
|
@ -1332,8 +1341,8 @@ void MainWindow::showEnabledBackendMenu(QPoint pt)
|
|||
QString backend{backendList[i].full_string};
|
||||
QAction *action{ctxmenu.addAction(QString("Add ")+backend)};
|
||||
actionMap[action] = backend;
|
||||
if(ui->enabledBackendList->findItems(backend, Qt::MatchFixedString).size() != 0 ||
|
||||
ui->disabledBackendList->findItems(backend, Qt::MatchFixedString).size() != 0)
|
||||
if(!ui->enabledBackendList->findItems(backend, Qt::MatchFixedString).empty() ||
|
||||
!ui->disabledBackendList->findItems(backend, Qt::MatchFixedString).empty())
|
||||
action->setEnabled(false);
|
||||
}
|
||||
|
||||
|
|
@ -1362,7 +1371,7 @@ void MainWindow::showDisabledBackendMenu(QPoint pt)
|
|||
|
||||
QMenu ctxmenu;
|
||||
QAction *removeAction{ctxmenu.addAction(QIcon::fromTheme("list-remove"), "Remove")};
|
||||
if(ui->disabledBackendList->selectedItems().size() == 0)
|
||||
if(ui->disabledBackendList->selectedItems().empty())
|
||||
removeAction->setEnabled(false);
|
||||
ctxmenu.addSeparator();
|
||||
for(size_t i = 0;backendList[i].backend_name[0];i++)
|
||||
|
|
@ -1370,8 +1379,8 @@ void MainWindow::showDisabledBackendMenu(QPoint pt)
|
|||
QString backend{backendList[i].full_string};
|
||||
QAction *action{ctxmenu.addAction(QString("Add ")+backend)};
|
||||
actionMap[action] = backend;
|
||||
if(ui->disabledBackendList->findItems(backend, Qt::MatchFixedString).size() != 0 ||
|
||||
ui->enabledBackendList->findItems(backend, Qt::MatchFixedString).size() != 0)
|
||||
if(!ui->disabledBackendList->findItems(backend, Qt::MatchFixedString).empty() ||
|
||||
!ui->enabledBackendList->findItems(backend, Qt::MatchFixedString).empty())
|
||||
action->setEnabled(false);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@ private slots:
|
|||
void select51DecoderFile();
|
||||
void select61DecoderFile();
|
||||
void select71DecoderFile();
|
||||
void select3D71DecoderFile();
|
||||
|
||||
void updateJackBufferSizeEdit(int size);
|
||||
void updateJackBufferSizeSlider();
|
||||
|
|
|
|||
|
|
@ -116,9 +116,9 @@ float and converted to the output sample type as needed.</string>
|
|||
</rect>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>The output channel configuration. Note that not all backends
|
||||
can properly detect the channel configuration and may default
|
||||
to stereo output.</string>
|
||||
<string>The default output channel configuration. Note that not all
|
||||
backends can properly detect the channel configuration and
|
||||
may default to stereo output.</string>
|
||||
</property>
|
||||
<property name="sizeAdjustPolicy">
|
||||
<enum>QComboBox::AdjustToContents</enum>
|
||||
|
|
@ -436,7 +436,7 @@ frames needed for each mixing update.</string>
|
|||
</rect>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Pan Pot uses standard amplitude panning (aka
|
||||
<string>Basic uses standard amplitude panning (aka
|
||||
pair-wise, stereo pair, etc).
|
||||
|
||||
UHJ creates a stereo-compatible two-channel
|
||||
|
|
@ -444,8 +444,8 @@ 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>
|
||||
Binaural applies HRTF filters to create an
|
||||
illusion of 3D placement with headphones.</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_19">
|
||||
|
|
@ -625,9 +625,7 @@ quantization with low-level whitenoise.</string>
|
|||
<string>Enables high-quality ambisonic rendering. This mode is
|
||||
capable of frequency-dependent processing, creating a
|
||||
better reproduction of 3D sound rendering over
|
||||
surround sound speakers. Enabling this also requires
|
||||
specifying decoder configuration files for the
|
||||
appropriate speaker configuration you intend to use.</string>
|
||||
surround sound speakers.</string>
|
||||
</property>
|
||||
<property name="layoutDirection">
|
||||
<enum>Qt::RightToLeft</enum>
|
||||
|
|
@ -670,9 +668,9 @@ configuration file.</string>
|
|||
<property name="geometry">
|
||||
<rect>
|
||||
<x>-10</x>
|
||||
<y>160</y>
|
||||
<y>140</y>
|
||||
<width>551</width>
|
||||
<height>161</height>
|
||||
<height>231</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
|
|
@ -684,10 +682,10 @@ configuration file.</string>
|
|||
<widget class="QLineEdit" name="decoderQuadLineEdit">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>120</x>
|
||||
<x>130</x>
|
||||
<y>30</y>
|
||||
<width>311</width>
|
||||
<height>21</height>
|
||||
<width>301</width>
|
||||
<height>25</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
|
|
@ -696,8 +694,8 @@ configuration file.</string>
|
|||
<rect>
|
||||
<x>20</x>
|
||||
<y>30</y>
|
||||
<width>91</width>
|
||||
<height>21</height>
|
||||
<width>101</width>
|
||||
<height>25</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
|
|
@ -713,7 +711,7 @@ configuration file.</string>
|
|||
<x>440</x>
|
||||
<y>30</y>
|
||||
<width>91</width>
|
||||
<height>21</height>
|
||||
<height>25</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
|
|
@ -723,10 +721,10 @@ configuration file.</string>
|
|||
<widget class="QLineEdit" name="decoder51LineEdit">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>120</x>
|
||||
<y>60</y>
|
||||
<width>311</width>
|
||||
<height>21</height>
|
||||
<x>130</x>
|
||||
<y>70</y>
|
||||
<width>301</width>
|
||||
<height>25</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
|
|
@ -734,9 +732,9 @@ configuration file.</string>
|
|||
<property name="geometry">
|
||||
<rect>
|
||||
<x>440</x>
|
||||
<y>60</y>
|
||||
<y>70</y>
|
||||
<width>91</width>
|
||||
<height>21</height>
|
||||
<height>25</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
|
|
@ -747,9 +745,9 @@ configuration file.</string>
|
|||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>60</y>
|
||||
<width>91</width>
|
||||
<height>21</height>
|
||||
<y>70</y>
|
||||
<width>101</width>
|
||||
<height>25</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
|
|
@ -763,9 +761,9 @@ configuration file.</string>
|
|||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>90</y>
|
||||
<width>91</width>
|
||||
<height>21</height>
|
||||
<y>110</y>
|
||||
<width>101</width>
|
||||
<height>25</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
|
|
@ -778,10 +776,10 @@ configuration file.</string>
|
|||
<widget class="QLineEdit" name="decoder61LineEdit">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>120</x>
|
||||
<y>90</y>
|
||||
<width>311</width>
|
||||
<height>21</height>
|
||||
<x>130</x>
|
||||
<y>110</y>
|
||||
<width>301</width>
|
||||
<height>25</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
|
|
@ -789,9 +787,9 @@ configuration file.</string>
|
|||
<property name="geometry">
|
||||
<rect>
|
||||
<x>440</x>
|
||||
<y>90</y>
|
||||
<y>110</y>
|
||||
<width>91</width>
|
||||
<height>21</height>
|
||||
<height>25</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
|
|
@ -802,9 +800,9 @@ configuration file.</string>
|
|||
<property name="geometry">
|
||||
<rect>
|
||||
<x>440</x>
|
||||
<y>120</y>
|
||||
<y>150</y>
|
||||
<width>91</width>
|
||||
<height>21</height>
|
||||
<height>25</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
|
|
@ -814,10 +812,10 @@ configuration file.</string>
|
|||
<widget class="QLineEdit" name="decoder71LineEdit">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>120</x>
|
||||
<y>120</y>
|
||||
<width>311</width>
|
||||
<height>21</height>
|
||||
<x>130</x>
|
||||
<y>150</y>
|
||||
<width>301</width>
|
||||
<height>25</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
|
|
@ -825,9 +823,9 @@ configuration file.</string>
|
|||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>120</y>
|
||||
<width>91</width>
|
||||
<height>21</height>
|
||||
<y>150</y>
|
||||
<width>101</width>
|
||||
<height>25</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
|
|
@ -837,6 +835,45 @@ configuration file.</string>
|
|||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_33">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>190</y>
|
||||
<width>101</width>
|
||||
<height>25</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>3D7.1 Surround:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLineEdit" name="decoder3D71LineEdit">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>130</x>
|
||||
<y>190</y>
|
||||
<width>301</width>
|
||||
<height>25</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="decoder3D71Button">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>440</x>
|
||||
<y>190</y>
|
||||
<width>91</width>
|
||||
<height>25</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Browse...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="decoderNFEffectsCheckBox">
|
||||
<property name="geometry">
|
||||
|
|
@ -869,60 +906,63 @@ are set in the decoder configuration file.</string>
|
|||
<widget class="QWidget" name="widget_3" native="true">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>-10</x>
|
||||
<x>30</x>
|
||||
<y>110</y>
|
||||
<width>281</width>
|
||||
<width>471</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>The reference delay value for ambisonic output. When
|
||||
Channels is set to one of the Ambisonic formats, this
|
||||
option enables NFC-HOA output with the specified
|
||||
Reference Delay parameter. The specified value can then
|
||||
be shared with an appropriate NFC-HOA decoder to
|
||||
reproduce correct near-field effects. Keep in mind that
|
||||
despite being designed for higher-order ambisonics, this
|
||||
applies to first-order output all the same. When left unset,
|
||||
normal output is created with no near-field simulation.</string>
|
||||
<string>Specifies the speaker distance in meters, used by the near-field control
|
||||
filters with surround sound output. For ambisonic output modes, this value
|
||||
is the basis for the NFC-HOA Reference Delay parameter (calculated as
|
||||
delay_seconds = speaker_dist/343.3). This value is not used when a decoder
|
||||
configuration is set for the output mode (since they specify the per-speaker
|
||||
distances, overriding this setting), or when the NFC filters are off.</string>
|
||||
</property>
|
||||
<widget class="QLabel" name="label_27">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<x>45</x>
|
||||
<y>0</y>
|
||||
<width>171</width>
|
||||
<width>111</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Near-Field Reference Delay:</string>
|
||||
<string>Speaker Distance:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QDoubleSpinBox" name="decoderNFRefDelaySpinBox">
|
||||
<widget class="QDoubleSpinBox" name="decoderSpeakerDistSpinBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>200</x>
|
||||
<x>165</x>
|
||||
<y>0</y>
|
||||
<width>81</width>
|
||||
<width>101</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string>sec</string>
|
||||
<string> meters</string>
|
||||
</property>
|
||||
<property name="decimals">
|
||||
<number>4</number>
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1000.000000000000000</double>
|
||||
<double>10.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.010000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
|
|
@ -1050,54 +1090,6 @@ listed above.</string>
|
|||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_16">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>50</x>
|
||||
<y>60</y>
|
||||
<width>71</width>
|
||||
<height>31</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>HRTF Mode:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QComboBox" name="hrtfStateComboBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>130</x>
|
||||
<y>60</y>
|
||||
<width>161</width>
|
||||
<height>31</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Forces HRTF processing on or off, or leaves it to the
|
||||
application or system to determine if it should be used.</string>
|
||||
</property>
|
||||
<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>
|
||||
|
|
@ -1222,12 +1214,17 @@ application or system to determine if it should be used.</string>
|
|||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>PulseAudio</string>
|
||||
<string>PipeWire</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>PipeWire</string>
|
||||
<string>WASAPI</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>PulseAudio</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
|
|
@ -1345,7 +1342,79 @@ duplicated names are ignored.</string>
|
|||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QWidget" name="page_1">
|
||||
<widget class="QCheckBox" name="pwireAssumeAudioCheckBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>10</y>
|
||||
<width>161</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Assumes PipeWire has support for audio, allowing
|
||||
the backend to initialize even when no audio devices
|
||||
are reported.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Assume audio support</string>
|
||||
</property>
|
||||
<property name="tristate">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="pwireRtMixCheckBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>40</y>
|
||||
<width>161</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_2">
|
||||
<widget class="QCheckBox" name="wasapiResamplerCheckBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>10</y>
|
||||
<width>191</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Specifies whether to allow an extra resampler pass on the output. Enabling
|
||||
this will allow the playback device to be set to a different sample rate
|
||||
than the actual output can accept, causing the backend to apply its own
|
||||
resampling pass after OpenAL Soft mixes the sources and processes effects
|
||||
for output.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Allow Resampler</string>
|
||||
</property>
|
||||
<property name="tristate">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QWidget" name="page_8">
|
||||
<widget class="QCheckBox" name="pulseAutospawnCheckBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
|
|
@ -1432,26 +1501,6 @@ drop-outs.</string>
|
|||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QWidget" name="page_8">
|
||||
<widget class="QCheckBox" name="pwireAssumeAudioCheckBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>10</y>
|
||||
<width>161</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Assumes PipeWire has support for audio, allowing
|
||||
the backend to initialize even when no audio devices
|
||||
are reported.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Assume audio support</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QWidget" name="page_7">
|
||||
<widget class="QCheckBox" name="jackAutospawnCheckBox">
|
||||
<property name="geometry">
|
||||
|
|
@ -2110,7 +2159,7 @@ be useful for preventing those extensions from being used.</string>
|
|||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>100</y>
|
||||
<y>60</y>
|
||||
<width>511</width>
|
||||
<height>241</height>
|
||||
</rect>
|
||||
|
|
@ -2516,6 +2565,22 @@ added by the ALC_EXT_DEDICATED extension.</string>
|
|||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="enableEaxCheck">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>30</x>
|
||||
<y>320</y>
|
||||
<width>231</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Enables legacy EAX API support.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Enable EAX API support</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="closeCancelButton">
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue