<!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>