Mercurial > hg > dmlib
diff jssmod.h @ 49:033c660c25f5
Restructure module playing, removing 8bit sample mixing (output can still be
8bit, but samples are internally upconverted to 16bit after module loading.)
Also prepare for floating point mixing support.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Mon, 01 Oct 2012 02:51:41 +0300 |
parents | 064d1d1d5b0f |
children | 8725853609db |
line wrap: on
line diff
--- a/jssmod.h Mon Oct 01 01:29:26 2012 +0300 +++ b/jssmod.h Mon Oct 01 02:51:41 2012 +0300 @@ -69,7 +69,7 @@ // Internal instrument structure typedef struct { - size_t size, // Length in units + int size, // Length in units loopS, // Loop start position in units loopE; // Loop end position in units int volume, // Volume [jsetMinVol...jsetMaxVol] @@ -287,11 +287,13 @@ char* jssASCIItoStr(char *, const char, const size_t); BOOL jssEncodeSample8(Uint8 *, const size_t, const int); BOOL jssEncodeSample16(Uint16 *, const size_t, const int); -int jssConvertSampleFromFP(void **dst, void * src, const size_t len, const int flags); #endif BOOL jssDecodeSample8(Uint8 *, const size_t, const int); BOOL jssDecodeSample16(Uint16 *, const size_t, const int); +#ifdef JSS_MIX_FP int jssConvertSampleToFP(void **dst, void * src, const size_t len, const int flags); +#endif +int jssConvertModuleForPlaying(JSSModule *module); JSSModule * jssAllocateModule(void); int jssFreeModule(JSSModule *); JSSPattern * jssAllocatePattern(int, int);