void al_bufferi( int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[] ) { if (NULL == alBufferi) mogl_glunsupported("alBufferi"); alBufferi((ALuint)mxGetScalar(prhs[0]), (ALenum)mxGetScalar(prhs[1]), (ALint)mxGetScalar(prhs[2])); }
void alBufferiv(ALuint buffer, ALenum param, const ALint *values) { DEBUGLOGCALL(LCF_OPENAL); if (values == nullptr) { ALSETERROR(AL_INVALID_VALUE); return; } alBufferi(buffer, param, *values); }
AL_API void AL_APIENTRY alBufferiv(ALuint buffer, ALenum param, const ALint *values) { ALCdevice *device; ALCcontext *context; ALbuffer *albuf; if(values) { switch(param) { case AL_UNPACK_BLOCK_ALIGNMENT_SOFT: case AL_PACK_BLOCK_ALIGNMENT_SOFT: alBufferi(buffer, param, values[0]); return; } } context = GetContextRef(); if(!context) return; device = context->Device; LockBuffersRead(device); if((albuf=LookupBuffer(device, buffer)) == NULL) SET_ERROR_AND_GOTO(context, AL_INVALID_NAME, done); if(!(values)) SET_ERROR_AND_GOTO(context, AL_INVALID_VALUE, done); switch(param) { case AL_LOOP_POINTS_SOFT: WriteLock(&albuf->lock); if(ReadRef(&albuf->ref) != 0) { WriteUnlock(&albuf->lock); SET_ERROR_AND_GOTO(context, AL_INVALID_OPERATION, done); } if(values[0] >= values[1] || values[0] < 0 || values[1] > albuf->SampleLen) { WriteUnlock(&albuf->lock); SET_ERROR_AND_GOTO(context, AL_INVALID_VALUE, done); } albuf->LoopStart = values[0]; albuf->LoopEnd = values[1]; WriteUnlock(&albuf->lock); break; default: SET_ERROR_AND_GOTO(context, AL_INVALID_ENUM, done); } done: UnlockBuffersRead(device); ALCcontext_DecRef(context); }
value lime_al_bufferi (value buffer, value param, value value) { alBufferi (val_int (buffer), val_int (param), val_int (value)); return alloc_null (); }
ALvoid CDECL wine_alBufferi(ALuint bid, ALenum param, ALint value) { alBufferi(bid, param, value); }
void WSound::SetFrequency(uint buffer, uint frequency) { if (!m_bCheck() || buffer >= m_numBuffers) return; alBufferi(m_buffers[buffer], AL_FREQUENCY, frequency); }
void lime_al_bufferi (int buffer, int param, int value) { alBufferi (buffer, param, value); }
//***************************************************************************** // alBufferi //***************************************************************************** // ALAPI ALvoid ALAPIENTRY alBufferi(ALuint bufferName, ALenum param, ALint value) { AL_VOID_FXN(alBufferi(bufferName, param, value)); }