* 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
* infra: Migrate to .NET 6
* Rollback version naming change
* Workaround .NET 6 ZipArchive API issues
* ci: Switch to VS 2022 for AppVeyor
CI is now ready for .NET 6
* Suppress WebClient warning in DoUpdateWithMultipleThreads
* Attempt to workaround System.Drawing.Common changes on 6.0.0
* Change keyboard rendering from System.Drawing to ImageSharp
* Make the software keyboard renderer multithreaded
* Bump ImageSharp version to 1.0.4 to fix a bug in Image.Load
* Add fallback fonts to the keyboard renderer
* Fix warnings
* Address caian's comment
* Clean up linux workaround as it's uneeded now
* Update readme
Co-authored-by: Caian Benedicto <caianbene@gmail.com>
* Add a "Pause Emulation" option and hotkey
Closes Ryujinx#1604
* Refactoring how pause is handled
* Applied suggested changes from review
* Applied suggested fixes
* Pass correct suspend type to threads for suspend/resume
* Fix NRE after stoping emulation
* Removing SimulateWakeUpMessage call after resuming emulation
* Skip suspending non game process
* Pause the tickCounter in the ExecutionContext
* Refactoring tickCounter pause/resume as suggested
* Fix Config migration to add pause hotkey
* Fixed pausing only application threads
* Fix exiting emulator while paused
* Avoid pause/resume while already paused/resumed
* Cleanup unused code
* Avoid restarting audio if stopping emulation while in pause.
* Added suggested changes
* Fix ConfigurationState
* Make audio disposal thread safe on all 3 backends
* Make OpenAL more consistent with the other backends
* Remove Window.Cursor = null, and change dummy TValue to byte
* Haydn: Fix race condition in SoundIO Update implementation
This should fix weird crashes happening for some people with SoundIO.
Fix#2062
* haydn: Make SoundIO session lock-free
* Haydn: Part 1
Based on my reverse of audio 11.0.0.
As always, core implementation under LGPLv3 for the same reasons as for Amadeus.
This place the bases of a more flexible audio system while making audout & audin accurate.
This have the following improvements:
- Complete reimplementation of audout and audin.
- Audin currently only have a dummy backend.
- Dramatically reduce CPU usage by up to 50% in common cases (SoundIO and OpenAL).
- Audio Renderer now can output to 5.1 devices when supported.
- Audio Renderer init its backend on demand instead of keeping two up all the time.
- All backends implementation are now in their own project.
- Ryujinx.Audio.Renderer was renamed Ryujinx.Audio and was refactored because of this.
As a note, games having issues with OpenAL haven't improved and will not
because of OpenAL design (stopping when buffers finish playing causing
possible audio "pops" when buffers are very small).
* Update for latest hexkyz's edits on Switchbrew
* audren: Rollback channel configuration changes
* Address gdkchan's comments
* Fix typo in OpenAL backend driver
* Address last comments
* Fix a nit
* Address gdkchan's comments