コード例 #1
0
value lime_al_get_bufferf (value buffer, value param) {

    float data;
    alGetBufferf (val_int (buffer), val_int (param), &data);
    return alloc_float (data);

}
コード例 #2
0
ファイル: alBuffer.c プロジェクト: 100GPing100/Loveprint
AL_API void AL_APIENTRY alGetBufferfv(ALuint buffer, ALenum param, ALfloat *values)
{
    ALCdevice *device;
    ALCcontext *context;

    switch(param)
    {
    case AL_SEC_LENGTH_SOFT:
        alGetBufferf(buffer, param, values);
        return;
    }

    context = GetContextRef();
    if(!context) return;

    device = context->Device;
    if(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)
    {
    default:
        SET_ERROR_AND_GOTO(context, AL_INVALID_ENUM, done);
    }

done:
    ALCcontext_DecRef(context);
}
コード例 #3
0
ファイル: OpenALBindings.cpp プロジェクト: Leander1P/lime
	float lime_al_get_bufferf (int buffer, int param) {
		
		ALfloat data;
		alGetBufferf (buffer, param, &data);
		return data;
		
	}
コード例 #4
0
ファイル: al_auto.c プロジェクト: AlanFreeman/Psychtoolbox-3
void al_getbufferf( int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[] ) {

	if (NULL == alGetBufferf) mogl_glunsupported("alGetBufferf");
	alGetBufferf((ALuint)mxGetScalar(prhs[0]),
		(ALenum)mxGetScalar(prhs[1]),
		(ALfloat*)mxGetData(prhs[2]));

}
コード例 #5
0
ファイル: WSound.cpp プロジェクト: MouniraTlili/Wasabi
WError WSound::SaveToWS(std::string filename) const {
	if (Valid() && m_dataV.size()) //only attempt to save if the sound is valid and there is something to save
	{
		//open the file for writing
		fstream file;
		file.open(filename, ios::out | ios::binary);

		if (!file.is_open())
			return WError(W_FILENOTFOUND);

		float temp[3];

		//write pitch & volume
		alGetSourcef(m_source, AL_PITCH, &temp[0]);
		alGetSourcef(m_source, AL_GAIN, &temp[1]);
		file.write((char*)temp, 2 * sizeof(float));

		//write position & direction
		alGetSource3f(m_source, AL_POSITION, &temp[0], &temp[1], &temp[2]);
		file.write((char*)temp, 3 * sizeof(float));
		alGetSource3f(m_source, AL_DIRECTION, &temp[0], &temp[1], &temp[2]);
		file.write((char*)temp, 3 * sizeof(float));

		char numBuffers = m_dataV.size();
		file.write((char*)&numBuffers, 1);
		for (uint i = 0; i < numBuffers; i++) {
			file.write((char*)&m_dataV[i].buffer, 4); //buffer index
			file.write((char*)&m_dataV[i].format, sizeof ALenum); //buffer format
			alGetBufferf(m_buffers[m_dataV[i].buffer], AL_FREQUENCY, &temp[0]);
			file.write((char*)&temp[0], 4); //frequency
			file.write((char*)&m_dataV[i].dataSize, 4); //size of data
			file.write((char*)&m_dataV[i].data, m_dataV[i].dataSize); //data
		}

		file.close();
	}
	else
		return WError(W_NOTVALID);

	return WError(W_SUCCEEDED);

}
コード例 #6
0
ファイル: WSound.cpp プロジェクト: MouniraTlili/Wasabi
WError WSound::SaveToWS(basic_filebuf<char>* buff, uint pos) const {
	if (Valid() && m_dataV.size()) //only attempt to save if the sound is valid and there is something to save
	{
		//use the given stream
		fstream file;
		if (!buff)
			return WError(W_INVALIDPARAM);
		file.set_rdbuf(buff);
		file.seekp(pos);

		float temp[3];

		//write pitch & volume
		alGetSourcef(m_source, AL_PITCH, &temp[0]);
		alGetSourcef(m_source, AL_GAIN, &temp[1]);
		file.write((char*)temp, 2 * sizeof(float));

		//write position & direction
		alGetSource3f(m_source, AL_POSITION, &temp[0], &temp[1], &temp[2]);
		file.write((char*)temp, 3 * sizeof(float));
		alGetSource3f(m_source, AL_DIRECTION, &temp[0], &temp[1], &temp[2]);
		file.write((char*)temp, 3 * sizeof(float));

		char numBuffers = m_dataV.size();
		file.write((char*)&numBuffers, 1);
		for (uint i = 0; i < numBuffers; i++) {
			file.write((char*)&m_dataV[i].buffer, 4); //buffer index
			file.write((char*)&m_dataV[i].format, sizeof ALenum); //buffer format
			alGetBufferf(m_buffers[m_dataV[i].buffer], AL_FREQUENCY, &temp[0]);
			file.write((char*)&temp[0], 4); //frequency
			file.write((char*)&m_dataV[i].dataSize, 4); //size of data
			file.write((char*)&m_dataV[i].data, m_dataV[i].dataSize); //data
		}
	}
	else
		return WError(W_NOTVALID);

	return WError(W_SUCCEEDED);
}
コード例 #7
0
ファイル: openal.c プロジェクト: AmesianX/RosWine
ALvoid CDECL wine_alGetBufferf(ALuint bid, ALenum param, ALfloat* value)
{
    alGetBufferf(bid, param, value);
}
コード例 #8
0
JNIEXPORT void JNICALL Java_org_lwjgl_openal_AL10_nalGetBufferf(JNIEnv *__env, jclass clazz, jint bufferName, jint paramName, jlong valueAddress, jlong __functionAddress) {
	ALfloat *value = (ALfloat *)(intptr_t)valueAddress;
	alGetBufferfPROC alGetBufferf = (alGetBufferfPROC)(intptr_t)__functionAddress;
	UNUSED_PARAMS(__env, clazz)
	alGetBufferf(bufferName, paramName, value);
}
コード例 #9
0
ファイル: al.cpp プロジェクト: 2asoft/xray-16
//*****************************************************************************
// alGetBufferf
//*****************************************************************************
//
ALAPI ALvoid ALAPIENTRY alGetBufferf(ALuint bufferName, ALenum param, ALfloat* value)
{
    AL_VOID_FXN(alGetBufferf(bufferName, param, value));
}