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