mirror of
https://github.com/melonDS-emu/melonDS.git
synced 2025-07-24 14:49:53 -06:00
SPU: Emulate SOUNDBIAS and 10-bit degrade
This commit is contained in:
@ -39,6 +39,7 @@ AudioSettingsDialog::AudioSettingsDialog(QWidget* parent) : QDialog(parent), ui(
|
||||
setAttribute(Qt::WA_DeleteOnClose);
|
||||
|
||||
oldInterp = Config::AudioInterp;
|
||||
oldBitrate = Config::AudioBitrate;
|
||||
oldVolume = Config::AudioVolume;
|
||||
|
||||
ui->cbInterpolation->addItem("None");
|
||||
@ -47,6 +48,11 @@ AudioSettingsDialog::AudioSettingsDialog(QWidget* parent) : QDialog(parent), ui(
|
||||
ui->cbInterpolation->addItem("Cubic");
|
||||
ui->cbInterpolation->setCurrentIndex(Config::AudioInterp);
|
||||
|
||||
ui->cbBitrate->addItem("Automatic");
|
||||
ui->cbBitrate->addItem("10-bit");
|
||||
ui->cbBitrate->addItem("16-bit");
|
||||
ui->cbBitrate->setCurrentIndex(Config::AudioBitrate);
|
||||
|
||||
ui->slVolume->setValue(Config::AudioVolume);
|
||||
|
||||
grpMicMode = new QButtonGroup(this);
|
||||
@ -81,11 +87,22 @@ void AudioSettingsDialog::on_AudioSettingsDialog_accepted()
|
||||
void AudioSettingsDialog::on_AudioSettingsDialog_rejected()
|
||||
{
|
||||
Config::AudioInterp = oldInterp;
|
||||
Config::AudioBitrate = oldBitrate;
|
||||
Config::AudioVolume = oldVolume;
|
||||
|
||||
closeDlg();
|
||||
}
|
||||
|
||||
void AudioSettingsDialog::on_cbBitrate_currentIndexChanged(int idx)
|
||||
{
|
||||
// prevent a spurious change
|
||||
if (ui->cbBitrate->count() < 3) return;
|
||||
|
||||
Config::AudioBitrate = ui->cbBitrate->currentIndex();
|
||||
|
||||
emit updateAudioSettings();
|
||||
}
|
||||
|
||||
void AudioSettingsDialog::on_cbInterpolation_currentIndexChanged(int idx)
|
||||
{
|
||||
// prevent a spurious change
|
||||
|
@ -59,6 +59,7 @@ private slots:
|
||||
void on_AudioSettingsDialog_rejected();
|
||||
|
||||
void on_cbInterpolation_currentIndexChanged(int idx);
|
||||
void on_cbBitrate_currentIndexChanged(int idx);
|
||||
void on_slVolume_valueChanged(int val);
|
||||
void onChangeMicMode(int mode);
|
||||
void on_btnMicWavBrowse_clicked();
|
||||
@ -67,6 +68,7 @@ private:
|
||||
Ui::AudioSettingsDialog* ui;
|
||||
|
||||
int oldInterp;
|
||||
int oldBitrate;
|
||||
int oldVolume;
|
||||
QButtonGroup* grpMicMode;
|
||||
};
|
||||
|
@ -29,14 +29,14 @@
|
||||
<string>Audio output</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="1" column="0">
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Volume:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<item row="2" column="1">
|
||||
<widget class="QSlider" name="slVolume">
|
||||
<property name="whatsThis">
|
||||
<string><html><head/><body><p>Controls the volume of the audio output.</p></body></html></string>
|
||||
@ -66,6 +66,20 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Bitrate:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="cbBitrate">
|
||||
<property name="whatsThis">
|
||||
<string><html><head/><body><p>The bitrate of audio playback. If set to "Automatic" this will be 10-bit for DS mode and 16-bit for DSi mode.</p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
|
@ -2436,6 +2436,11 @@ void MainWindow::onOpenAudioSettings()
|
||||
void MainWindow::onUpdateAudioSettings()
|
||||
{
|
||||
SPU::SetInterpolation(Config::AudioInterp);
|
||||
|
||||
if (Config::AudioBitrate == 0)
|
||||
SPU::SetDegrade10Bit(NDS::ConsoleType == 0);
|
||||
else
|
||||
SPU::SetDegrade10Bit(Config::AudioBitrate == 1);
|
||||
}
|
||||
|
||||
void MainWindow::onAudioSettingsFinished(int res)
|
||||
|
Reference in New Issue
Block a user