From 9975aeb37f0bcb9a35b1cba7a755abc4774883d0 Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Sat, 5 Sep 2020 19:11:57 -0700 Subject: Add methods to start and stop effect slot processing A newly-created effect slot is in an AL_INITIAL state, in which processing is stopped but will automatically become AL_PLAYING after successfully setting an AL_EFFECTSLOT_EFFECT value (including AL_EFFECT_NULL or 0). Calling Play[v] or Stop[v] will set the effect slot to AL_PLAYING or AL_STOPPED respectively. While stopped, the effect won't produce audio and will not be processed. --- alc/inprogext.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'alc/inprogext.h') diff --git a/alc/inprogext.h b/alc/inprogext.h index 02aea760..0a7feef7 100644 --- a/alc/inprogext.h +++ b/alc/inprogext.h @@ -102,6 +102,17 @@ AL_API void AL_APIENTRY alGetBufferPtrvSOFT(ALuint buffer, ALenum param, ALvoid #ifndef AL_SOFT_convolution_reverb #define AL_SOFT_convolution_reverb #define AL_EFFECT_CONVOLUTION_REVERB_SOFT 0xA000 +#define AL_EFFECTSLOT_STATE_SOFT 0x199D +typedef void (AL_APIENTRY*LPALAUXILIARYEFFECTSLOTPLAYSOFT)(ALuint slotid); +typedef void (AL_APIENTRY*LPALAUXILIARYEFFECTSLOTPLAYVSOFT)(ALsizei n, const ALuint *slotids); +typedef void (AL_APIENTRY*LPALAUXILIARYEFFECTSLOTSTOPSOFT)(ALuint slotid); +typedef void (AL_APIENTRY*LPALAUXILIARYEFFECTSLOTSTOPVSOFT)(ALsizei n, const ALuint *slotids); +#ifdef AL_ALEXT_PROTOTYPES +AL_API void AL_APIENTRY alAuxiliaryEffectSlotPlaySOFT(ALuint slotid); +AL_API void AL_APIENTRY alAuxiliaryEffectSlotPlayvSOFT(ALsizei n, const ALuint *slotids); +AL_API void AL_APIENTRY alAuxiliaryEffectSlotStopSOFT(ALuint slotid); +AL_API void AL_APIENTRY alAuxiliaryEffectSlotStopvSOFT(ALsizei n, const ALuint *slotids); +#endif #endif #ifdef __cplusplus -- cgit v1.2.3