Cleanup: tweaked order of MIDIPort members (so the description and details match in order); tweaked one wording (replaced "stream" with a less loaded word), and added MIDIEvent to the API set list/TOC.
--- a/midi/specification.html Mon Nov 19 11:57:29 2012 -0600
+++ b/midi/specification.html Wed Nov 28 10:06:25 2012 -0800
@@ -97,6 +97,8 @@
</li>
<li>A <a href="#MIDIMessage">MIDIMessage</a> interface, which represents a sequence of MIDI data bytes along with a timestamp. This interface is used for receiving MIDI as well as for some types of sending.
</li>
+ <li>A <a href="#MIDIEvent">MIDIEvent</a> interface, which represents the Event object passed to MIDIInput's onmessage handler and contains an array of MIDIMessages.
+ </li>
</ul>
</section>
</section>
@@ -508,6 +510,24 @@
<dl title="[NoInterfaceObject]
interface MIDIPort : EventTarget"
class="idl">
+ <dt>readonly attribute DOMString fingerprint</dt>
+ <dd>
+ <p>
+ A unique ID of the port. This can be used by developers to
+ remember ports the user has chosen for different applications.
+ The User Agent SHOULD make sure the
+ <code><a>fingerprint</a></code>
+ is unique to only that port if possible.
+ </p>
+ </dd>
+ <dt>readonly attribute DOMString manufacturer</dt>
+ <dd>
+ <p>The manufacturer of the port.</p>
+ </dd>
+ <dt>readonly attribute DOMString name</dt>
+ <dd>
+ <p>The system name of the port.</p>
+ </dd>
<dt>readonly attribute MIDIPortType type</dt>
<dd>
<p>
@@ -519,28 +539,10 @@
this MUST be <code>"input"</code>.
</p>
</dd>
- <dt>readonly attribute DOMString name</dt>
- <dd>
- <p>The system name of the port.</p>
- </dd>
- <dt>readonly attribute DOMString manufacturer</dt>
- <dd>
- <p>The manufacturer of the port.</p>
- </dd>
<dt>readonly attribute DOMString version</dt>
<dd>
<p>The version of the port.</p>
</dd>
- <dt>readonly attribute DOMString fingerprint</dt>
- <dd>
- <p>
- A unique ID of the port. This can be used by developers to
- remember ports the user has chosen for different applications.
- The User Agent SHOULD make sure the
- <code><a>fingerprint</a></code>
- is unique to only that port if possible.
- </p>
- </dd>
</dl>
<section>
@@ -615,7 +617,7 @@
Enqueues the message to be sent to the corresponding MIDI port. The underlying implementation will (if necessary) coerce each member of the sequence to an unsigned 8-bit integer. The use of sequence rather than a UInt8Array enables developers to use the convenience of <code>output.send( [ 0x90, 0x45, 0x7f ] );</code> rather than having to create a UInt8Array, e.g. <code>output.send( new UInt8Array( [ 0x90, 0x45, 0x7f ] ) );</code> - while still enabling use of UInt8Arrays for efficiency in large MIDI data scenarios (e.g. reading Standard MIDI Files and sending sysex messages).
</p>
<p>
- The data must contain a stream of valid, complete MIDI messages. Running status is not allowed in the data bytes, as underlying systems may not support it.
+ The data must contain any number of valid, complete MIDI messages. Running status is not allowed in the data, as underlying systems may not support it.
</p>
<dl class='parameters'>
<dt>sequence<short> data</dt>