aboutsummaryrefslogtreecommitdiffstats
path: root/alc
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2020-09-05 19:11:57 -0700
committerChris Robinson <[email protected]>2020-09-05 19:11:57 -0700
commit9975aeb37f0bcb9a35b1cba7a755abc4774883d0 (patch)
treebd4f60088f5495e5626e69fb4d51afdcc7999bc8 /alc
parent7851f7d4ceff78f2722a4a2e3957c75dec26da1d (diff)
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.
Diffstat (limited to 'alc')
-rw-r--r--alc/inprogext.h11
1 files changed, 11 insertions, 0 deletions
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