diff --git a/src/platform/qt/SettingsView.cpp b/src/platform/qt/SettingsView.cpp index 53ed8fac2..f60a43cd3 100644 --- a/src/platform/qt/SettingsView.cpp +++ b/src/platform/qt/SettingsView.cpp @@ -22,6 +22,7 @@ SettingsView::SettingsView(ConfigController* controller, QWidget* parent) loadSetting("useBios", m_ui.useBios); loadSetting("skipBios", m_ui.skipBios); loadSetting("audioBuffers", m_ui.audioBufferSize); + loadSetting("sampleRate", m_ui.sampleRate); loadSetting("videoSync", m_ui.videoSync); loadSetting("audioSync", m_ui.audioSync); loadSetting("frameskip", m_ui.frameskip); @@ -102,6 +103,7 @@ void SettingsView::updateConfig() { saveSetting("useBios", m_ui.useBios); saveSetting("skipBios", m_ui.skipBios); saveSetting("audioBuffers", m_ui.audioBufferSize); + saveSetting("sampleRate", m_ui.sampleRate); saveSetting("videoSync", m_ui.videoSync); saveSetting("audioSync", m_ui.audioSync); saveSetting("frameskip", m_ui.frameskip); diff --git a/src/platform/qt/SettingsView.ui b/src/platform/qt/SettingsView.ui index b59dae40a..f9302a87c 100644 --- a/src/platform/qt/SettingsView.ui +++ b/src/platform/qt/SettingsView.ui @@ -114,13 +114,20 @@ + + + Sample rate: + + + + Volume: - + @@ -147,28 +154,38 @@ - + Qt::Horizontal - + Display driver: - + + + + + 0 + 0 + + + + + Frameskip: - + @@ -189,14 +206,14 @@ - + FPS target: - + @@ -220,21 +237,21 @@ - + Qt::Horizontal - + Sync: - + @@ -252,29 +269,63 @@ - + Lock aspect ratio - + Resample video - - - - - 0 - 0 - - - + + + + + + true + + + 44100 + + + 2 + + + + 22050 + + + + + 32000 + + + + + 44100 + + + + + 48000 + + + + + + + + Hz + + + + diff --git a/src/platform/qt/Window.cpp b/src/platform/qt/Window.cpp index 8ee53dca2..94673f371 100644 --- a/src/platform/qt/Window.cpp +++ b/src/platform/qt/Window.cpp @@ -1122,6 +1122,16 @@ void Window::setupMenu(QMenuBar* menubar) { m_controller->setSkipBIOS(value.toBool()); }, this); + ConfigOption* buffers = m_config->addOption("audioBuffers"); + buffers->connect([this](const QVariant& value) { + emit audioBufferSamplesChanged(value.toInt()); + }, this); + + ConfigOption* sampleRate = m_config->addOption("sampleRate"); + sampleRate->connect([this](const QVariant& value) { + emit sampleRateChanged(value.toUInt()); + }, this); + ConfigOption* volume = m_config->addOption("volume"); volume->connect([this](const QVariant& value) { m_controller->setVolume(value.toInt());