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
57struct rootElement *midi_read(FILE *fp);
58struct rootElement *midi_read_file(char *name);
struct rootElement * midi_read(FILE *fp)
struct rootElement * midi_read_file(char *name)
Definition: elements.h:45