Canorus  0.0
midi.h
Go to the documentation of this file.
1 /*
2  *
3  * File: midi.h
4  *
5  * Copyright (C) 1999 Steve Ratcliffe
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License version 2 as
9  * published by the Free Software Foundation.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  *
17  */
18 /*
19  * Midi status byte values.
20  */
21 #define MIDI_NOTE_OFF 0x80
22 #define MIDI_NOTE_ON 0x90
23 #define MIDI_KEY_AFTERTOUCH 0xa0
24 #define MIDI_CONTROLER 0xb0
25 #define MIDI_PATCH 0xc0
26 #define MIDI_CHANNEL_AFTERTOUCH 0xd0
27 #define MIDI_PITCH_WHEEL 0xe0
28 #define MIDI_SYSEX 0xf0
29 #define MIDI_META 0xff
30 
31 /* Meta event defines */
32 #define MIDI_META_SEQUENCE 0
33 /* The text type meta events */
34 #define MIDI_META_TEXT 1
35 #define MIDI_META_COPYRIGHT 2
36 #define MIDI_META_TRACKNAME 3
37 #define MIDI_META_INSTRUMENT 4
38 #define MIDI_META_LYRIC 5
39 #define MIDI_META_MARKER 6
40 #define MIDI_META_CUE 7
41 /* More meta events */
42 #define MIDI_META_CHANNEL 0x20
43 #define MIDI_META_PORT 0x21
44 #define MIDI_META_EOT 0x2f
45 #define MIDI_META_TEMPO 0x51
46 #define MIDI_META_SMPTE_OFFSET 0x54
47 #define MIDI_META_TIME 0x58
48 #define MIDI_META_KEY 0x59
49 #define MIDI_META_PROP 0x7f
50 
52 #define MIDI_MAX_TEXT_TYPE 7
53 
54 #define MIDI_HEAD_MAGIC 0x4d546864
55 #define MIDI_TRACK_MAGIC 0x4d54726b
56 
57 struct rootElement *midi_read(FILE *fp);
58 struct rootElement *midi_read_file(char *name);
rootElement
Definition: elements.h:45
midi_read
struct rootElement * midi_read(FILE *fp)
midi_read_file
struct rootElement * midi_read_file(char *name)