Added various missing functions.

This commit is contained in:
jussi
2024-02-25 14:06:59 +02:00
parent 631cea6aa7
commit 47ed28b006
21 changed files with 697 additions and 178 deletions

View File

@@ -188,6 +188,21 @@ int laudioIsSoundReady( lua_State* L ) {
return 1;
}
/*
> RL.UpdateSound( Sound sound, Buffer data, int sampleCount )
Update sound buffer with new data
*/
int laudioUpdateSound( lua_State* L ) {
Sound* sound = uluaGetSound( L, 1 );
Buffer* buffer = uluaGetBuffer( L, 2 );
int sampleCount = luaL_checkinteger( L, 3 );
UpdateSound( *sound, buffer->data, sampleCount );
return 0;
}
/*
> RL.UnloadWave( Wave wave )
@@ -386,6 +401,29 @@ int laudioWaveFormat( lua_State* L ) {
return 0;
}
/*
> samples = RL.LoadWaveSamples( Wave wave )
Load samples data from wave as a 32bit float data array
- Success return float{}
*/
int laudioLoadWaveSamples( lua_State* L ) {
Wave* wave = uluaGetWave( L, 1 );
float* samples = LoadWaveSamples( *wave );
lua_createtable( L, wave->frameCount * wave->channels, 0 );
for ( int i = 0; i < wave->frameCount * wave->channels; ++i ) {
lua_pushnumber( L, samples[i] );
lua_rawseti( L, -2, i+1 );
}
UnloadWaveSamples( samples );
return 1;
}
/*
> wave = RL.WaveCopy( Wave wave )