10 #include "../audio/audio.h"
11 #include "../sf/service.h"
12 #include "../kernel/event.h"
15 AudioTarget_Invalid = 0,
16 AudioTarget_Speaker = 1,
17 AudioTarget_Headphone = 2,
19 AudioTarget_UsbOutputDevice = 4,
23 AudioOutputMode_Invalid = 0,
24 AudioOutputMode_Pcm1ch = 1,
25 AudioOutputMode_Pcm2ch = 2,
26 AudioOutputMode_Pcm6ch = 3,
27 AudioOutputMode_PcmAuto = 4,
31 AudioForceMutePolicy_Disable = 0,
32 AudioForceMutePolicy_SpeakerMuteOnHeadphoneUnplugged = 1,
33 } AudioForceMutePolicy;
36 AudioHeadphoneOutputLevelMode_Normal = 0,
37 AudioHeadphoneOutputLevelMode_HighPower = 1,
38 } AudioHeadphoneOutputLevelMode;
40 Result audctlInitialize(
void);
41 void audctlExit(
void);
42 Service* audctlGetServiceSession(
void);
44 Result audctlGetTargetVolume(
float* volume_out, AudioTarget target);
45 Result audctlSetTargetVolume(AudioTarget target,
float volume);
46 Result audctlGetTargetVolumeMin(
float* volume_out);
47 Result audctlGetTargetVolumeMax(
float* volume_out);
48 Result audctlIsTargetMute(
bool* mute_out, AudioTarget target);
49 Result audctlSetTargetMute(AudioTarget target,
bool mute);
50 Result audctlIsTargetConnected(
bool* connected_out, AudioTarget target);
51 Result audctlSetDefaultTarget(AudioTarget target,
u64 fade_in_ns,
u64 fade_out_ns);
52 Result audctlGetDefaultTarget(AudioTarget* target_out);
53 Result audctlGetAudioOutputMode(AudioOutputMode* mode_out, AudioTarget target);
54 Result audctlSetAudioOutputMode(AudioTarget target, AudioOutputMode mode);
55 Result audctlSetForceMutePolicy(AudioForceMutePolicy policy);
56 Result audctlGetForceMutePolicy(AudioForceMutePolicy* policy_out);
57 Result audctlGetOutputModeSetting(AudioOutputMode* mode_out, AudioTarget target);
58 Result audctlSetOutputModeSetting(AudioTarget target, AudioOutputMode mode);
59 Result audctlSetOutputTarget(AudioTarget target);
60 Result audctlSetInputTargetForceEnabled(
bool enable);