<!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>Ok I mis-understood you.</FONT></DIV>
<DIV><FONT face=Arial size=2>My point was that there is a easy fast and simple 
to implement solution for the message sequencing and stuff.</FONT></DIV>
<DIV><FONT face=Arial size=2>Only about three jumps/evaluations for 
every byte and the difficult cases fall in place on their own.</FONT></DIV>
<DIV><FONT face=Arial size=2>It works both on the fly and when using 
FIFO.</FONT></DIV>
<DIV><FONT face=Arial size=2>Think i will cookup a webpage about midi reception 
as the question comes up every now and then.</FONT></DIV>
<DIV><FONT face=Arial size=2>Not that I am a expert but</FONT><FONT face=Arial 
size=2> it will add content to my now empty SDIY web page :)</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 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> Saturday, July 17, 2004 1:28 
  AM</DIV>
  <DIV style="FONT: 10pt arial"><B>Subject:</B> RE: [sdiy] Processing Midi - 
  Dropping Notes</DIV>
  <DIV><BR></DIV>
  <DIV><SPAN class=150545922-16072004><FONT face=Arial 
  color=#0000ff>Theo,</FONT></SPAN></DIV>
  <DIV><SPAN class=150545922-16072004><FONT face=Arial 
  color=#0000ff></FONT></SPAN> </DIV>
  <DIV><SPAN class=150545922-16072004><FONT face=Arial color=#0000ff>Think you 
  mis-understand.  I didn't/don't advise coding for a few specific 
  cases.   </FONT></SPAN></DIV>
  <DIV><SPAN class=150545922-16072004><FONT face=Arial 
  color=#0000ff></FONT></SPAN> </DIV>
  <DIV><SPAN class=150545922-16072004><FONT face=Arial color=#0000ff>Instead the 
  entire MIDI Status set should be carefully considered, and planned for, even 
  in cases where you intend to do no more than drop the 
  message.</FONT></SPAN></DIV>
  <DIV><SPAN class=150545922-16072004><FONT face=Arial 
  color=#0000ff></FONT></SPAN> </DIV>
  <DIV><SPAN class=150545922-16072004><FONT face=Arial color=#0000ff>When using 
  either method (buffered or on the fly), message sequencing and traffic 
  implications were where the real work in implementing, seemed to 
  lie.</FONT></SPAN></DIV>
  <DIV><SPAN class=150545922-16072004></SPAN><SPAN 
  class=150545922-16072004><FONT face=Arial 
  color=#0000ff></FONT></SPAN> </DIV>
  <DIV><SPAN class=150545922-16072004><FONT face=Arial color=#0000ff>Haven't 
  seen the MMA flows will give them a look, thanks for the ref.   
    </FONT></SPAN></DIV>
  <DIV><SPAN class=150545922-16072004><FONT face=Arial 
  color=#0000ff></FONT></SPAN> </DIV>
  <DIV><SPAN class=150545922-16072004><FONT face=Arial 
  color=#0000ff>regards,</FONT></SPAN></DIV>
  <DIV><SPAN class=150545922-16072004><FONT face=Arial 
  color=#0000ff>p</FONT></SPAN></DIV>
  <DIV><SPAN class=150545922-16072004></SPAN> </DIV>
  <DIV><SPAN class=150545922-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> Theo 
  [mailto:t.hogers@home.nl] <BR><B>Sent:</B> Friday, July 16, 2004 3:47 
  PM<BR><B>To:</B> philgallo@attglobal.net<BR><B>Cc:</B> synth 
  diy<BR><B>Subject:</B> Re: [sdiy] Processing Midi - Dropping 
  Notes<BR><BR></FONT></DIV>
  <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></BLOCKQUOTE></BODY></HTML>