fix mistaken "do not roll" conclusion in TransportFSM::compute_should_roll()
[ardour.git] / patchfiles / MIDIEvents10.dtd
1 <!--\r
2         XML DTD for MIDI messages\r
3         \r
4         Version 1.0, 19 January 2003\r
5         \r
6         Formal Public Identifier:\r
7                 "-//MIDI Manufacturers Association//DTD MIDIEvents 1.0//EN"\r
8 \r
9         URI:\r
10                 "http://www.midi.org/dtds/MIDIEvents10.dtd"\r
11 \r
12         Parameter entities which must be defined before use:\r
13                 %ChannelRequired;               #IMPLIED\r
14                                                                         for use in contexts, where the event is always\r
15                                                                         rechannelized\r
16                                                                 #REQUIRED\r
17                                                                         when channel messages require Channel attribute\r
18 \r
19         e.g.\r
20                 <!ENTITY % MIDIDTD PUBLIC       "-//MIDI Manufacturers Association//DTD MIDIEvents 1.0//EN"\r
21                                                                         "http://www.midi.org/dtds/MIDIEvents10.dtd" >\r
22                 %MIDIDTD;\r
23 -->\r
24 \r
25 <!--\r
26         CHANNEL MESSAGES\r
27         \r
28         Attribute values:\r
29                 Note, Velocity, Pressure, Control, Value, Number are all 0..127\r
30                 except: PitchBend's Value is 0..16383\r
31 -->\r
32 \r
33 <!ELEMENT NoteOn EMPTY>\r
34         <!ATTLIST NoteOn\r
35                 Channel         (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16)        %ChannelRequired;\r
36                 Note            NMTOKEN                                                                         #REQUIRED\r
37                 Velocity        NMTOKEN                                                                         #REQUIRED>\r
38 \r
39 <!ELEMENT NoteOff EMPTY>\r
40         <!ATTLIST NoteOff\r
41                 Channel         (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16)        %ChannelRequired;\r
42                 Note            NMTOKEN                                                                         #REQUIRED\r
43                 Velocity        NMTOKEN                                                                         #REQUIRED>\r
44 \r
45 <!ELEMENT PolyKeyPressure EMPTY>\r
46         <!ATTLIST PolyKeyPressure\r
47                 Channel         (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16)        %ChannelRequired;\r
48                 Note            NMTOKEN                                                                         #REQUIRED\r
49                 Pressure        NMTOKEN                                                                         #REQUIRED>\r
50 \r
51 <!ELEMENT ControlChange EMPTY>\r
52         <!ATTLIST ControlChange\r
53                 Channel         (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16)        %ChannelRequired;\r
54                 Control         NMTOKEN                                                                         #REQUIRED\r
55                 Value           NMTOKEN                                                                         #REQUIRED>\r
56 \r
57 <!ELEMENT ProgramChange EMPTY>\r
58         <!ATTLIST ProgramChange\r
59                 Channel         (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16)        %ChannelRequired;\r
60                 Number          NMTOKEN                                                                         #REQUIRED>\r
61 \r
62 <!ELEMENT ChannelKeyPressure EMPTY>\r
63         <!ATTLIST ChannelKeyPressure\r
64                 Channel         (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16)        %ChannelRequired;\r
65                 Pressure        NMTOKEN                                                                         #REQUIRED>\r
66 \r
67 <!ELEMENT PitchBendChange EMPTY>\r
68         <!ATTLIST PitchBendChange\r
69                 Channel         (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16)        %ChannelRequired;\r
70                 Value           NMTOKEN                                                                         #REQUIRED>\r
71 \r
72 <!--\r
73         Channel mode messages\r
74 -->\r
75 <!ELEMENT AllSoundOff EMPTY>\r
76         <!ATTLIST AllSoundOff\r
77                 Channel         (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16)        %ChannelRequired;>\r
78 \r
79 <!ELEMENT ResetAllControllers EMPTY>\r
80         <!ATTLIST ResetAllControllers\r
81                 Channel         (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16)        %ChannelRequired;>\r
82 \r
83 <!ELEMENT LocalControl EMPTY>\r
84         <!ATTLIST LocalControl\r
85                 Channel         (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16)        %ChannelRequired;\r
86                 Value           (off|on)                                                                        #REQUIRED>\r
87 \r
88 <!ELEMENT AllNotesOff EMPTY>\r
89         <!ATTLIST AllNotesOff\r
90                 Channel         (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16)        %ChannelRequired;>\r
91 \r
92 <!ELEMENT OmniOff EMPTY>\r
93         <!ATTLIST OmniOff\r
94                 Channel         (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16)        %ChannelRequired;>\r
95 \r
96 <!ELEMENT OmniOn EMPTY>\r
97         <!ATTLIST OmniOn\r
98                 Channel         (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16)        %ChannelRequired;>\r
99 \r
100 <!ELEMENT MonoMode EMPTY>\r
101         <!ATTLIST MonoMode\r
102                 Channel         (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16)        %ChannelRequired;\r
103                 Value           NMTOKEN                                     #REQUIRED>\r
104 \r
105 <!ELEMENT PolyMode EMPTY>\r
106         <!ATTLIST PolyMode\r
107                 Channel         (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16)        %ChannelRequired;>\r
108 \r
109 <!--\r
110         14-bit control changes:\r
111                 Value is 0..16383\r
112         \r
113                 ControlChange14's Control is MSB 0..31\r
114                 RPNN and NRPN are 0..16383\r
115 -->\r
116 \r
117 <!ELEMENT ControlChange14 EMPTY>\r
118         <!ATTLIST ControlChange14\r
119                 Channel         (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16)        %ChannelRequired;\r
120                 Control         NMTOKEN                                                                         #REQUIRED\r
121                 Value           NMTOKEN                                                                         #REQUIRED>      \r
122 \r
123 <!ELEMENT RPNChange EMPTY>\r
124         <!ATTLIST RPNChange\r
125                 Channel         (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16)        %ChannelRequired;\r
126                 RPN                     NMTOKEN                                                                         #REQUIRED\r
127                 Value           NMTOKEN                                                                         #REQUIRED>\r
128 \r
129 <!ELEMENT NRPNChange EMPTY>\r
130         <!ATTLIST NRPNChange\r
131                 Channel         (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16)        %ChannelRequired;\r
132                 NRPN            NMTOKEN                                                                         #REQUIRED\r
133                 Value           NMTOKEN                                                                         #REQUIRED>\r
134 \r
135 \r
136 <!--\r
137         SYSTEM MESSAGES\r
138 -->\r
139 \r
140 <!ELEMENT SysEx (#PCDATA | SysExDeviceID | SysExChannel)*>              \r
141         <!-- contains string of hex bytes without radix information, e.g.:\r
142         <SysEx>F0 01 02 <SysExDeviceID/> 03 04 05 <SysExChannel Multiplier="1" Offset="32"/> F7</SysEx> \r
143         -->\r
144 \r
145 <!ELEMENT SysExDeviceID EMPTY>          <!-- Byte as a function of user-visible Device ID\r
146                                                                                 e.g. 17 as the default on many Roland devices.\r
147                                                                                 Most sysex messages will use this element. -->\r
148         <!ATTLIST SysExDeviceID\r
149                 Multiplier      NMTOKEN "1"\r
150                 Offset          NMTOKEN "0">    <!-- multiplier and offset are decimal -->      \r
151                 \r
152 <!ELEMENT SysExChannel  EMPTY>          <!-- Byte as a function of MIDI Channel 1-16, for\r
153                                                                                 specialized situations where a sys-ex message\r
154                                                                                 is being directed to a specific MIDI channel.\r
155                                                                                 Generally only older devices require use of this. -->\r
156         <!ATTLIST SysExChannel\r
157                 Multiplier      NMTOKEN "1"\r
158                 Offset          NMTOKEN "0">    <!-- multiplier and offset are decimal -->\r
159                         \r
160 <!ELEMENT MTCQuarterFrame EMPTY>\r
161         <!ATTLIST MTCQuarterFrame\r
162                 MessageType     (FrameLSNibble | FrameMSNibble |\r
163                         SecsLSNibble  | SecsMSNibble  |\r
164                         MinsLSNibble  | MinsMSNibble  |\r
165                         HrsLSNibble       | HrsMSNibbleSMPTEType)                               #REQUIRED\r
166                 DataNibble              NMTOKEN                                                                 #REQUIRED>\r
167 \r
168 <!ELEMENT SongPositionPointer EMPTY>\r
169         <!ATTLIST SongPositionPointer\r
170                 Position        NMTOKEN         #REQUIRED>      <!-- 0-16383 -->\r
171 \r
172 <!ELEMENT SongSelect EMPTY>\r
173         <!ATTLIST SongSelect\r
174                 Number          NMTOKEN         #REQUIRED>      <!-- 0-127 -->\r
175 \r
176 <!ELEMENT TuneRequest EMPTY>\r
177 <!ELEMENT TimingClock EMPTY>\r
178 <!ELEMENT Start EMPTY>\r
179 <!ELEMENT Continue EMPTY>\r
180 <!ELEMENT Stop EMPTY>\r
181 <!ELEMENT ActiveSensing EMPTY>\r
182 <!ELEMENT SystemReset EMPTY>\r
183 \r
184 <!--\r
185         ENTITIES\r
186 -->\r
187 \r
188 <!ENTITY % MIDIChannelVoiceMessage "(NoteOn | NoteOff | PolyKeyPressure | ControlChange | ProgramChange\r
189         | ChannelKeyPressure | PitchBendChange)">\r
190 <!ENTITY % MIDIChannelModeMessage "(AllSoundOff | ResetAllControllers | LocalControl | AllNotesOff\r
191         | OmniOff | OmniOn | MonoMode | PolyMode)">\r
192 <!ENTITY % MIDIChannelMessage "(%MIDIChannelVoiceMessage; | %MIDIChannelModeMessage;)">\r
193 <!ENTITY % MIDISystemMessage "(SysEx | MTCQuarterFrame | SongPositionPointer | SongSelect\r
194         | TuneRequest | TimingClock | Start | Continue | Stop | ActiveSensing | SystemReset)">\r
195 <!ENTITY % MIDIMessage "(%MIDIChannelMessage; | %MIDISystemMessage; )">\r