fix mistaken "do not roll" conclusion in TransportFSM::compute_should_roll()
[ardour.git] / patchfiles / MIDINameDocument10.dtd
1 <!--\r
2         XML DTD for MIDINameDocument\r
3         \r
4         Version 1.0, 19 January 2003\r
5         \r
6         Formal Public Identifier:\r
7                 "-//MIDI Manufacturers Association//DTD MIDINameDocument 1.0//EN"\r
8         URI:\r
9                 "http://www.midi.org/dtds/MIDINameDocument10.dtd"\r
10 -->\r
11 \r
12 <!--\r
13         ENTITIES - used internally\r
14 -->\r
15 \r
16 <!ENTITY % namelist "PatchNameList | NoteNameList | ControlNameList | ValueNameList">\r
17 <!ENTITY % noteorctl_listorref "(NoteNameList | UsesNoteNameList)?, (ControlNameList | \r
18                                                                 UsesControlNameList)?">\r
19 \r
20 <!--\r
21         ELEMENTS AND ATTRIBUTES\r
22 -->\r
23 \r
24 <!ELEMENT MIDINameDocument      (Author, (MasterDeviceNames+ | ExtendingDeviceNames+ | \r
25                                                         StandardDeviceMode+)) >\r
26 \r
27 <!ELEMENT Author (#PCDATA)>\r
28 \r
29 <!ELEMENT MasterDeviceNames             (((Manufacturer, Model+) | Device), \r
30                                                                 (CustomDeviceMode | SupportsStandardDeviceMode)+, \r
31                                                                 ChannelNameSet*, (%namelist;)*) >\r
32 \r
33 <!ELEMENT ExtendingDeviceNames  (((Manufacturer, Model+)? | Device), (%namelist;)+) >\r
34 \r
35 <!ELEMENT Manufacturer (#PCDATA)>\r
36 \r
37 <!ELEMENT Model (#PCDATA)>\r
38 \r
39 <!ELEMENT Device EMPTY>\r
40 <!ATTLIST Device\r
41                                 Name            CDATA   #REQUIRED\r
42                                 UniqueID        NMTOKEN #REQUIRED>\r
43 \r
44 <!ELEMENT StandardDeviceMode (DeviceModeEnable?, DeviceModeDisable?, ChannelNameSetAssignments, \r
45                                                                 ChannelNameSet+, (%namelist;)*) >\r
46 <!ATTLIST StandardDeviceMode\r
47                                 Name    CDATA   #REQUIRED>\r
48 \r
49 <!ELEMENT CustomDeviceMode (DeviceModeEnable?, DeviceModeDisable?, ChannelNameSetAssignments, \r
50                                                                 (%namelist;)*) >\r
51 <!ATTLIST CustomDeviceMode\r
52                                 Name    CDATA   #REQUIRED>\r
53 \r
54 <!ELEMENT DeviceModeEnable      (MIDICommands)>\r
55 <!ELEMENT DeviceModeDisable     (MIDICommands)>\r
56 \r
57 <!ELEMENT SupportsStandardDeviceMode EMPTY>\r
58 <!ATTLIST SupportsStandardDeviceMode\r
59                                 Name    CDATA   #REQUIRED>\r
60 \r
61 <!ELEMENT ChannelNameSetAssignments (ChannelNameSetAssign+)>\r
62 <!ELEMENT ChannelNameSetAssign EMPTY>\r
63 <!ATTLIST ChannelNameSetAssign\r
64                                 Channel         NMTOKEN                 #REQUIRED\r
65                                 NameSet         CDATA                   #REQUIRED>\r
66 \r
67 <!ELEMENT ChannelNameSet        (AvailableForChannels, %noteorctl_listorref;, PatchBank+) >\r
68 <!ATTLIST ChannelNameSet\r
69                                 Name            CDATA                   #REQUIRED>\r
70 \r
71 <!ELEMENT AvailableForChannels (AvailableChannel+)>\r
72 <!ELEMENT AvailableChannel EMPTY>\r
73 <!ATTLIST AvailableChannel\r
74                                 Channel         NMTOKEN                 #REQUIRED\r
75                                 Available       (false | true)  "true">\r
76 \r
77 <!ELEMENT PatchBank (MIDICommands?, (UsesPatchNameList | PatchNameList))>\r
78 <!ATTLIST PatchBank\r
79                                 Name            CDATA                   #IMPLIED\r
80                                 ROM                     (false | true)  "false">\r
81 \r
82 <!ELEMENT UsesPatchNameList EMPTY>\r
83 <!ATTLIST UsesPatchNameList\r
84                                 Name    CDATA   #REQUIRED>\r
85 \r
86 <!ELEMENT PatchNameList (Patch*)>\r
87 <!ATTLIST PatchNameList\r
88                                 Name    CDATA   #IMPLIED>\r
89 \r
90 <!ELEMENT Patch (PatchMIDICommands?, ChannelNameSetAssignments?, %noteorctl_listorref; ) >\r
91 <!ATTLIST Patch\r
92                                 Number                  CDATA   #REQUIRED\r
93                                 Name                    CDATA   #REQUIRED\r
94                                 ProgramChange   NMTOKEN #IMPLIED>\r
95 \r
96 <!ELEMENT UsesNoteNameList EMPTY>\r
97 <!ATTLIST UsesNoteNameList\r
98                                 Name    CDATA   #REQUIRED>\r
99 \r
100 <!ELEMENT NoteNameList (NoteGroup | Note)+>\r
101 <!ATTLIST NoteNameList\r
102                                 Name    CDATA   #IMPLIED>\r
103 \r
104 <!ELEMENT NoteGroup (Note*)>\r
105 <!ATTLIST NoteGroup\r
106                                 Name    CDATA   #IMPLIED>\r
107 \r
108 <!ELEMENT Note EMPTY>\r
109 <!ATTLIST Note\r
110                                 Number  NMTOKEN #REQUIRED\r
111                                 Name    CDATA   #REQUIRED>\r
112 \r
113 <!ELEMENT UsesControlNameList EMPTY>\r
114 <!ATTLIST UsesControlNameList\r
115                                 Name    CDATA   #REQUIRED>\r
116 \r
117 <!ELEMENT ControlNameList (Control+)>\r
118 <!ATTLIST ControlNameList\r
119                                 Name    CDATA   #IMPLIED>\r
120 \r
121 <!ELEMENT Control (Values?)>\r
122 <!ATTLIST Control\r
123                                 Type    (7bit | 14bit | RPN | NRPN)     "7bit"\r
124                                 Number  NMTOKEN                                         #REQUIRED\r
125                                 Name    CDATA                                           #REQUIRED>\r
126 \r
127 <!ELEMENT Values (ValueNameList | UsesValueNameList)?>\r
128 <!ATTLIST Values\r
129                                 Min             NMTOKEN #REQUIRED\r
130                                 Max             NMTOKEN #REQUIRED\r
131                                 Default NMTOKEN #IMPLIED\r
132                                 Units   NMTOKEN #IMPLIED\r
133                                 Mapping NMTOKEN #IMPLIED>\r
134 \r
135 <!ELEMENT UsesValueNameList EMPTY>\r
136 <!ATTLIST UsesValueNameList\r
137                                 Name    CDATA   #REQUIRED>\r
138 \r
139 <!ELEMENT ValueNameList (Value+)>\r
140 <!ATTLIST ValueNameList\r
141                                 Name    CDATA   #IMPLIED>\r
142 \r
143 <!ELEMENT Value EMPTY>\r
144 <!ATTLIST Value\r
145                                 Number  NMTOKEN #REQUIRED\r
146                                 Name    CDATA   #REQUIRED>\r
147 \r
148 <!--\r
149         Include MIDI.dtd, defining elements referenced by MIDICommands\r
150 -->\r
151 <!ENTITY % ChannelRequired "#IMPLIED">\r
152 <!ENTITY % MIDIDTD PUBLIC       "-//MIDI Manufacturers Association//DTD MIDIEvents 1.0//EN"\r
153                                                         "MIDIEvents10.dtd" >\r
154 %MIDIDTD;\r
155 \r
156 <!ELEMENT MIDICommands (MIDIDelay | %MIDIChannelMessage; | SysEx)+ >\r
157 <!ELEMENT PatchMIDICommands (MIDIDelay | %MIDIChannelMessage; )+ >\r
158 \r
159 <!ELEMENT MIDIDelay EMPTY>\r
160 <!ATTLIST MIDIDelay\r
161                                 Milliseconds    CDATA   #REQUIRED>\r
162 \r