8 //------------------------------------------------------------------------------
10 /* System time converted to int milliseconds */
11 #define B_NOW ((uint32)(system_time()/1000))
13 //------------------------------------------------------------------------------
15 /* Synthesizer things */
17 #define B_SYNTH_DIRECTORY B_SYSTEM_DATA_DIRECTORY
20 #define B_BIG_SYNTH_FILE "synth/big_synth.sy"
21 #define B_LITTLE_SYNTH_FILE "synth/little_synth.sy"
23 typedef enum synth_mode
33 //------------------------------------------------------------------------------
35 /* Need to move these into Errors.h */
39 B_BAD_INSTRUMENT
= B_MIDI_ERROR_BASE
+ 0x100,
44 B_TOO_MANY_SONGS_PLAYING
47 //------------------------------------------------------------------------------
50 typedef unsigned char uchar
;
53 #ifndef _MIDI_CONSTANTS_
54 #define _MIDI_CONSTANTS_
56 /* Channel Message Masks*/
57 const uchar B_NOTE_OFF
= 0x80;
58 const uchar B_NOTE_ON
= 0x90;
59 const uchar B_KEY_PRESSURE
= 0xa0;
60 const uchar B_CONTROL_CHANGE
= 0xb0;
61 const uchar B_PROGRAM_CHANGE
= 0xc0;
62 const uchar B_CHANNEL_PRESSURE
= 0xd0;
63 const uchar B_PITCH_BEND
= 0xe0;
66 const uchar B_SYS_EX_START
= 0xf0;
67 const uchar B_MIDI_TIME_CODE
= 0xf1;
68 const uchar B_SONG_POSITION
= 0xf2;
69 const uchar B_SONG_SELECT
= 0xf3;
70 const uchar B_CABLE_MESSAGE
= 0xf5;
71 const uchar B_TUNE_REQUEST
= 0xf6;
72 const uchar B_SYS_EX_END
= 0xf7;
73 const uchar B_TIMING_CLOCK
= 0xf8;
74 const uchar B_START
= 0xfa;
75 const uchar B_CONTINUE
= 0xfb;
76 const uchar B_STOP
= 0xfc;
77 const uchar B_ACTIVE_SENSING
= 0xfe;
78 const uchar B_SYSTEM_RESET
= 0xff;
80 /* Controller Numbers*/
81 const uchar B_MODULATION
= 0x01;
82 const uchar B_BREATH_CONTROLLER
= 0x02;
83 const uchar B_FOOT_CONTROLLER
= 0x04;
84 const uchar B_PORTAMENTO_TIME
= 0x05;
85 const uchar B_DATA_ENTRY
= 0x06;
86 const uchar B_MAIN_VOLUME
= 0x07;
87 const uchar B_MIDI_BALANCE
= 0x08; /* used to be B_BALANCE */
88 const uchar B_PAN
= 0x0a;
89 const uchar B_EXPRESSION_CTRL
= 0x0b;
90 const uchar B_GENERAL_CTRL_1
= 0x10;
91 const uchar B_GENERAL_CTRL_2
= 0x11;
92 const uchar B_GENERAL_CTRL_3
= 0x12;
93 const uchar B_GENERAL_CTRL_4
= 0x13;
94 const uchar B_SUSTAIN_PEDAL
= 0x40;
95 const uchar B_PORTAMENTO
= 0x41;
96 const uchar B_SOSTENUTO
= 0x42;
97 const uchar B_SOFT_PEDAL
= 0x43;
98 const uchar B_HOLD_2
= 0x45;
99 const uchar B_GENERAL_CTRL_5
= 0x50;
100 const uchar B_GENERAL_CTRL_6
= 0x51;
101 const uchar B_GENERAL_CTRL_7
= 0x52;
102 const uchar B_GENERAL_CTRL_8
= 0x53;
103 const uchar B_EFFECTS_DEPTH
= 0x5b;
104 const uchar B_TREMOLO_DEPTH
= 0x5c;
105 const uchar B_CHORUS_DEPTH
= 0x5d;
106 const uchar B_CELESTE_DEPTH
= 0x5e;
107 const uchar B_PHASER_DEPTH
= 0x5f;
108 const uchar B_DATA_INCREMENT
= 0x60;
109 const uchar B_DATA_DECREMENT
= 0x61;
110 const uchar B_RESET_ALL_CONTROLLERS
= 0x79;
111 const uchar B_LOCAL_CONTROL
= 0x7a;
112 const uchar B_ALL_NOTES_OFF
= 0x7b;
113 const uchar B_OMNI_MODE_OFF
= 0x7c;
114 const uchar B_OMNI_MODE_ON
= 0x7d;
115 const uchar B_MONO_MODE_ON
= 0x7e;
116 const uchar B_POLY_MODE_ON
= 0x7f;
118 const uchar B_TEMPO_CHANGE
= 0x51;
120 #endif // _MIDI_CONSTANTS_
122 //------------------------------------------------------------------------------
124 typedef enum midi_axe
136 /* Tuned Idiophones */
157 B_ACOUSTIC_GUITAR_NYLON
,
158 B_ACOUSTIC_GUITAR_STEEL
,
159 B_ELECTRIC_GUITAR_JAZZ
,
160 B_ELECTRIC_GUITAR_CLEAN
,
161 B_ELECTRIC_GUITAR_MUTED
,
168 B_ELECTRIC_BASS_FINGER
,
169 B_ELECTRIC_BASS_PICK
,
183 B_ORCHESTRAL_STRINGS
,
186 /* Ensemble strings and voices */
228 B_SQUARE_WAVE
= B_LEAD_1
,
230 B_SAWTOOTH_WAVE
= B_LEAD_2
,
232 B_CALLIOPE
= B_LEAD_3
,
236 B_CHARANG
= B_LEAD_5
,
242 B_BASS_LEAD
= B_LEAD_8
,
250 B_POLYSYNTH
= B_PAD_3
,
256 B_METALLIC
= B_PAD_6
,
304 #endif // _MIDI_DEFS_H