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