/********************************************************* libmus.h : Nintendo 64 Music Tools Programmers Library (c) Copyright 1997/1998, Software Creations (Holdings) Ltd. Version 3.11 Music library data definition header file. **********************************************************/ #ifndef _LIBMUS_DATA_H_ #define _LIBMUS_DATA_H_ #include <libaudio.h> /* sample pointer bank header structure (will be moved into player.h!) */ typedef struct { unsigned char header_name[16]; /* "Nu64 pointer bank" (or something like that) */ unsigned long flags; /* 32 bit flags */ unsigned long wbk_name[3]; /* 12 byte ASCII name (currently unused) */ int count; /* number of samples contained in sample bank */ /* the three pointers below must be consecutive */ unsigned char *basenote; /* address of corse tune array */ float *detune; /* address of fine tune array */ ALWaveTable **wave_list; /* address of wave table pointer array */ } ptr_bank_t; /* note lengths */ #define qv 24 #define sq 12 #define dcr 72 #define ddcr 84 #define dsq 6 #define dqv 36 #define cr 48 #define mn 96 #define crtr 16 #define ddqv 42 #define hdsqtr 1 #define sqtr 4 #define qvtr 8 #define dtsq 18 #define hdsq 3 #define sb 192 #define dmn 144 /* note values */ #define cs0 1 #define d0 2 #define ds0 3 #define e0 4 #define f0 5 #define fs0 6 #define g0 7 #define gs0 8 #define a0 9 #define as0 10 #define b0 11 #define c1 12 #define cs1 13 #define d1 14 #define ds1 15 #define e1 16 #define f1 17 #define fs1 18 #define g1 19 #define gs1 20 #define a1 21 #define as1 22 #define b1 23 #define c2 24 #define cs2 25 #define d2 26 #define ds2 27 #define e2 28 #define f2 29 #define fs2 30 #define g2 31 #define gs2 32 #define a2 33 #define as2 34 #define b2 35 #define c3 36 #define cs3 37 #define d3 38 #define ds3 39 #define e3 40 #define f3 41 #define fs3 42 #define g3 43 #define gs3 44 #define a3 45 #define as3 46 #define b3 47 #define c4 48 #define cs4 49 #define d4 50 #define ds4 51 #define e4 52 #define f4 53 #define fs4 54 #define g4 55 #define gs4 56 #define a4 57 #define as4 58 #define b4 59 #define c5 60 #define cs5 61 #define d5 62 #define ds5 63 #define e5 64 #define f5 65 #define fs5 66 #define g5 67 #define gs5 68 #define a5 69 #define as5 70 #define b5 71 #define c6 72 #define cs6 73 #define d6 74 #define ds6 75 #define e6 76 #define f6 77 #define fs6 78 #define g6 79 #define gs6 80 #define a6 81 #define as6 82 #define b6 83 #define c7 84 #define cs7 85 #define d7 86 #define ds7 87 #define e7 88 #define f7 89 #define fs7 90 #define g7 91 #define gs7 92 #define a7 93 #define as7 94 #define b7 95 /* commands */ #define Cstop 0x80 #define Cwave 0x81 #define Cport 0x82 #define Cportoff 0x83 #define Cdefa 0x84 #define Ctempo 0x85 #define Ccutoff 0x86 #define Cendit 0x87 #define Cvibup 0x88 #define Cvibdown 0x89 #define Cviboff 0x8a #define Clength 0x8b #define Cignore 0x8c #define Ctrans 0x8d #define Cignoretrans 0x8e #define Cdistort 0x8f #define Cadsr 0x90 #define Cenvoff 0x91 #define Cenvon 0x92 #define Ctroff 0x93 #define Ctron 0x94 #define Cfor 0x95 #define Cnext 0x96 #define Cwobble 0x97 #define Cwobbleoff 0x98 #define Cvelon 0x99 #define Cveloff 0x9a #define Cvelocity 0x9b #define Cpan 0x9c #define Cstereo 0x9d #define Cdrums 0x9e #define Cdrumsoff 0x9f #define Cprint 0xa0 #define Cgoto 0xa1 #define Creverb 0xa2 #define Crandnote 0xa3 #define Crandvolume 0xa4 #define Crandpan 0xa5 #define Cvolume 0xa6 #define Cstartfx 0xa7 #define Cbendrange 0xa8 #define Csweep 0xa9 #define Cchangefx 0xaa #define Cmarker 0xab #define Clength0 0xac #define Clast 0xad #endif /* _LIBMUS_DATA_H_ */