# HG changeset patch # User Matti Hamalainen # Date 1425652570 -7200 # Node ID b8c9af10b7fd79c1a51f44608be0676a82fc2dd1 # Parent 5b8245e5f785604ae49c0c068f284eafb034cd11 Work on JSSMOD format. diff -r 5b8245e5f785 -r b8c9af10b7fd minijss/jloadjss.c --- 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); diff -r 5b8245e5f785 -r b8c9af10b7fd minijss/jssmod.h --- 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;