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 Bse::MidiSignalType signal_type,
140 const char* bse_midi_signal_name (Bse::MidiSignalType signal);
void bse_midi_free_event(BseMidiEvent *event)
Definition: bsemidievent.cc:66
double bse_midi_signal_default(Bse::MidiSignalType signal)
Definition: bsemidievent.cc:20
Definition: bsemidievent.hh:74