• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Stuck Notes
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Stuck Notes


  • Subject: Re: Stuck Notes
  • From: "John Lazzaro" <email@hidden>
  • Date: Fri, 26 Mar 2004 10:10:20 -0800

"James Chandler Jr" <email@hidden> writes:
Anyway, it could happen that a user is intentionally sending
overlapped notes into your program.

Yes. However, such a source still has a responsibility
to pair note initiations and terminations. From page
A-4 of the MIDI 1.0 spec (version 96.1):

"The transmitter, however, must send a corresponding
Note Off message for every Note On message sent.".

This quote is from a section that legitimizes sending multiple
NoteOn's with non-zero velocity on a channel for a given
note number without an intervening NoteOff or zero-velocity
NoteOn.

So, hardware that isn't pairing non-zero-velocity NoteOn's
with NoteOffs or zero-velocity NoteOffs is out of spec.
Note the last sentence is true even if All Notes Off or All
Sounds Off Control Change commands are in the stream --
those commands are advisory, and do not relieve transmitters
from correct pairing.

---
John Lazzaro
http://www.cs.berkeley.edu/~lazzaro
lazzaro [at] cs [dot] berkeley [dot] edu
---
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.


  • Follow-Ups:
    • Re: Stuck Notes
      • From: "James Chandler Jr" <email@hidden>
  • Prev by Date: Transport State?
  • Next by Date: Re: Transport State?
  • Previous by thread: Re: Stuck notes
  • Next by thread: Re: Stuck Notes
  • Index(es):
    • Date
    • Thread