From 7cb653297129b9656574d9a1b6ecf101f2730eb7 Mon Sep 17 00:00:00 2001 From: Xpl0itR Date: Sat, 4 Jul 2020 00:16:49 +0100 Subject: Implement audio backend configuration option (#1325) * Implement audio backend configuration option * Use OpenAL by default * Increment version number in config.json and add 30px to the height of the settings window * nits * capitalise audio backend names --- Ryujinx.Common/Configuration/ConfigurationState.cs | 30 +++++++++++++++------- 1 file changed, 21 insertions(+), 9 deletions(-) (limited to 'Ryujinx.Common/Configuration/ConfigurationState.cs') diff --git a/Ryujinx.Common/Configuration/ConfigurationState.cs b/Ryujinx.Common/Configuration/ConfigurationState.cs index 2a85f7e1..0f5367f9 100644 --- a/Ryujinx.Common/Configuration/ConfigurationState.cs +++ b/Ryujinx.Common/Configuration/ConfigurationState.cs @@ -205,6 +205,11 @@ namespace Ryujinx.Configuration /// public ReactiveObject FsGlobalAccessLogMode { get; private set; } + /// + /// The selected audio backend + /// + public ReactiveObject AudioBackend { get; private set; } + /// /// Enable or disable ignoring missing services /// @@ -221,6 +226,7 @@ namespace Ryujinx.Configuration EnablePtc = new ReactiveObject(); EnableFsIntegrityChecks = new ReactiveObject(); FsGlobalAccessLogMode = new ReactiveObject(); + AudioBackend = new ReactiveObject(); IgnoreMissingServices = new ReactiveObject(); } } @@ -370,6 +376,7 @@ namespace Ryujinx.Configuration EnablePtc = System.EnablePtc, EnableFsIntegrityChecks = System.EnableFsIntegrityChecks, FsGlobalAccessLogMode = System.FsGlobalAccessLogMode, + AudioBackend = System.AudioBackend, IgnoreMissingServices = System.IgnoreMissingServices, GuiColumns = new GuiColumns { @@ -425,6 +432,7 @@ namespace Ryujinx.Configuration System.EnablePtc.Value = false; System.EnableFsIntegrityChecks.Value = true; System.FsGlobalAccessLogMode.Value = 0; + System.AudioBackend.Value = AudioBackend.OpenAl; System.IgnoreMissingServices.Value = false; Ui.GuiColumns.FavColumn.Value = true; Ui.GuiColumns.IconColumn.Value = true; @@ -547,7 +555,8 @@ namespace Ryujinx.Configuration Common.Logging.Logger.PrintWarning(LogClass.Application, $"Outdated configuration version {configurationFileFormat.Version}, migrating to version 6."); configurationFileFormat.ControllerConfig = new List(); - configurationFileFormat.KeyboardConfig = new List{ + configurationFileFormat.KeyboardConfig = new List + { new KeyboardConfig { Index = 0, @@ -634,16 +643,19 @@ namespace Ryujinx.Configuration configurationFileUpdated = true; } - List inputConfig = new List(); - foreach (ControllerConfig controllerConfig in configurationFileFormat.ControllerConfig) - { - inputConfig.Add(controllerConfig); - } - foreach (KeyboardConfig keyboardConfig in configurationFileFormat.KeyboardConfig) + if (configurationFileFormat.Version < 10) { - inputConfig.Add(keyboardConfig); + Common.Logging.Logger.PrintWarning(LogClass.Application, $"Outdated configuration version {configurationFileFormat.Version}, migrating to version 10."); + + configurationFileFormat.AudioBackend = AudioBackend.OpenAl; + + configurationFileUpdated = true; } + List inputConfig = new List(); + inputConfig.AddRange(configurationFileFormat.ControllerConfig); + inputConfig.AddRange(configurationFileFormat.KeyboardConfig); + Graphics.MaxAnisotropy.Value = configurationFileFormat.MaxAnisotropy; Graphics.ShadersDumpPath.Value = configurationFileFormat.GraphicsShadersDumpPath; Logger.EnableDebug.Value = configurationFileFormat.LoggingEnableDebug; @@ -660,13 +672,13 @@ namespace Ryujinx.Configuration System.TimeZone.Value = configurationFileFormat.SystemTimeZone; System.SystemTimeOffset.Value = configurationFileFormat.SystemTimeOffset; System.EnableDockedMode.Value = configurationFileFormat.DockedMode; - System.EnableDockedMode.Value = configurationFileFormat.DockedMode; EnableDiscordIntegration.Value = configurationFileFormat.EnableDiscordIntegration; Graphics.EnableVsync.Value = configurationFileFormat.EnableVsync; System.EnableMulticoreScheduling.Value = configurationFileFormat.EnableMulticoreScheduling; System.EnablePtc.Value = configurationFileFormat.EnablePtc; System.EnableFsIntegrityChecks.Value = configurationFileFormat.EnableFsIntegrityChecks; System.FsGlobalAccessLogMode.Value = configurationFileFormat.FsGlobalAccessLogMode; + System.AudioBackend.Value = configurationFileFormat.AudioBackend; System.IgnoreMissingServices.Value = configurationFileFormat.IgnoreMissingServices; Ui.GuiColumns.FavColumn.Value = configurationFileFormat.GuiColumns.FavColumn; Ui.GuiColumns.IconColumn.Value = configurationFileFormat.GuiColumns.IconColumn; -- cgit v1.2.3