|
|
|
@ -32,12 +32,14 @@ |
|
|
|
typedef unsigned short GUSword; |
|
|
|
typedef unsigned int GUSdword; |
|
|
|
typedef signed char GUSchar; |
|
|
|
typedef signed short GUSsample; |
|
|
|
#else |
|
|
|
#include <stdint.h> |
|
|
|
typedef int8_t GUSchar; |
|
|
|
typedef uint8_t GUSbyte; |
|
|
|
typedef uint16_t GUSword; |
|
|
|
typedef uint32_t GUSdword; |
|
|
|
typedef int16_t GUSsample; |
|
|
|
#endif |
|
|
|
|
|
|
|
typedef struct _GUSEmuState |
|
|
|
@ -91,7 +93,7 @@ void gus_dma_transferdata(GUSEmuState *state, char *dma_addr, unsigned int count |
|
|
|
/* If the interrupts are asynchronous, it may be needed to use a separate thread mixing into a temporary */ |
|
|
|
/* audio buffer in order to avoid quality loss caused by large numsamples and elapsed_time values. */ |
|
|
|
|
|
|
|
void gus_mixvoices(GUSEmuState *state, unsigned int playback_freq, unsigned int numsamples, short *bufferpos); |
|
|
|
void gus_mixvoices(GUSEmuState *state, unsigned int playback_freq, unsigned int numsamples, GUSsample *bufferpos); |
|
|
|
/* recommended range: 10 < numsamples < 100 */ |
|
|
|
/* lower values may result in increased rounding error, higher values often cause audible timing delays */ |
|
|
|
|
|
|
|
|