Audio interpolation (#1176)

add audio interpolation (emulation improvement)
This commit is contained in:
Arisotura
2021-08-08 14:27:57 +02:00
committed by GitHub
parent b28a9e4d24
commit 2df6b4fdc3
14 changed files with 180 additions and 45 deletions

View File

@ -38,8 +38,15 @@ AudioSettingsDialog::AudioSettingsDialog(QWidget* parent) : QDialog(parent), ui(
ui->setupUi(this);
setAttribute(Qt::WA_DeleteOnClose);
oldInterp = Config::AudioInterp;
oldVolume = Config::AudioVolume;
ui->cbInterpolation->addItem("None");
ui->cbInterpolation->addItem("Linear");
ui->cbInterpolation->addItem("Cosine");
ui->cbInterpolation->addItem("Cubic");
ui->cbInterpolation->setCurrentIndex(Config::AudioInterp);
ui->slVolume->setValue(Config::AudioVolume);
grpMicMode = new QButtonGroup(this);
@ -73,11 +80,22 @@ void AudioSettingsDialog::on_AudioSettingsDialog_accepted()
void AudioSettingsDialog::on_AudioSettingsDialog_rejected()
{
Config::AudioInterp = oldInterp;
Config::AudioVolume = oldVolume;
closeDlg();
}
void AudioSettingsDialog::on_cbInterpolation_currentIndexChanged(int idx)
{
// prevent a spurious change
if (ui->cbInterpolation->count() < 4) return;
Config::AudioInterp = ui->cbInterpolation->currentIndex();
emit updateAudioSettings();
}
void AudioSettingsDialog::on_slVolume_valueChanged(int val)
{
Config::AudioVolume = val;