mirror of
https://github.com/love2d/megasource.git
synced 2026-08-19 12:14:41 +02:00
Update OpenAL-Soft to 1.22.0
This commit is contained in:
@@ -28,6 +28,9 @@ static const struct {
|
||||
#ifdef HAVE_JACK
|
||||
{ "jack", "JACK" },
|
||||
#endif
|
||||
#ifdef HAVE_PIPEWIRE
|
||||
{ "pipewire", "PipeWire" },
|
||||
#endif
|
||||
#ifdef HAVE_PULSEAUDIO
|
||||
{ "pulse", "PulseAudio" },
|
||||
#endif
|
||||
@@ -80,8 +83,7 @@ static const struct NameValuePair {
|
||||
{ "Mono", "mono" },
|
||||
{ "Stereo", "stereo" },
|
||||
{ "Quadraphonic", "quad" },
|
||||
{ "5.1 Surround (Side)", "surround51" },
|
||||
{ "5.1 Surround (Rear)", "surround51rear" },
|
||||
{ "5.1 Surround", "surround51" },
|
||||
{ "6.1 Surround", "surround61" },
|
||||
{ "7.1 Surround", "surround71" },
|
||||
|
||||
@@ -122,18 +124,21 @@ static const struct NameValuePair {
|
||||
{ "Default", "" },
|
||||
{ "Pan Pot", "panpot" },
|
||||
{ "UHJ", "uhj" },
|
||||
{ "Binaural", "hrtf" },
|
||||
|
||||
{ "", "" }
|
||||
}, ambiFormatList[] = {
|
||||
{ "Default", "" },
|
||||
{ "AmbiX (ACN, SN3D)", "ambix" },
|
||||
{ "ACN, N3D", "acn+n3d" },
|
||||
{ "Furse-Malham", "fuma" },
|
||||
{ "ACN, N3D", "acn+n3d" },
|
||||
{ "ACN, FuMa", "acn+fuma" },
|
||||
|
||||
{ "", "" }
|
||||
}, hrtfModeList[] = {
|
||||
{ "1st Order Ambisonic", "ambi1" },
|
||||
{ "2nd Order Ambisonic", "ambi2" },
|
||||
{ "3rd Order Ambisonic", "ambi3" },
|
||||
{ "Default (Full)", "" },
|
||||
{ "Full", "full" },
|
||||
|
||||
@@ -200,7 +205,11 @@ static QStringList getAllDataPaths(const QString &append)
|
||||
QString paths = qgetenv("XDG_DATA_DIRS");
|
||||
if(paths.isEmpty())
|
||||
paths = "/usr/local/share/:/usr/share/";
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
|
||||
list += paths.split(QChar(':'), Qt::SkipEmptyParts);
|
||||
#else
|
||||
list += paths.split(QChar(':'), QString::SkipEmptyParts);
|
||||
#endif
|
||||
#endif
|
||||
QStringList::iterator iter = list.begin();
|
||||
while(iter != list.end())
|
||||
@@ -445,8 +454,11 @@ MainWindow::MainWindow(QWidget *parent) :
|
||||
connect(ui->pulseFixRateCheckBox, &QCheckBox::stateChanged, this, &MainWindow::enableApplyButton);
|
||||
connect(ui->pulseAdjLatencyCheckBox, &QCheckBox::stateChanged, this, &MainWindow::enableApplyButton);
|
||||
|
||||
connect(ui->pwireAssumeAudioCheckBox, &QCheckBox::stateChanged, this, &MainWindow::enableApplyButton);
|
||||
|
||||
connect(ui->jackAutospawnCheckBox, &QCheckBox::stateChanged, this, &MainWindow::enableApplyButton);
|
||||
connect(ui->jackConnectPortsCheckBox, &QCheckBox::stateChanged, this, &MainWindow::enableApplyButton);
|
||||
connect(ui->jackRtMixCheckBox, &QCheckBox::stateChanged, this, &MainWindow::enableApplyButton);
|
||||
connect(ui->jackBufferSizeSlider, &QSlider::valueChanged, this, &MainWindow::updateJackBufferSizeEdit);
|
||||
connect(ui->jackBufferSizeLine, &QLineEdit::editingFinished, this, &MainWindow::updateJackBufferSizeSlider);
|
||||
|
||||
@@ -635,6 +647,8 @@ void MainWindow::loadConfig(const QString &fname)
|
||||
ui->channelConfigCombo->setCurrentIndex(0);
|
||||
if(channelconfig.isEmpty() == false)
|
||||
{
|
||||
if(channelconfig == "surround51rear")
|
||||
channelconfig = "surround51";
|
||||
QString str{getNameFromValue(speakerModeList, channelconfig)};
|
||||
if(!str.isEmpty())
|
||||
{
|
||||
@@ -735,8 +749,7 @@ void MainWindow::loadConfig(const QString &fname)
|
||||
}
|
||||
}
|
||||
|
||||
bool hqmode{settings.value("decoder/hq-mode", true).toBool()};
|
||||
ui->decoderHQModeCheckBox->setChecked(hqmode);
|
||||
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()};
|
||||
@@ -760,11 +773,9 @@ void MainWindow::loadConfig(const QString &fname)
|
||||
|
||||
QString hrtfmode{settings.value("hrtf-mode").toString().trimmed()};
|
||||
ui->hrtfmodeSlider->setValue(2);
|
||||
ui->hrtfmodeLabel->setText(hrtfModeList[2].name);
|
||||
/* The "basic" mode name is no longer supported, and "ambi3" is temporarily
|
||||
* disabled. Use "ambi2" instead.
|
||||
*/
|
||||
if(hrtfmode == "basic" || hrtfmode == "ambi3")
|
||||
ui->hrtfmodeLabel->setText(hrtfModeList[3].name);
|
||||
/* The "basic" mode name is no longer supported. Use "ambi2" instead. */
|
||||
if(hrtfmode == "basic")
|
||||
hrtfmode = "ambi2";
|
||||
for(int i = 0;hrtfModeList[i].name[0];i++)
|
||||
{
|
||||
@@ -917,8 +928,12 @@ void MainWindow::loadConfig(const QString &fname)
|
||||
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->jackAutospawnCheckBox->setCheckState(getCheckState(settings.value("jack/spawn-server")));
|
||||
ui->jackConnectPortsCheckBox->setCheckState(getCheckState(settings.value("jack/connect-ports")));
|
||||
ui->jackRtMixCheckBox->setCheckState(getCheckState(settings.value("jack/rt-mix")));
|
||||
ui->jackBufferSizeLine->setText(settings.value("jack/buffer-size", QString()).toString());
|
||||
updateJackBufferSizeSlider();
|
||||
|
||||
@@ -998,9 +1013,7 @@ void MainWindow::saveConfig(const QString &fname) const
|
||||
settings.setValue("output-limiter", getCheckValue(ui->outputLimiterCheckBox));
|
||||
settings.setValue("dither", getCheckValue(ui->outputDitherCheckBox));
|
||||
|
||||
settings.setValue("decoder/hq-mode",
|
||||
ui->decoderHQModeCheckBox->isChecked() ? QString{/*"true"*/} : QString{"false"}
|
||||
);
|
||||
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();
|
||||
@@ -1127,8 +1140,12 @@ void MainWindow::saveConfig(const QString &fname) const
|
||||
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));
|
||||
settings.setValue("jack/buffer-size", ui->jackBufferSizeLine->text());
|
||||
|
||||
settings.setValue("alsa/device", ui->alsaDefaultDeviceLine->text());
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
<rect>
|
||||
<x>110</x>
|
||||
<y>50</y>
|
||||
<width>76</width>
|
||||
<width>80</width>
|
||||
<height>31</height>
|
||||
</rect>
|
||||
</property>
|
||||
@@ -111,7 +111,7 @@ float and converted to the output sample type as needed.</string>
|
||||
<rect>
|
||||
<x>110</x>
|
||||
<y>20</y>
|
||||
<width>76</width>
|
||||
<width>80</width>
|
||||
<height>31</height>
|
||||
</rect>
|
||||
</property>
|
||||
@@ -129,7 +129,7 @@ to stereo output.</string>
|
||||
<rect>
|
||||
<x>380</x>
|
||||
<y>20</y>
|
||||
<width>96</width>
|
||||
<width>100</width>
|
||||
<height>31</height>
|
||||
</rect>
|
||||
</property>
|
||||
@@ -437,12 +437,15 @@ frames needed for each mixing update.</string>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Pan Pot uses standard amplitude panning (aka
|
||||
pair-wise, stereo pair, etc) between -30 and +30
|
||||
degrees, while UHJ creates a stereo-compatible
|
||||
two-channel UHJ mix, which encodes some
|
||||
surround sound information into stereo output
|
||||
that can be decoded with a surround sound
|
||||
receiver.</string>
|
||||
pair-wise, stereo pair, etc).
|
||||
|
||||
UHJ creates a stereo-compatible two-channel
|
||||
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>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_19">
|
||||
@@ -632,6 +635,9 @@ appropriate speaker configuration you intend to use.</string>
|
||||
<property name="text">
|
||||
<string>High Quality Mode:</string>
|
||||
</property>
|
||||
<property name="tristate">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="decoderDistCompCheckBox">
|
||||
<property name="geometry">
|
||||
@@ -1219,6 +1225,11 @@ application or system to determine if it should be used.</string>
|
||||
<string>PulseAudio</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>PipeWire</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>JACK</string>
|
||||
@@ -1421,6 +1432,26 @@ 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">
|
||||
@@ -1442,7 +1473,7 @@ drop-outs.</string>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>70</y>
|
||||
<y>110</y>
|
||||
<width>401</width>
|
||||
<height>80</height>
|
||||
</rect>
|
||||
@@ -1450,7 +1481,8 @@ drop-outs.</string>
|
||||
<property name="toolTip">
|
||||
<string>The update buffer size, in samples, that the backend
|
||||
will keep buffered to handle the server's real-time
|
||||
processing requests. Must be a power of 2.</string>
|
||||
processing requests. Must be a power of 2. Ignored
|
||||
when Real-time Mixing is used.</string>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Buffer Size</string>
|
||||
@@ -1516,6 +1548,30 @@ processing requests. Must be a power of 2.</string>
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="jackRtMixCheckBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>70</y>
|
||||
<width>141</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_3">
|
||||
<widget class="QLabel" name="label_17">
|
||||
@@ -2317,7 +2373,7 @@ added by the ALC_EXT_DEDICATED extension.</string>
|
||||
<rect>
|
||||
<x>160</x>
|
||||
<y>20</y>
|
||||
<width>131</width>
|
||||
<width>135</width>
|
||||
<height>31</height>
|
||||
</rect>
|
||||
</property>
|
||||
|
||||
Reference in New Issue
Block a user