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);