summaryrefslogtreecommitdiffhomepage
path: root/src/jar_xm.h
diff options
context:
space:
mode:
authorJoshua Reisenauer <[email protected]>2016-04-26 16:50:07 -0700
committerJoshua Reisenauer <[email protected]>2016-04-26 16:50:07 -0700
commit299ae7a4bdcddc31281b1e2d0cd2df476755fb79 (patch)
tree6b1e8c1941196e78215102e6f183b72f528b9136 /src/jar_xm.h
parent3104d3d6cd3c29b6e240198628110b21882a8fb0 (diff)
downloadraylib-299ae7a4bdcddc31281b1e2d0cd2df476755fb79.tar.gz
raylib-299ae7a4bdcddc31281b1e2d0cd2df476755fb79.zip
new trace logs and optimizations
Diffstat (limited to 'src/jar_xm.h')
-rw-r--r--src/jar_xm.h30
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);
}