mirror of
https://github.com/raysan5/raylib.git
synced 2025-12-25 10:22:33 -05:00
new trace logs and optimizations
This commit is contained in:
30
src/jar_xm.h
30
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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user