diff options
| author | jussi | 2024-02-25 14:06:59 +0200 |
|---|---|---|
| committer | jussi | 2024-02-25 14:06:59 +0200 |
| commit | 47ed28b006db71d823cfaa24fa143ab5cfcf279b (patch) | |
| tree | adf35906662b0646a14adfa6a37260c797cd325a /src/audio.c | |
| parent | 631cea6aa7510ba53d4f14b5537e1719a72976b9 (diff) | |
| download | reilua-enhanced-47ed28b006db71d823cfaa24fa143ab5cfcf279b.tar.gz reilua-enhanced-47ed28b006db71d823cfaa24fa143ab5cfcf279b.tar.bz2 reilua-enhanced-47ed28b006db71d823cfaa24fa143ab5cfcf279b.zip | |
Added various missing functions.
Diffstat (limited to 'src/audio.c')
| -rw-r--r-- | src/audio.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/audio.c b/src/audio.c index 04085b4..53031cd 100644 --- a/src/audio.c +++ b/src/audio.c @@ -189,6 +189,21 @@ int laudioIsSoundReady( lua_State* L ) { } /* +> 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 ) Unload wave data @@ -387,6 +402,29 @@ int laudioWaveFormat( lua_State* L ) { } /* +> 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 ) Copy a wave to a new wave |
