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)