AL_API ALvoid AL_APIENTRY alGetEffectiv(ALuint effect, ALenum param, ALint *values) { ALCcontext *Context; ALCdevice *Device; ALeffect *ALEffect; switch(param) { case AL_EFFECT_TYPE: alGetEffecti(effect, param, values); return; } Context = GetContextRef(); if(!Context) return; Device = Context->Device; if((ALEffect=LookupEffect(Device, effect)) == NULL) alSetError(Context, AL_INVALID_NAME); else { /* Call the appropriate handler */ ALeffect_GetParamiv(ALEffect, Context, param, values); } ALCcontext_DecRef(Context); }
AL_API ALvoid AL_APIENTRY alGetEffecti(ALuint effect, ALenum param, ALint *piValue) { ALCcontext *Context; ALCdevice *Device; ALeffect *ALEffect; Context = GetContextRef(); if(!Context) return; Device = Context->Device; if((ALEffect=LookupEffect(Device, effect)) != NULL) { if(param == AL_EFFECT_TYPE) { *piValue = ALEffect->type; } else { /* Call the appropriate handler */ ALeffect_GetParamiv(ALEffect, Context, param, piValue); } } else alSetError(Context, AL_INVALID_NAME); ALCcontext_DecRef(Context); }