mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-08 16:01:42 +12:00
Qt/settings: add new audio buffering options
This commit is contained in:
parent
48db0430d4
commit
5e3311746c
5 changed files with 144 additions and 7 deletions
|
@ -711,6 +711,25 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> guiSettings, std:
|
|||
// / ____ \ |_| | (_| | | (_) | | | (_| | |_) |
|
||||
// /_/ \_\__,_|\__,_|_|\___/ |_|\__,_|_.__/
|
||||
|
||||
auto EnableTimeStretchingOptions = [this](bool enabled)
|
||||
{
|
||||
ui->timeStretchingThresholdLabel->setEnabled(enabled);
|
||||
ui->timeStretchingThreshold->setEnabled(enabled);
|
||||
};
|
||||
auto EnableBufferingOptions = [this, EnableTimeStretchingOptions](bool enabled)
|
||||
{
|
||||
ui->audioBufferDuration->setEnabled(enabled);
|
||||
ui->audioBufferDurationLabel->setEnabled(enabled);
|
||||
ui->enableTimeStretching->setEnabled(enabled);
|
||||
EnableTimeStretchingOptions(enabled && ui->enableTimeStretching->isChecked());
|
||||
};
|
||||
auto EnableBuffering = [this, EnableBufferingOptions](const QString& text)
|
||||
{
|
||||
const bool enabled = text == "XAudio2" || text == "OpenAL";
|
||||
ui->enableBuffering->setEnabled(enabled);
|
||||
EnableBufferingOptions(enabled && ui->enableBuffering->isChecked());
|
||||
};
|
||||
|
||||
// Comboboxes
|
||||
|
||||
xemu_settings->EnhanceComboBox(ui->audioOutBox, emu_settings::AudioRenderer);
|
||||
|
@ -721,6 +740,7 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> guiSettings, std:
|
|||
#endif
|
||||
// Change displayed backend names
|
||||
ui->audioOutBox->setItemText(ui->renderBox->findData("Null"), tr("Disable Audio Output"));
|
||||
connect(ui->audioOutBox, &QComboBox::currentTextChanged, EnableBuffering);
|
||||
|
||||
// Checkboxes
|
||||
|
||||
|
@ -733,11 +753,27 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> guiSettings, std:
|
|||
xemu_settings->EnhanceCheckBox(ui->downmix, emu_settings::DownmixStereo);
|
||||
SubscribeTooltip(ui->downmix, json_audio["downmix"].toString());
|
||||
|
||||
xemu_settings->EnhanceCheckBox(ui->enableBuffering, emu_settings::EnableBuffering);
|
||||
SubscribeTooltip(ui->enableBuffering, json_audio["enableBuffering"].toString());
|
||||
connect(ui->enableBuffering, &QCheckBox::clicked, EnableBufferingOptions);
|
||||
|
||||
xemu_settings->EnhanceCheckBox(ui->enableTimeStretching, emu_settings::EnableTimeStretching);
|
||||
SubscribeTooltip(ui->enableTimeStretching, json_audio["enableTimeStretching"].toString());
|
||||
connect(ui->enableTimeStretching, &QCheckBox::clicked, EnableTimeStretchingOptions);
|
||||
|
||||
EnableBuffering(ui->audioOutBox->currentText());
|
||||
|
||||
// Sliders
|
||||
|
||||
EnhanceSlider(emu_settings::MasterVolume, ui->masterVolume, ui->masterVolumeLabel, tr("Master: %0 %"));
|
||||
SubscribeTooltip(ui->masterVolume, json_audio["masterVolume"].toString());
|
||||
|
||||
EnhanceSlider(emu_settings::AudioBufferDuration, ui->audioBufferDuration, ui->audioBufferDurationLabel, tr("Audio Buffer Duration: %0 ms"));
|
||||
SubscribeTooltip({ ui->audioBufferDuration, ui->audioBufferDurationLabel }, json_audio["audioBufferDuration"].toString());
|
||||
|
||||
EnhanceSlider(emu_settings::TimeStretchingThreshold, ui->timeStretchingThreshold, ui->timeStretchingThresholdLabel, tr("Time Stretching Threshold: %0 %"));
|
||||
SubscribeTooltip({ ui->timeStretchingThreshold, ui->timeStretchingThresholdLabel }, json_audio["timeStretchingThreshold"].toString());
|
||||
|
||||
// _____ __ ____ _______ _
|
||||
// |_ _| / / / __ \ |__ __| | |
|
||||
// | | / / | | | | | | __ _| |__
|
||||
|
@ -1435,6 +1471,14 @@ void settings_dialog::SubscribeTooltip(QObject* object, const QString& tooltip)
|
|||
object->installEventFilter(this);
|
||||
}
|
||||
|
||||
void settings_dialog::SubscribeTooltip(QList<QObject*> objects, const QString& tooltip)
|
||||
{
|
||||
for (auto obj : objects)
|
||||
{
|
||||
SubscribeTooltip(obj, tooltip);
|
||||
}
|
||||
}
|
||||
|
||||
// Thanks Dolphin
|
||||
bool settings_dialog::eventFilter(QObject* object, QEvent* event)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue