2 #ifndef __BSE_MIDI_EVENT_H__
3 #define __BSE_MIDI_EVENT_H__
10 #define BSE_MIDI_MAX_CHANNELS (99)
14 #define BSE_MIDI_CHANNEL_VOICE_MESSAGE(s) ((s) < 0x0F0)
15 #define BSE_MIDI_SYSTEM_COMMON_MESSAGE(s) (((s) & 0x0F8) == 0x0F0)
16 #define BSE_MIDI_SYSTEM_REALTIME_MESSAGE(s) (((s) & 0x0F8) == 0x0F8)
20 BSE_MIDI_NOTE_OFF = 0x080,
21 BSE_MIDI_NOTE_ON = 0x090,
22 BSE_MIDI_KEY_PRESSURE = 0x0A0,
23 BSE_MIDI_CONTROL_CHANGE = 0x0B0,
24 BSE_MIDI_PROGRAM_CHANGE = 0x0C0,
25 BSE_MIDI_CHANNEL_PRESSURE = 0x0D0,
26 BSE_MIDI_PITCH_BEND = 0x0E0,
28 BSE_MIDI_SYS_EX = 0x0F0,
29 BSE_MIDI_SONG_POINTER = 0x0F2,
30 BSE_MIDI_SONG_SELECT = 0x0F3,
31 BSE_MIDI_TUNE = 0x0F6,
32 BSE_MIDI_END_EX = 0x0F7,
34 BSE_MIDI_TIMING_CLOCK = 0x0F8,
35 BSE_MIDI_SONG_START = 0x0FA,
36 BSE_MIDI_SONG_CONTINUE = 0x0FB,
37 BSE_MIDI_SONG_STOP = 0x0FC,
38 BSE_MIDI_ACTIVE_SENSING = 0x0FE,
39 BSE_MIDI_SYSTEM_RESET = 0x0FF,
41 BSE_MIDI_SEQUENCE_NUMBER = 0x100,
42 BSE_MIDI_TEXT_EVENT = 0x101,
43 BSE_MIDI_COPYRIGHT_NOTICE = 0x102,
44 BSE_MIDI_TRACK_NAME = 0x103,
45 BSE_MIDI_INSTRUMENT_NAME = 0x104,
46 BSE_MIDI_LYRIC = 0x105,
47 BSE_MIDI_MARKER = 0x106,
48 BSE_MIDI_CUE_POINT = 0x107,
49 BSE_MIDI_TEXT_EVENT_08 = 0x108,
50 BSE_MIDI_TEXT_EVENT_09 = 0x109,
51 BSE_MIDI_TEXT_EVENT_0A = 0x10A,
52 BSE_MIDI_TEXT_EVENT_0B = 0x10B,
53 BSE_MIDI_TEXT_EVENT_0C = 0x10C,
54 BSE_MIDI_TEXT_EVENT_0D = 0x10D,
55 BSE_MIDI_TEXT_EVENT_0E = 0x10E,
56 BSE_MIDI_TEXT_EVENT_0F = 0x10F,
57 BSE_MIDI_CHANNEL_PREFIX = 0x120,
58 BSE_MIDI_END_OF_TRACK = 0x12F,
59 BSE_MIDI_SET_TEMPO = 0x151,
60 BSE_MIDI_SMPTE_OFFSET = 0x154,
61 BSE_MIDI_TIME_SIGNATURE = 0x158,
62 BSE_MIDI_KEY_SIGNATURE = 0x159,
63 BSE_MIDI_SEQUENCER_SPECIFIC = 0x17F,
65 BSE_MIDI_MULTI_SYS_EX_START = 0x201,
66 BSE_MIDI_MULTI_SYS_EX_NEXT = 0x202,
68 BSE_MIDI_X_CONTINUOUS_CHANGE = 0x400
73 #define BSE_TYPE_MIDI_EVENT (bse_midi_event_get_type ())
76 BseMidiEventType status;
98 guint sequence_number;
102 guint8 hour, minute, second;
103 guint8 frame, fraction;
124 GType bse_midi_event_get_type (
void);
128 BseMidiEvent* bse_midi_event_note_on (uint midi_channel,
132 BseMidiEvent* bse_midi_event_note_off (uint midi_channel,
137 BseMidiSignalType signal_type,
146 BSE_MIDI_SIGNAL_PROGRAM = 1,
147 BSE_MIDI_SIGNAL_PRESSURE,
148 BSE_MIDI_SIGNAL_PITCH_BEND,
149 BSE_MIDI_SIGNAL_VELOCITY,
150 BSE_MIDI_SIGNAL_FINE_TUNE,
152 BSE_MIDI_SIGNAL_CONTINUOUS_0 = 64,
153 BSE_MIDI_SIGNAL_CONTINUOUS_1,
154 BSE_MIDI_SIGNAL_CONTINUOUS_2,
155 BSE_MIDI_SIGNAL_CONTINUOUS_3,
156 BSE_MIDI_SIGNAL_CONTINUOUS_4,
157 BSE_MIDI_SIGNAL_CONTINUOUS_5,
158 BSE_MIDI_SIGNAL_CONTINUOUS_6,
159 BSE_MIDI_SIGNAL_CONTINUOUS_7,
160 BSE_MIDI_SIGNAL_CONTINUOUS_8,
161 BSE_MIDI_SIGNAL_CONTINUOUS_9,
162 BSE_MIDI_SIGNAL_CONTINUOUS_10,
163 BSE_MIDI_SIGNAL_CONTINUOUS_11,
164 BSE_MIDI_SIGNAL_CONTINUOUS_12,
165 BSE_MIDI_SIGNAL_CONTINUOUS_13,
166 BSE_MIDI_SIGNAL_CONTINUOUS_14,
167 BSE_MIDI_SIGNAL_CONTINUOUS_15,
168 BSE_MIDI_SIGNAL_CONTINUOUS_16,
169 BSE_MIDI_SIGNAL_CONTINUOUS_17,
170 BSE_MIDI_SIGNAL_CONTINUOUS_18,
171 BSE_MIDI_SIGNAL_CONTINUOUS_19,
172 BSE_MIDI_SIGNAL_CONTINUOUS_20,
173 BSE_MIDI_SIGNAL_CONTINUOUS_21,
174 BSE_MIDI_SIGNAL_CONTINUOUS_22,
175 BSE_MIDI_SIGNAL_CONTINUOUS_23,
176 BSE_MIDI_SIGNAL_CONTINUOUS_24,
177 BSE_MIDI_SIGNAL_CONTINUOUS_25,
178 BSE_MIDI_SIGNAL_CONTINUOUS_26,
179 BSE_MIDI_SIGNAL_CONTINUOUS_27,
180 BSE_MIDI_SIGNAL_CONTINUOUS_28,
181 BSE_MIDI_SIGNAL_CONTINUOUS_29,
182 BSE_MIDI_SIGNAL_CONTINUOUS_30,
183 BSE_MIDI_SIGNAL_CONTINUOUS_31,
185 BSE_MIDI_SIGNAL_CONSTANT_HIGH = 96,
186 BSE_MIDI_SIGNAL_CONSTANT_CENTER,
187 BSE_MIDI_SIGNAL_CONSTANT_LOW,
188 BSE_MIDI_SIGNAL_CONSTANT_NEGATIVE_CENTER,
189 BSE_MIDI_SIGNAL_CONSTANT_NEGATIVE_HIGH,
190 BSE_MIDI_SIGNAL_PARAMETER,
191 BSE_MIDI_SIGNAL_NON_PARAMETER,
193 BSE_MIDI_SIGNAL_CONTROL_0 = 128,
194 BSE_MIDI_SIGNAL_CONTROL_1,
195 BSE_MIDI_SIGNAL_CONTROL_2,
196 BSE_MIDI_SIGNAL_CONTROL_3,
197 BSE_MIDI_SIGNAL_CONTROL_4,
198 BSE_MIDI_SIGNAL_CONTROL_5,
199 BSE_MIDI_SIGNAL_CONTROL_6,
200 BSE_MIDI_SIGNAL_CONTROL_7,
201 BSE_MIDI_SIGNAL_CONTROL_8,
202 BSE_MIDI_SIGNAL_CONTROL_9,
203 BSE_MIDI_SIGNAL_CONTROL_10,
204 BSE_MIDI_SIGNAL_CONTROL_11,
205 BSE_MIDI_SIGNAL_CONTROL_12,
206 BSE_MIDI_SIGNAL_CONTROL_13,
207 BSE_MIDI_SIGNAL_CONTROL_14,
208 BSE_MIDI_SIGNAL_CONTROL_15,
209 BSE_MIDI_SIGNAL_CONTROL_16,
210 BSE_MIDI_SIGNAL_CONTROL_17,
211 BSE_MIDI_SIGNAL_CONTROL_18,
212 BSE_MIDI_SIGNAL_CONTROL_19,
213 BSE_MIDI_SIGNAL_CONTROL_20,
214 BSE_MIDI_SIGNAL_CONTROL_21,
215 BSE_MIDI_SIGNAL_CONTROL_22,
216 BSE_MIDI_SIGNAL_CONTROL_23,
217 BSE_MIDI_SIGNAL_CONTROL_24,
218 BSE_MIDI_SIGNAL_CONTROL_25,
219 BSE_MIDI_SIGNAL_CONTROL_26,
220 BSE_MIDI_SIGNAL_CONTROL_27,
221 BSE_MIDI_SIGNAL_CONTROL_28,
222 BSE_MIDI_SIGNAL_CONTROL_29,
223 BSE_MIDI_SIGNAL_CONTROL_30,
224 BSE_MIDI_SIGNAL_CONTROL_31,
226 BSE_MIDI_SIGNAL_CONTROL_32,
227 BSE_MIDI_SIGNAL_CONTROL_33,
228 BSE_MIDI_SIGNAL_CONTROL_34,
229 BSE_MIDI_SIGNAL_CONTROL_35,
230 BSE_MIDI_SIGNAL_CONTROL_36,
231 BSE_MIDI_SIGNAL_CONTROL_37,
232 BSE_MIDI_SIGNAL_CONTROL_38,
233 BSE_MIDI_SIGNAL_CONTROL_39,
234 BSE_MIDI_SIGNAL_CONTROL_40,
235 BSE_MIDI_SIGNAL_CONTROL_41,
236 BSE_MIDI_SIGNAL_CONTROL_42,
237 BSE_MIDI_SIGNAL_CONTROL_43,
238 BSE_MIDI_SIGNAL_CONTROL_44,
239 BSE_MIDI_SIGNAL_CONTROL_45,
240 BSE_MIDI_SIGNAL_CONTROL_46,
241 BSE_MIDI_SIGNAL_CONTROL_47,
242 BSE_MIDI_SIGNAL_CONTROL_48,
243 BSE_MIDI_SIGNAL_CONTROL_49,
244 BSE_MIDI_SIGNAL_CONTROL_50,
245 BSE_MIDI_SIGNAL_CONTROL_51,
246 BSE_MIDI_SIGNAL_CONTROL_52,
247 BSE_MIDI_SIGNAL_CONTROL_53,
248 BSE_MIDI_SIGNAL_CONTROL_54,
249 BSE_MIDI_SIGNAL_CONTROL_55,
250 BSE_MIDI_SIGNAL_CONTROL_56,
251 BSE_MIDI_SIGNAL_CONTROL_57,
252 BSE_MIDI_SIGNAL_CONTROL_58,
253 BSE_MIDI_SIGNAL_CONTROL_59,
254 BSE_MIDI_SIGNAL_CONTROL_60,
255 BSE_MIDI_SIGNAL_CONTROL_61,
256 BSE_MIDI_SIGNAL_CONTROL_62,
257 BSE_MIDI_SIGNAL_CONTROL_63,
259 BSE_MIDI_SIGNAL_CONTROL_64,
260 BSE_MIDI_SIGNAL_CONTROL_65,
261 BSE_MIDI_SIGNAL_CONTROL_66,
262 BSE_MIDI_SIGNAL_CONTROL_67,
263 BSE_MIDI_SIGNAL_CONTROL_68,
264 BSE_MIDI_SIGNAL_CONTROL_69,
265 BSE_MIDI_SIGNAL_CONTROL_70,
266 BSE_MIDI_SIGNAL_CONTROL_71,
267 BSE_MIDI_SIGNAL_CONTROL_72,
268 BSE_MIDI_SIGNAL_CONTROL_73,
269 BSE_MIDI_SIGNAL_CONTROL_74,
270 BSE_MIDI_SIGNAL_CONTROL_75,
271 BSE_MIDI_SIGNAL_CONTROL_76,
272 BSE_MIDI_SIGNAL_CONTROL_77,
273 BSE_MIDI_SIGNAL_CONTROL_78,
274 BSE_MIDI_SIGNAL_CONTROL_79,
275 BSE_MIDI_SIGNAL_CONTROL_80,
276 BSE_MIDI_SIGNAL_CONTROL_81,
277 BSE_MIDI_SIGNAL_CONTROL_82,
278 BSE_MIDI_SIGNAL_CONTROL_83,
279 BSE_MIDI_SIGNAL_CONTROL_84,
280 BSE_MIDI_SIGNAL_CONTROL_85,
281 BSE_MIDI_SIGNAL_CONTROL_86,
282 BSE_MIDI_SIGNAL_CONTROL_87,
283 BSE_MIDI_SIGNAL_CONTROL_88,
284 BSE_MIDI_SIGNAL_CONTROL_89,
285 BSE_MIDI_SIGNAL_CONTROL_90,
286 BSE_MIDI_SIGNAL_CONTROL_91,
287 BSE_MIDI_SIGNAL_CONTROL_92,
288 BSE_MIDI_SIGNAL_CONTROL_93,
289 BSE_MIDI_SIGNAL_CONTROL_94,
290 BSE_MIDI_SIGNAL_CONTROL_95,
291 BSE_MIDI_SIGNAL_CONTROL_96,
292 BSE_MIDI_SIGNAL_CONTROL_97,
293 BSE_MIDI_SIGNAL_CONTROL_98,
294 BSE_MIDI_SIGNAL_CONTROL_99,
295 BSE_MIDI_SIGNAL_CONTROL_100,
296 BSE_MIDI_SIGNAL_CONTROL_101,
297 BSE_MIDI_SIGNAL_CONTROL_102,
298 BSE_MIDI_SIGNAL_CONTROL_103,
299 BSE_MIDI_SIGNAL_CONTROL_104,
300 BSE_MIDI_SIGNAL_CONTROL_105,
301 BSE_MIDI_SIGNAL_CONTROL_106,
302 BSE_MIDI_SIGNAL_CONTROL_107,
303 BSE_MIDI_SIGNAL_CONTROL_108,
304 BSE_MIDI_SIGNAL_CONTROL_109,
305 BSE_MIDI_SIGNAL_CONTROL_110,
306 BSE_MIDI_SIGNAL_CONTROL_111,
307 BSE_MIDI_SIGNAL_CONTROL_112,
308 BSE_MIDI_SIGNAL_CONTROL_113,
309 BSE_MIDI_SIGNAL_CONTROL_114,
310 BSE_MIDI_SIGNAL_CONTROL_115,
311 BSE_MIDI_SIGNAL_CONTROL_116,
312 BSE_MIDI_SIGNAL_CONTROL_117,
313 BSE_MIDI_SIGNAL_CONTROL_118,
314 BSE_MIDI_SIGNAL_CONTROL_119,
315 BSE_MIDI_SIGNAL_CONTROL_120,
316 BSE_MIDI_SIGNAL_CONTROL_121,
317 BSE_MIDI_SIGNAL_CONTROL_122,
318 BSE_MIDI_SIGNAL_CONTROL_123,
319 BSE_MIDI_SIGNAL_CONTROL_124,
320 BSE_MIDI_SIGNAL_CONTROL_125,
321 BSE_MIDI_SIGNAL_CONTROL_126,
322 BSE_MIDI_SIGNAL_CONTROL_127
327 const gchar* bse_midi_signal_name (BseMidiSignalType signal);
328 const gchar* bse_midi_signal_nick (BseMidiSignalType signal);
void bse_midi_free_event(BseMidiEvent *event)
Definition: bsemidievent.cc:87
gfloat bse_midi_signal_default(BseMidiSignalType signal)
Definition: bsemidievent.cc:24
Definition: bsemidievent.hh:74