changeset 1236:b8c9af10b7fd

Work on JSSMOD format.
author Matti Hamalainen <ccr@tnsp.org>
date Fri, 06 Mar 2015 16:36:10 +0200
parents 5b8245e5f785
children 8b6ed580e800
files minijss/jloadjss.c minijss/jssmod.h
diffstat 2 files changed, 8 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/minijss/jloadjss.c	Fri Mar 06 13:40:47 2015 +0200
+++ b/minijss/jloadjss.c	Fri Mar 06 16:36:10 2015 +0200
@@ -495,7 +495,6 @@
         inst->ERelNote      = jssI.ERelNote;
         inst->EFineTune     = jssI.EFineTune;
         inst->EPanning      = jssI.EPanning;
-        inst->hasData       = jssI.hasData;
         inst->convFlags     = jssI.convFlags;
     }
 
@@ -504,7 +503,7 @@
     for (index = 0; index < module->ninstruments; index++)
     {
         JSSInstrument *inst = module->instruments[index];
-        if (inst != NULL && inst->hasData)
+        if (inst != NULL && inst->convFlags & jsampHasData)
         {
             int ret;
             size_t bsize = (inst->flags & jsf16bit) ? sizeof(Uint16) : sizeof(Uint8);
--- a/minijss/jssmod.h	Fri Mar 06 13:40:47 2015 +0200
+++ b/minijss/jssmod.h	Fri Mar 06 16:36:10 2015 +0200
@@ -67,6 +67,8 @@
 #define jsampSwapEndianess  (0x04)
 #define jsampSplit          (0x08)
 
+#define jsampHasData        (0x80) // Special flag
+
 
 // Internal instrument structure
 typedef struct
@@ -85,7 +87,6 @@
 #endif
     void *data;             // Sample data
 
-    BOOL hasData;
     int convFlags;
 } JSSInstrument;
 
@@ -261,17 +262,17 @@
 
 typedef struct __attribute__((__packed__))
 {
-    Sint32  size,           // Length in units
+    Uint32  size,           // Length in units
             loopS,          // Loop start position in units
             loopE;          // Loop end position in units
-    Sint16  volume,         // Volume [jsetMinVol...jsetMaxVol]
-            flags,          // Flags - see jss.h jsfXXXX
+    Uint16  flags,          // Flags - see jss.h jsfXXXX
             C4BaseSpeed,    // C4BaseSpeed
             ERelNote,       // Extended: Relative note value
             EFineTune,      // Extended: Fine-tune value
             EPanning;       // Extended: Panning
-    Uint8   convFlags,      // Conversion flags .. jsampXXXX
-            hasData;        // != 0 if there is sample data
+    Uint8   volume,         // Volume [jsetMinVol...jsetMaxVol]
+            convFlags;      // Conversion flags .. jsampXXXX
+                            // jsampHasData set if there is sample data
 } JSSMODInstrument;