diff options
author | sharmander <saldabain.dev@gmail.com> | 2021-12-23 11:33:56 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-23 13:33:56 -0300 |
commit | cb43cc7e322014ce2bd0ee73b06d403be62fa8d5 (patch) | |
tree | 98dbdc73e947b94d04c5e12bf7dba80f93407e2c /Ryujinx/Configuration/ConfigurationState.cs | |
parent | e7c2dc8ec3329d50a52c36efeb31019850ce6015 (diff) |
UI - Add Volume Controls + Mute Toggle (F2) (#2871)
* Add the ability to toggle mute in the status bar.
* Add the ability to toggle mute in the status bar.
* Formatting fixes
* Add hotkey (F2) to mute
* Add default hotkey to config.json
* Add ability to change volume via slider.
* Fix Headless
* Fix SDL2 Problem : Credits to d3xMachina
* Remove unnecessary work
* Address gdk comments
* Toggling with Hotkey now properly restores volume to original level.
* Toggling with Hotkey now properly restores volume to original level.
* Update UI to show Volume % instead of Muted/Unmuted
* Clean up the volume ui a bit.
* Undo unintentionally committed code.
* Implement AudRen Support
* Restore intiial volume level in function definition.
* Finalize UI
* Finalize UI
* Use clamp for bounds check
* Use Math.Clamp for volume in soundio
* Address comments by gdkchan
* Address remaining comments
* Fix missing semicolon
* Address remaining gdkchan comment
* Fix comment
* Change /* to //
* Allow volume slider to change volume immediately.
Also force label text to cast to int to prevent decimals from showing in status bar
* Remove blank line
* Undo setting of volume level when "Cancel" is pressed.
* Fix allignment for settings window code
Diffstat (limited to 'Ryujinx/Configuration/ConfigurationState.cs')
-rw-r--r-- | Ryujinx/Configuration/ConfigurationState.cs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/Ryujinx/Configuration/ConfigurationState.cs b/Ryujinx/Configuration/ConfigurationState.cs index 9cf3f650..02136591 100644 --- a/Ryujinx/Configuration/ConfigurationState.cs +++ b/Ryujinx/Configuration/ConfigurationState.cs @@ -221,6 +221,11 @@ namespace Ryujinx.Configuration public ReactiveObject<AudioBackend> AudioBackend { get; private set; } /// <summary> + /// The audio backend volume + /// </summary> + public ReactiveObject<float> AudioVolume { get; private set; } + + /// <summary> /// The selected memory manager mode /// </summary> public ReactiveObject<MemoryManagerMode> MemoryManagerMode { get; private set; } @@ -257,6 +262,8 @@ namespace Ryujinx.Configuration ExpandRam.Event += static (sender, e) => LogValueChange(sender, e, nameof(ExpandRam)); IgnoreMissingServices = new ReactiveObject<bool>(); IgnoreMissingServices.Event += static (sender, e) => LogValueChange(sender, e, nameof(IgnoreMissingServices)); + AudioVolume = new ReactiveObject<float>(); + AudioVolume.Event += static (sender, e) => LogValueChange(sender, e, nameof(AudioVolume)); } } @@ -460,6 +467,7 @@ namespace Ryujinx.Configuration EnableFsIntegrityChecks = System.EnableFsIntegrityChecks, FsGlobalAccessLogMode = System.FsGlobalAccessLogMode, AudioBackend = System.AudioBackend, + AudioVolume = System.AudioVolume, MemoryManagerMode = System.MemoryManagerMode, ExpandRam = System.ExpandRam, IgnoreMissingServices = System.IgnoreMissingServices, @@ -553,6 +561,7 @@ namespace Ryujinx.Configuration Hid.Hotkeys.Value = new KeyboardHotkeys { ToggleVsync = Key.Tab, + ToggleMute = Key.F2, Screenshot = Key.F8, ShowUi = Key.F4, Pause = Key.F5 @@ -929,6 +938,24 @@ namespace Ryujinx.Configuration configurationFileUpdated = true; } + if (configurationFileFormat.Version < 33) + { + Common.Logging.Logger.Warning?.Print(LogClass.Application, $"Outdated configuration version {configurationFileFormat.Version}, migrating to version 33."); + + configurationFileFormat.Hotkeys = new KeyboardHotkeys + { + ToggleVsync = configurationFileFormat.Hotkeys.ToggleVsync, + Screenshot = configurationFileFormat.Hotkeys.Screenshot, + ShowUi = configurationFileFormat.Hotkeys.ShowUi, + Pause = configurationFileFormat.Hotkeys.Pause, + ToggleMute = Key.F2 + }; + + configurationFileFormat.AudioVolume = 1; + + configurationFileUpdated = true; + } + Logger.EnableFileLog.Value = configurationFileFormat.EnableFileLog; Graphics.BackendThreading.Value = configurationFileFormat.BackendThreading; Graphics.ResScale.Value = configurationFileFormat.ResScale; @@ -960,6 +987,7 @@ namespace Ryujinx.Configuration System.EnableFsIntegrityChecks.Value = configurationFileFormat.EnableFsIntegrityChecks; System.FsGlobalAccessLogMode.Value = configurationFileFormat.FsGlobalAccessLogMode; System.AudioBackend.Value = configurationFileFormat.AudioBackend; + System.AudioVolume.Value = configurationFileFormat.AudioVolume; System.MemoryManagerMode.Value = configurationFileFormat.MemoryManagerMode; System.ExpandRam.Value = configurationFileFormat.ExpandRam; System.IgnoreMissingServices.Value = configurationFileFormat.IgnoreMissingServices; |