Qt: Add sample rate option to settings

This commit is contained in:
Jeffrey Pfau 2015-08-09 21:54:50 -07:00
parent 2a4ecde790
commit 709f4f7a83
3 changed files with 84 additions and 21 deletions

View File

@ -22,6 +22,7 @@ SettingsView::SettingsView(ConfigController* controller, QWidget* parent)
loadSetting("useBios", m_ui.useBios); loadSetting("useBios", m_ui.useBios);
loadSetting("skipBios", m_ui.skipBios); loadSetting("skipBios", m_ui.skipBios);
loadSetting("audioBuffers", m_ui.audioBufferSize); loadSetting("audioBuffers", m_ui.audioBufferSize);
loadSetting("sampleRate", m_ui.sampleRate);
loadSetting("videoSync", m_ui.videoSync); loadSetting("videoSync", m_ui.videoSync);
loadSetting("audioSync", m_ui.audioSync); loadSetting("audioSync", m_ui.audioSync);
loadSetting("frameskip", m_ui.frameskip); loadSetting("frameskip", m_ui.frameskip);
@ -102,6 +103,7 @@ void SettingsView::updateConfig() {
saveSetting("useBios", m_ui.useBios); saveSetting("useBios", m_ui.useBios);
saveSetting("skipBios", m_ui.skipBios); saveSetting("skipBios", m_ui.skipBios);
saveSetting("audioBuffers", m_ui.audioBufferSize); saveSetting("audioBuffers", m_ui.audioBufferSize);
saveSetting("sampleRate", m_ui.sampleRate);
saveSetting("videoSync", m_ui.videoSync); saveSetting("videoSync", m_ui.videoSync);
saveSetting("audioSync", m_ui.audioSync); saveSetting("audioSync", m_ui.audioSync);
saveSetting("frameskip", m_ui.frameskip); saveSetting("frameskip", m_ui.frameskip);

View File

@ -114,13 +114,20 @@
</layout> </layout>
</item> </item>
<item row="2" column="0"> <item row="2" column="0">
<widget class="QLabel" name="label_19">
<property name="text">
<string>Sample rate:</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_17"> <widget class="QLabel" name="label_17">
<property name="text"> <property name="text">
<string>Volume:</string> <string>Volume:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="1"> <item row="3" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_6"> <layout class="QHBoxLayout" name="horizontalLayout_6">
<item> <item>
<widget class="QSlider" name="volume"> <widget class="QSlider" name="volume">
@ -147,28 +154,38 @@
</item> </item>
</layout> </layout>
</item> </item>
<item row="3" column="0" colspan="2"> <item row="4" column="0" colspan="2">
<widget class="Line" name="line"> <widget class="Line" name="line">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
</widget> </widget>
</item> </item>
<item row="4" column="0"> <item row="5" column="0">
<widget class="QLabel" name="label_10"> <widget class="QLabel" name="label_10">
<property name="text"> <property name="text">
<string>Display driver:</string> <string>Display driver:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="5" column="0"> <item row="5" column="1">
<widget class="QComboBox" name="displayDriver">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_9"> <widget class="QLabel" name="label_9">
<property name="text"> <property name="text">
<string>Frameskip:</string> <string>Frameskip:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="5" column="1"> <item row="6" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_16"> <layout class="QHBoxLayout" name="horizontalLayout_16">
<item> <item>
<widget class="QLabel" name="label_12"> <widget class="QLabel" name="label_12">
@ -189,14 +206,14 @@
</item> </item>
</layout> </layout>
</item> </item>
<item row="6" column="0"> <item row="7" column="0">
<widget class="QLabel" name="label_3"> <widget class="QLabel" name="label_3">
<property name="text"> <property name="text">
<string>FPS target:</string> <string>FPS target:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="6" column="1"> <item row="7" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QHBoxLayout" name="horizontalLayout_2">
<item> <item>
<widget class="QDoubleSpinBox" name="fpsTarget"> <widget class="QDoubleSpinBox" name="fpsTarget">
@ -220,21 +237,21 @@
</item> </item>
</layout> </layout>
</item> </item>
<item row="7" column="0" colspan="2"> <item row="8" column="0" colspan="2">
<widget class="Line" name="line_4"> <widget class="Line" name="line_4">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
</widget> </widget>
</item> </item>
<item row="8" column="0"> <item row="9" column="0">
<widget class="QLabel" name="label_2"> <widget class="QLabel" name="label_2">
<property name="text"> <property name="text">
<string>Sync:</string> <string>Sync:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="8" column="1"> <item row="9" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_10"> <layout class="QHBoxLayout" name="horizontalLayout_10">
<item> <item>
<widget class="QCheckBox" name="videoSync"> <widget class="QCheckBox" name="videoSync">
@ -252,32 +269,66 @@
</item> </item>
</layout> </layout>
</item> </item>
<item row="9" column="1"> <item row="10" column="1">
<widget class="QCheckBox" name="lockAspectRatio"> <widget class="QCheckBox" name="lockAspectRatio">
<property name="text"> <property name="text">
<string>Lock aspect ratio</string> <string>Lock aspect ratio</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="10" column="1"> <item row="11" column="1">
<widget class="QCheckBox" name="resampleVideo"> <widget class="QCheckBox" name="resampleVideo">
<property name="text"> <property name="text">
<string>Resample video</string> <string>Resample video</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="4" column="1"> <item row="2" column="1">
<widget class="QComboBox" name="displayDriver"> <layout class="QHBoxLayout" name="horizontalLayout_14">
<property name="sizePolicy"> <item>
<sizepolicy hsizetype="Expanding" vsizetype="Fixed"> <widget class="QComboBox" name="sampleRate">
<horstretch>0</horstretch> <property name="editable">
<verstretch>0</verstretch> <bool>true</bool>
</sizepolicy> </property>
<property name="currentText">
<string>44100</string>
</property>
<property name="currentIndex">
<number>2</number>
</property>
<item>
<property name="text">
<string>22050</string>
</property>
</item>
<item>
<property name="text">
<string>32000</string>
</property>
</item>
<item>
<property name="text">
<string>44100</string>
</property>
</item>
<item>
<property name="text">
<string>48000</string>
</property>
</item>
</widget>
</item>
<item>
<widget class="QLabel" name="label_20">
<property name="text">
<string>Hz</string>
</property> </property>
</widget> </widget>
</item> </item>
</layout> </layout>
</item> </item>
</layout>
</item>
<item> <item>
<widget class="Line" name="line_5"> <widget class="Line" name="line_5">
<property name="orientation"> <property name="orientation">

View File

@ -1122,6 +1122,16 @@ void Window::setupMenu(QMenuBar* menubar) {
m_controller->setSkipBIOS(value.toBool()); m_controller->setSkipBIOS(value.toBool());
}, this); }, 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"); ConfigOption* volume = m_config->addOption("volume");
volume->connect([this](const QVariant& value) { volume->connect([this](const QVariant& value) {
m_controller->setVolume(value.toInt()); m_controller->setVolume(value.toInt());