HostInterface: Add audio buffer/count/volume/mute settings

This commit is contained in:
Connor McLaughlin
2020-05-10 00:44:37 +10:00
parent b6fbdf9aeb
commit c329f58afe
4 changed files with 75 additions and 64 deletions

View File

@ -1,5 +1,6 @@
#include "settings.h"
#include "common/string_util.h"
#include "host_interface.h"
#include <array>
Settings::Settings() = default;
@ -50,6 +51,10 @@ void Settings::Load(SettingsInterface& si)
audio_backend =
ParseAudioBackend(si.GetStringValue("Audio", "Backend", "Cubeb").c_str()).value_or(AudioBackend::Cubeb);
audio_output_volume = si.GetIntValue("Audio", "OutputVolume", 100);
audio_buffer_size = si.GetIntValue("Audio", "BufferSize", HostInterface::DEFAULT_AUDIO_BUFFER_SIZE);
audio_buffer_count = si.GetIntValue("Audio", "BufferCount", HostInterface::DEFAULT_AUDIO_BUFFER_COUNT);
audio_output_muted = si.GetBoolValue("Audio", "OutputMuted", false);
audio_sync_enabled = si.GetBoolValue("Audio", "Sync", true);
audio_dump_on_boot = si.GetBoolValue("Audio", "DumpOnBoot", false);
@ -135,6 +140,10 @@ void Settings::Save(SettingsInterface& si) const
si.SetBoolValue("CDROM", "RegionCheck", cdrom_region_check);
si.SetStringValue("Audio", "Backend", GetAudioBackendName(audio_backend));
si.SetIntValue("Audio", "OutputVolume", audio_output_volume);
si.SetIntValue("Audio", "BufferSize", audio_buffer_size);
si.SetIntValue("Audio", "BufferCount", audio_buffer_count);
si.SetBoolValue("Audio", "OutputMuted", audio_output_muted);
si.SetBoolValue("Audio", "Sync", audio_sync_enabled);
si.SetBoolValue("Audio", "DumpOnBoot", audio_dump_on_boot);