mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-08-17 07:49:21 +00:00
Merge 0410d318fb
into 72ef27c157
This commit is contained in:
commit
f2171ea190
2 changed files with 28 additions and 15 deletions
|
@ -160,26 +160,29 @@ void AudioPane::CreateWidgets()
|
|||
auto* playback_layout = new QGridLayout;
|
||||
playback_box->setLayout(playback_layout);
|
||||
|
||||
ConfigSlider* audio_buffer_size = new ConfigSlider(16, 512, Config::MAIN_AUDIO_BUFFER_SIZE, 8);
|
||||
m_audio_buffer_size = new ConfigSlider(16, 512, Config::MAIN_AUDIO_BUFFER_SIZE, 8);
|
||||
QLabel* audio_buffer_size_label = new QLabel;
|
||||
|
||||
audio_buffer_size->setSingleStep(8);
|
||||
audio_buffer_size->setPageStep(8);
|
||||
m_audio_buffer_size->setSingleStep(8);
|
||||
m_audio_buffer_size->setPageStep(8);
|
||||
|
||||
audio_buffer_size->SetDescription(
|
||||
tr("Controls the number of audio samples buffered."
|
||||
" Lower values reduce latency but may cause more crackling or stuttering."
|
||||
"<br><br><dolphin_emphasis>If unsure, set this to 80 ms.</dolphin_emphasis>"));
|
||||
m_audio_buffer_size->SetDescription(
|
||||
tr("Controls the number of audio samples buffered. "
|
||||
"Lower values reduce latency but may cause more crackling or stuttering."
|
||||
"<br><br>LLE requires a larger buffer than HLE because it emits audio in larger chunks."
|
||||
"<br><br><dolphin_emphasis>If unsure, set this to 80 ms for HLE or 120 ms for "
|
||||
"LLE</dolphin_emphasis>"));
|
||||
|
||||
// Connect the slider to update the value label live
|
||||
connect(audio_buffer_size, &QSlider::valueChanged, this, [=](int value) {
|
||||
int stepped_value = (value / 8) * 8;
|
||||
audio_buffer_size->setValue(stepped_value);
|
||||
audio_buffer_size_label->setText(tr("%1 ms").arg(stepped_value));
|
||||
});
|
||||
connect(m_audio_buffer_size, &QSlider::valueChanged, this,
|
||||
[audio_buffer_size_label, this](int value) {
|
||||
int stepped_value = (value / 8) * 8;
|
||||
m_audio_buffer_size->setValue(stepped_value);
|
||||
audio_buffer_size_label->setText(tr("%1 ms").arg(stepped_value));
|
||||
});
|
||||
|
||||
// Set initial value display
|
||||
audio_buffer_size_label->setText(tr("%1 ms").arg(audio_buffer_size->value()));
|
||||
audio_buffer_size_label->setText(tr("%1 ms").arg(m_audio_buffer_size->value()));
|
||||
|
||||
m_audio_fill_gaps = new ConfigBool(tr("Fill Audio Gaps"), Config::MAIN_AUDIO_FILL_GAPS);
|
||||
|
||||
|
@ -188,8 +191,8 @@ void AudioPane::CreateWidgets()
|
|||
|
||||
// Create a horizontal layout for the slider + value label
|
||||
auto* buffer_layout = new QHBoxLayout;
|
||||
buffer_layout->addWidget(new ConfigSliderLabel(tr("Audio Buffer Size:"), audio_buffer_size));
|
||||
buffer_layout->addWidget(audio_buffer_size);
|
||||
buffer_layout->addWidget(new ConfigSliderLabel(tr("Audio Buffer Size:"), m_audio_buffer_size));
|
||||
buffer_layout->addWidget(m_audio_buffer_size);
|
||||
buffer_layout->addWidget(audio_buffer_size_label);
|
||||
|
||||
playback_layout->addLayout(buffer_layout, 0, 0);
|
||||
|
@ -235,6 +238,14 @@ void AudioPane::OnDspChanged()
|
|||
m_dolby_pro_logic->setEnabled(enabled);
|
||||
m_dolby_quality_label->setEnabled(enabled && m_dolby_pro_logic->isChecked());
|
||||
m_dolby_quality_combo->setEnabled(enabled && m_dolby_pro_logic->isChecked());
|
||||
if (Config::Get(Config::MAIN_DSP_HLE))
|
||||
{
|
||||
m_audio_buffer_size->setValue(std::min(80, m_audio_buffer_size->value()));
|
||||
}
|
||||
else
|
||||
{
|
||||
m_audio_buffer_size->setValue(std::max(120, m_audio_buffer_size->value()));
|
||||
}
|
||||
}
|
||||
|
||||
void AudioPane::OnBackendChanged()
|
||||
|
|
|
@ -64,6 +64,8 @@ private:
|
|||
ConfigStringChoice* m_wasapi_device_combo;
|
||||
#endif
|
||||
|
||||
ConfigSlider* m_audio_buffer_size;
|
||||
|
||||
// Misc Settings
|
||||
ConfigBool* m_audio_fill_gaps;
|
||||
ConfigBool* m_speed_up_mute_enable;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue