Mercurial > hg > dmlib
comparison minijss/jssmod.h @ 1236:b8c9af10b7fd
Work on JSSMOD format.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Fri, 06 Mar 2015 16:36:10 +0200 |
parents | a275b7382ffa |
children | e8c99da451cd |
comparison
equal
deleted
inserted
replaced
1235:5b8245e5f785 | 1236:b8c9af10b7fd |
---|---|
64 // Bits for sample conversion routines | 64 // Bits for sample conversion routines |
65 #define jsampDelta (0x01) | 65 #define jsampDelta (0x01) |
66 #define jsampFlipSign (0x02) | 66 #define jsampFlipSign (0x02) |
67 #define jsampSwapEndianess (0x04) | 67 #define jsampSwapEndianess (0x04) |
68 #define jsampSplit (0x08) | 68 #define jsampSplit (0x08) |
69 | |
70 #define jsampHasData (0x80) // Special flag | |
69 | 71 |
70 | 72 |
71 // Internal instrument structure | 73 // Internal instrument structure |
72 typedef struct | 74 typedef struct |
73 { | 75 { |
83 #ifndef JSS_LIGHT | 85 #ifndef JSS_LIGHT |
84 char *desc; | 86 char *desc; |
85 #endif | 87 #endif |
86 void *data; // Sample data | 88 void *data; // Sample data |
87 | 89 |
88 BOOL hasData; | |
89 int convFlags; | 90 int convFlags; |
90 } JSSInstrument; | 91 } JSSInstrument; |
91 | 92 |
92 | 93 |
93 // Envelope point structure | 94 // Envelope point structure |
259 } JSSMODExtInstrument; | 260 } JSSMODExtInstrument; |
260 | 261 |
261 | 262 |
262 typedef struct __attribute__((__packed__)) | 263 typedef struct __attribute__((__packed__)) |
263 { | 264 { |
264 Sint32 size, // Length in units | 265 Uint32 size, // Length in units |
265 loopS, // Loop start position in units | 266 loopS, // Loop start position in units |
266 loopE; // Loop end position in units | 267 loopE; // Loop end position in units |
267 Sint16 volume, // Volume [jsetMinVol...jsetMaxVol] | 268 Uint16 flags, // Flags - see jss.h jsfXXXX |
268 flags, // Flags - see jss.h jsfXXXX | |
269 C4BaseSpeed, // C4BaseSpeed | 269 C4BaseSpeed, // C4BaseSpeed |
270 ERelNote, // Extended: Relative note value | 270 ERelNote, // Extended: Relative note value |
271 EFineTune, // Extended: Fine-tune value | 271 EFineTune, // Extended: Fine-tune value |
272 EPanning; // Extended: Panning | 272 EPanning; // Extended: Panning |
273 Uint8 convFlags, // Conversion flags .. jsampXXXX | 273 Uint8 volume, // Volume [jsetMinVol...jsetMaxVol] |
274 hasData; // != 0 if there is sample data | 274 convFlags; // Conversion flags .. jsampXXXX |
275 // jsampHasData set if there is sample data | |
275 } JSSMODInstrument; | 276 } JSSMODInstrument; |
276 | 277 |
277 | 278 |
278 #define JM_COMP_NOTE (0x01) | 279 #define JM_COMP_NOTE (0x01) |
279 #define JM_COMP_INSTRUMENT (0x02) | 280 #define JM_COMP_INSTRUMENT (0x02) |