diff options
| author | Joshua Reisenauer <[email protected]> | 2016-04-26 16:50:07 -0700 |
|---|---|---|
| committer | Joshua Reisenauer <[email protected]> | 2016-04-26 16:50:07 -0700 |
| commit | 299ae7a4bdcddc31281b1e2d0cd2df476755fb79 (patch) | |
| tree | 6b1e8c1941196e78215102e6f183b72f528b9136 /src/jar_xm.h | |
| parent | 3104d3d6cd3c29b6e240198628110b21882a8fb0 (diff) | |
| download | raylib-299ae7a4bdcddc31281b1e2d0cd2df476755fb79.tar.gz raylib-299ae7a4bdcddc31281b1e2d0cd2df476755fb79.zip | |
new trace logs and optimizations
Diffstat (limited to 'src/jar_xm.h')
| -rw-r--r-- | src/jar_xm.h | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/src/jar_xm.h b/src/jar_xm.h index 062b88da..f9ddb511 100644 --- a/src/jar_xm.h +++ b/src/jar_xm.h @@ -121,51 +121,47 @@ void jar_xm_free_context(jar_xm_context_t*); /** Play the module and put the sound samples in an output buffer. * - * @param output buffer of 2*numsamples elements + * @param output buffer of 2*numsamples elements (A left and right value for each sample) * @param numsamples number of samples to generate */ void jar_xm_generate_samples(jar_xm_context_t*, float* output, size_t numsamples); /** Play the module, resample from 32 bit to 16 bit, and put the sound samples in an output buffer. * - * @param output buffer of 2*numsamples elements + * @param output buffer of 2*numsamples elements (A left and right value for each sample) * @param numsamples number of samples to generate */ void jar_xm_generate_samples_16bit(jar_xm_context_t* ctx, short* output, size_t numsamples) { float* musicBuffer = malloc((2*numsamples)*sizeof(float)); - short* musicBuffer2 = malloc((2*numsamples)*sizeof(short)); - jar_xm_generate_samples(ctx, musicBuffer, numsamples); - int x; - for(x=0;x<2*numsamples;x++) - musicBuffer2[x] = musicBuffer[x] * SHRT_MAX; + if(output){ + int x; + for(x=0;x<2*numsamples;x++) + output[x] = musicBuffer[x] * SHRT_MAX; + } - memcpy(output, musicBuffer2, (2*numsamples)*sizeof(short)); free(musicBuffer); - free(musicBuffer2); } /** Play the module, resample from 32 bit to 8 bit, and put the sound samples in an output buffer. * - * @param output buffer of 2*numsamples elements + * @param output buffer of 2*numsamples elements (A left and right value for each sample) * @param numsamples number of samples to generate */ void jar_xm_generate_samples_8bit(jar_xm_context_t* ctx, char* output, size_t numsamples) { float* musicBuffer = malloc((2*numsamples)*sizeof(float)); - char* musicBuffer2 = malloc((2*numsamples)*sizeof(char)); - jar_xm_generate_samples(ctx, musicBuffer, numsamples); - int x; - for(x=0;x<2*numsamples;x++) - musicBuffer2[x] = musicBuffer[x] * CHAR_MAX; + if(output){ + int x; + for(x=0;x<2*numsamples;x++) + output[x] = musicBuffer[x] * CHAR_MAX; + } - memcpy(output, musicBuffer2, (2*numsamples)*sizeof(char)); free(musicBuffer); - free(musicBuffer2); } |
