From d4f5f4b1454eb8ec6379c4a33a14d6309b7e435d Mon Sep 17 00:00:00 2001 From: yellows8 Date: Sun, 24 Nov 2024 16:19:59 -0500 Subject: [PATCH] audctl: Updated sysver checks. --- nx/include/switch/services/audctl.h | 10 +++++----- nx/source/services/audctl.c | 13 +++++++++++-- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/nx/include/switch/services/audctl.h b/nx/include/switch/services/audctl.h index ee5bc1462..155436555 100644 --- a/nx/include/switch/services/audctl.h +++ b/nx/include/switch/services/audctl.h @@ -48,21 +48,21 @@ Result audctlGetTargetVolumeMin(s32* volume_out); Result audctlGetTargetVolumeMax(s32* volume_out); Result audctlIsTargetMute(bool* mute_out, AudioTarget target); Result audctlSetTargetMute(AudioTarget target, bool mute); -Result audctlIsTargetConnected(bool* connected_out, AudioTarget target); +Result audctlIsTargetConnected(bool* connected_out, AudioTarget target); ///< [1.0.0-17.0.1] Result audctlSetDefaultTarget(AudioTarget target, u64 fade_in_ns, u64 fade_out_ns); Result audctlGetDefaultTarget(AudioTarget* target_out); Result audctlGetAudioOutputMode(AudioOutputMode* mode_out, AudioTarget target); Result audctlSetAudioOutputMode(AudioTarget target, AudioOutputMode mode); -Result audctlSetForceMutePolicy(AudioForceMutePolicy policy); -Result audctlGetForceMutePolicy(AudioForceMutePolicy* policy_out); +Result audctlSetForceMutePolicy(AudioForceMutePolicy policy); ///< [1.0.0-13.2.1] +Result audctlGetForceMutePolicy(AudioForceMutePolicy* policy_out); ///< [1.0.0-13.2.1] Result audctlGetOutputModeSetting(AudioOutputMode* mode_out, AudioTarget target); Result audctlSetOutputModeSetting(AudioTarget target, AudioOutputMode mode); Result audctlSetOutputTarget(AudioTarget target); Result audctlSetInputTargetForceEnabled(bool enable); Result audctlSetHeadphoneOutputLevelMode(AudioHeadphoneOutputLevelMode mode); ///< [3.0.0+] Result audctlGetHeadphoneOutputLevelMode(AudioHeadphoneOutputLevelMode* mode_out); ///< [3.0.0+] -Result audctlAcquireAudioVolumeUpdateEventForPlayReport(Event* event_out); ///< [3.0.0+] -Result audctlAcquireAudioOutputDeviceUpdateEventForPlayReport(Event* event_out); ///< [3.0.0+] +Result audctlAcquireAudioVolumeUpdateEventForPlayReport(Event* event_out); ///< [3.0.0-13.2.1] +Result audctlAcquireAudioOutputDeviceUpdateEventForPlayReport(Event* event_out); ///< [3.0.0-13.2.1] Result audctlGetAudioOutputTargetForPlayReport(AudioTarget* target_out); ///< [3.0.0+] Result audctlNotifyHeadphoneVolumeWarningDisplayedEvent(void); ///< [3.0.0+] Result audctlSetSystemOutputMasterVolume(float volume); ///< [4.0.0+] diff --git a/nx/source/services/audctl.c b/nx/source/services/audctl.c index 4d7543bcb..0c436577e 100644 --- a/nx/source/services/audctl.c +++ b/nx/source/services/audctl.c @@ -99,6 +99,9 @@ Result audctlSetTargetMute(AudioTarget target, bool mute) { } Result audctlIsTargetConnected(bool* connected_out, AudioTarget target) { + if (hosversionAtLeast(18,0,0)) + return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer); + const struct { u32 target; } in = { target }; @@ -166,6 +169,9 @@ Result audctlSetAudioOutputMode(AudioTarget target, AudioOutputMode mode) { } Result audctlSetForceMutePolicy(AudioForceMutePolicy policy) { + if (hosversionAtLeast(14,0,0)) + return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer); + const struct { u32 policy; } in = { policy }; @@ -174,6 +180,9 @@ Result audctlSetForceMutePolicy(AudioForceMutePolicy policy) { } Result audctlGetForceMutePolicy(AudioForceMutePolicy* policy_out) { + if (hosversionAtLeast(14,0,0)) + return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer); + struct { u32 policy; } out; @@ -256,7 +265,7 @@ Result audctlGetHeadphoneOutputLevelMode(AudioHeadphoneOutputLevelMode* mode_out } Result audctlAcquireAudioVolumeUpdateEventForPlayReport(Event* event_out) { - if (hosversionBefore(3,0,0)) + if (!hosversionBetween(3,14)) return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer); Handle tmp_handle; @@ -274,7 +283,7 @@ Result audctlAcquireAudioVolumeUpdateEventForPlayReport(Event* event_out) { } Result audctlAcquireAudioOutputDeviceUpdateEventForPlayReport(Event* event_out) { - if (hosversionBefore(3,0,0)) + if (!hosversionBetween(3,14)) return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer); Handle tmp_handle;