From 0e7752ff4f30f2740b1656d474b73a27265502f2 Mon Sep 17 00:00:00 2001 From: Sotiris Papatheodorou Date: Wed, 1 Oct 2025 13:35:42 +0300 Subject: [PATCH] Add getters in pspaudiolib --- src/audio/pspaudiolib.c | 13 +++++++++++++ src/audio/pspaudiolib.h | 2 ++ 2 files changed, 15 insertions(+) diff --git a/src/audio/pspaudiolib.c b/src/audio/pspaudiolib.c index 6325c412..37f5f5fe 100644 --- a/src/audio/pspaudiolib.c +++ b/src/audio/pspaudiolib.c @@ -30,6 +30,12 @@ void pspAudioSetVolume(int channel, int left, int right) AudioStatus[channel].volumeleft = left; } +void pspAudioGetVolume(int channel, int *left, int *right) +{ + *right = AudioStatus[channel].volumeright; + *left = AudioStatus[channel].volumeleft; +} + void pspAudioSetChannelCallback(int channel, pspAudioCallback_t callback, void *pdata) { volatile psp_audio_channelinfo *pci = &AudioStatus[channel]; @@ -38,6 +44,13 @@ void pspAudioSetChannelCallback(int channel, pspAudioCallback_t callback, void * pci->callback=callback; } +void pspAudioGetChannelCallback(int channel, pspAudioCallback_t *callback, void **pdata) +{ + volatile psp_audio_channelinfo *pci = &AudioStatus[channel]; + *pdata = pci->pdata; + *callback = pci->callback; +} + int pspAudioOutBlocking(unsigned int channel, unsigned int vol1, unsigned int vol2, void *buf) { if (!audio_ready) return -1; diff --git a/src/audio/pspaudiolib.h b/src/audio/pspaudiolib.h index 18f9aa05..9d42f33d 100644 --- a/src/audio/pspaudiolib.h +++ b/src/audio/pspaudiolib.h @@ -41,7 +41,9 @@ void pspAudioEndPre(); void pspAudioEnd(); void pspAudioSetVolume(int channel, int left, int right); +void pspAudioGetVolume(int channel, int *left, int *right); void pspAudioSetChannelCallback(int channel, pspAudioCallback_t callback, void *pdata); +void pspAudioGetChannelCallback(int channel, pspAudioCallback_t *callback, void **pdata); int pspAudioOutBlocking(unsigned int channel, unsigned int vol1, unsigned int vol2, void *buf); #ifdef __cplusplus