mirror of
https://git.citron-emu.org/citron/emulator
synced 2025-12-24 12:43:45 +00:00
New Services Added: - auddev (IAudioSnoopManager) - Audio development/debugging service [6.0.0+] * EnableDspUsageMeasurement/GetDspStatistics with firmware version switching * DisableDspUsageMeasurement/GetAppletStateSummaries with firmware version switching * SetDspStatisticsParameter/GetDspStatisticsParameter [20.0.0+] * GetDspUsage [6.0.0-16.1.0] - aud:a (IAudioSystemManagerForApplet) - System audio manager for applets [11.0.0+] * Applet resource user ID registration/management * Audio suspend/resume functionality * Per-applet volume controls (output/input/record) * GetAppletStateSummaries [18.0.0-19.0.1] - aud:d (IAudioSystemManagerForDebugger) - System audio manager for debugging [11.0.0+] * RequestSuspendAudioForDebug/RequestResumeAudioForDebug Enhanced Existing Services: - audctl (IAudioController) - Added missing [19.0.0+] functions: * OverrideDefaultTargetForDebug [19.0.0-19.0.1] * SetForceOverrideExternalDeviceNameForDebug [19.0.0+] * ClearForceOverrideExternalDeviceNameForDebug [19.0.0+] * Fixed GetSystemInformationForDebug buffer handling - IAudioDevice - Added missing [17.0.0+] and [18.0.0+] functions: * AcquireAudioInputDeviceNotification/ReleaseAudioInputDeviceNotification [17.0.0+] * AcquireAudioOutputDeviceNotification/ReleaseAudioOutputDeviceNotification [17.0.0+] * SetAudioDeviceOutputVolumeAutoTuneEnabled/IsAudioDeviceOutputVolumeAutoTuneEnabled [18.0.0+] Technical Changes: - Updated service registration in audio.cpp to replace placeholder services - Added proper CMIF buffer handling with std::array<u8, SIZE> for InLargeData/OutLargeData - Added firmware version annotations matching switchbrew documentation - Implemented proper state management for all new services - Added comprehensive error handling and logging This implementation provides complete audio service coverage including the specifically requested GetDspStatisticsParameter function and numerous other missing functions that games expect to be available. Signed-off-by: Zephyron <zephyron@citron-emu.org>