<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Message</TITLE>
<META http-equiv=Content-Type content="text/html; charset=Windows-1252">
<META content="MSHTML 6.00.2800.1106" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#f8fcf8>
<DIV><FONT face=Arial size=2>Agreed it was just a example, however a valid 
example, its allowed and may occur.</FONT></DIV>
<DIV><FONT face=Arial size=2>For fail save midi reception you need to use a 
method similar to the one I described before using a running "status 
buffer" and "first data byte flag" + "first data byte buffer".</FONT></DIV>
<DIV><FONT face=Arial size=2>The method I described in the first 
mail automatically takes care of all possible midi input including sysex, 
running status and realtime messages.</FONT></DIV>
<DIV><FONT face=Arial size=2>BTW the MMA has flow diagrams for midi reception, 
all are variations of this same method.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>To rely on just a few specific situations like you 
suggested is not the preferred design.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Theo</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<BLOCKQUOTE dir=ltr 
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
  <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
  <DIV 
  style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B> 
  <A title=philgallo@attglobal.net href="mailto:philgallo@attglobal.net">phillip 
  m gallo</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>To:</B> <A title=t.hogers@home.nl 
  href="mailto:t.hogers@home.nl">'Theo'</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>Cc:</B> <A title=synth-diy@dropmix.xs4all.nl 
  href="mailto:synth-diy@dropmix.xs4all.nl">synth diy</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>Sent:</B> Friday, July 16, 2004 10:34 
PM</DIV>
  <DIV style="FONT: 10pt arial"><B>Subject:</B> RE: [sdiy] Processing Midi - 
  Dropping Notes</DIV>
  <DIV><BR></DIV>
  <DIV><SPAN class=680443120-16072004><FONT face=Arial 
  color=#0000ff>Theo,</FONT></SPAN></DIV>
  <DIV><SPAN class=680443120-16072004><FONT face=Arial 
  color=#0000ff></FONT></SPAN> </DIV>
  <DIV><SPAN class=680443120-16072004><FONT face=Arial color=#0000ff>The 
  issuance of a Note On message should preclude the need for an Active Sense 
   message.   I have no doubt that folks violate the intent of 
  Active Sensing by tying it to some blind timer based routine, but Active 
  Sensing is intended to occur when there is no other traffic that would 
  indicate the MIDI link is "in service".</FONT></SPAN></DIV>
  <DIV><SPAN class=680443120-16072004><FONT face=Arial 
  color=#0000ff></FONT></SPAN> </DIV>
  <DIV><SPAN class=680443120-16072004><FONT face=Arial 
  color=#0000ff>regards,</FONT></SPAN></DIV>
  <DIV><SPAN class=680443120-16072004><FONT face=Arial 
  color=#0000ff>p</FONT></SPAN></DIV>
  <DIV><SPAN class=680443120-16072004><FONT face=Arial 
  color=#0000ff></FONT></SPAN> </DIV>
  <DIV></DIV>
  <DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left><FONT 
  face=Tahoma size=2>-----Original Message-----<BR><B>From:</B> <A 
  href="mailto:owner-synth-diy@dropmix.xs4all.nl">owner-synth-diy@dropmix.xs4all.nl</A> 
  [mailto:owner-synth-diy@dropmix.xs4all.nl] <B>On Behalf Of 
  </B>Theo<BR><B>Sent:</B> Friday, July 16, 2004 1:22 PM<BR><B>To:</B> 
  synth-diy@dropmix.xs4all.nl; David Brown<BR><B>Subject:</B> Re: [sdiy] 
  Processing Midi - Dropping Notes<BR><BR></FONT></DIV>
  <DIV><FONT face=Arial size=2>Hi David,</FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT> </DIV>
  <DIV><FONT face=Arial size=2>Yes real-time messages can replace expected data 
  just like the example you gave.</FONT></DIV>
  <DIV><FONT face=Arial size=2>Yes the real time message is guaranteed to be one 
  byte only, but more than one real-time message is possible.</FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT> </DIV>
  <DIV><FONT face=Arial size=2>Like:</FONT></DIV>
  <DIV><FONT face=Arial size=2>Note on</FONT></DIV>
  <DIV><FONT face=Arial size=2>Note value</FONT></DIV>
  <DIV><FONT face=Arial size=2>Real-time active sensing </FONT></DIV>
  <DIV><FONT face=Arial size=2>Real-time timing clock</FONT></DIV>
  <DIV><FONT face=Arial size=2>Note velocity</FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT> </DIV>
  <DIV><FONT face=Arial size=2>Or:</FONT></DIV>
  <DIV><FONT face=Arial size=2>
  <DIV><FONT face=Arial size=2>Note on</FONT></DIV>
  <DIV>Real-time active sensing </DIV>
  <DIV><FONT face=Arial size=2>Note value</FONT></DIV>
  <DIV><FONT face=Arial size=2>Real-time timing clock</FONT></DIV>
  <DIV><FONT face=Arial size=2>Note velocity</FONT></DIV></FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT> </DIV>
  <DIV><FONT face=Arial size=2>The real time messages are:</FONT></DIV>
  <DIV><FONT face=Arial size=2>$F8 - Timing clock</FONT></DIV>
  <DIV><FONT face=Arial size=2>$F9 - undefined</FONT></DIV>
  <DIV><FONT face=Arial size=2>$FA - start</FONT></DIV>
  <DIV><FONT face=Arial size=2>$FB - continue</FONT></DIV>
  <DIV><FONT face=Arial size=2>$FC - stop</FONT></DIV>
  <DIV><FONT face=Arial size=2>$FD - undefined</FONT></DIV>
  <DIV><FONT face=Arial size=2>$FE - active sensing</FONT></DIV>
  <DIV><FONT face=Arial size=2>$FF - system reset</FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT> </DIV>
  <DIV><FONT face=Arial size=2>The other one byte messages ($F1...$F7) are not 
  real-time and not allowed to go in-between the data of other 
  messages.</FONT></DIV>
  <DIV><FONT face=Arial size=2>However I like to pars them as if they 
  where real-time messages, part for easy of coding.</FONT></DIV>
  <DIV><FONT face=Arial size=2>But also because of timing.</FONT></DIV>
  <DIV><FONT face=Arial size=2>"Midi time code quarter frame" ($F1) is one of 
  them, you don't like that one waiting in a FIFO too long.</FONT></DIV>
  <DIV><FONT face=Arial size=2>And having "Song select"($F3) or "Song position 
  pointer"($F2) waiting in the FIFO while $FA "start" is received and 
  executed in is also a bit sloppy.</FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT> </DIV>
  <DIV><FONT face=Arial size=2>Best use a method that takes care of these things 
  automatically.</FONT></DIV>
  <DIV><FONT face=Arial size=2>Like the one I described in the other 
  message.</FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT> </DIV>
  <DIV><FONT face=Arial size=2>Cheers,</FONT></DIV>
  <DIV><FONT face=Arial size=2>Theo</FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT> </DIV>
  <DIV><FONT face=Arial size=2></FONT> </DIV>
  <DIV><FONT face=Arial size=2></FONT> </DIV>
  <BLOCKQUOTE 
  style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
    <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
    <DIV 
    style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B> 
    <A title=davebr@earthlink.net href="mailto:davebr@earthlink.net">David 
    Brown</A> </DIV>
    <DIV style="FONT: 10pt arial"><B>To:</B> <A 
    title=synth-diy@dropmix.xs4all.nl 
    href="mailto:synth-diy@dropmix.xs4all.nl">synth-diy@dropmix.xs4all.nl</A> 
    </DIV>
    <DIV style="FONT: 10pt arial"><B>Sent:</B> Friday, July 16, 2004 6:14 
    PM</DIV>
    <DIV style="FONT: 10pt arial"><B>Subject:</B> Re: [sdiy] Processing Midi - 
    Dropping Notes</DIV>
    <DIV><BR></DIV><FONT size=3>At 09:34 PM 7/13/2004, you wrote:<BR></FONT>
    <BLOCKQUOTE class=cite cite="" type="cite"><FONT face=arial size=2>For 
      even more fun there is also "real time messages" that can come in-between 
      the bytes of other messages.<BR></FONT><FONT size=3> <BR></FONT><FONT 
      face=arial size=2>The real time messages are one byte only.<BR>So just 
      check if a message is real time, then do something with it, like nothing 
      at all.</FONT></BLOCKQUOTE><BR>Can you clarify the real time messages?  
    I'm writing my own MIDI parser and I don't know if I have handled it 
    correctly.  Specifically, can a real time message replace the expected 
    data in a message?  For example ...<BR><BR>Note on command<BR>Note 
    value<BR>Real time message<BR>Note velocity<BR><BR>In this case, is the real 
    time message always guaranteed to be one byte?<BR><BR>Thanks. - Dave 
  </BLOCKQUOTE></BLOCKQUOTE></BODY></HTML>