<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Neil's flowchart looks right. Here's another way to look at it
      from a state machine perspective. For me personally, coding from a
      flow chart leads to spaghetti code but a state machine translates
      to code much easier.</p>
    <p><a href="http://myplace.frontier.com/~jspeth/MIDI_FSM.pdf">http://myplace.frontier.com/~jspeth/MIDI_FSM.pdf</a></p>
    <p>Advice: There is little value and it's probably even detrimental
      to attempt a starting MIDI reception code body. You need to fully
      implement the MIDI reception and decoding parts. You can opt to
      disregard the actions that should be taken after an unambiguous
      MIDI message is received but you need to handle each byte.</p>
    <p>JJS<br>
    </p>
    <div class="moz-cite-prefix">On 3/20/2020 12:26 PM, Neil Johnson
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CACZGMxJ=r0q4Eb4ts-BFDeZ+J60vQZYtPDv9=aw8+zfzMk8T=w@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">
        <div>You mean like this:</div>
        <div><br>
        </div>
        <div><a href="https://github.com/nejohnson/miby"
            moz-do-not-send="true">https://github.com/nejohnson/miby</a></div>
        <div><br>
        </div>
        <div>Look in the /doc folder for a PDF.<br>
        </div>
        <div><br>
        </div>
        <div>Neil<br>
        </div>
      </div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">On Fri, 20 Mar 2020 at 19:17,
          Tom Wiltshire <<a href="mailto:tom@electricdruid.net"
            target="_blank" moz-do-not-send="true">tom@electricdruid.net</a>>
          wrote:<br>
        </div>
        <blockquote class="gmail_quote" style="margin:0px 0px 0px
          0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
          <div>I think a flowchart is a good idea, but I’d say that the
            voice assignment part is a separate thing from the MIDI.
            Voice handling is a whole area in its own right.
            <div>
              <div><br>
              </div>
              <div>Tom</div>
              <div><br>
                <div>
                  <div>
                    <div
style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">==================<br>
                             Electric Druid<br>
                      Synth & Stompbox DIY<br>
                      ==================</div>
                  </div>
                </div>
                <div><br>
                  <blockquote type="cite">
                    <div>On 20 Mar 2020, at 19:10, Jean-Pierre
                      Desrochers <<a href="mailto:jpdesroc@oricom.ca"
                        target="_blank" moz-do-not-send="true">jpdesroc@oricom.ca</a>>
                      wrote:</div>
                    <br>
                    <div>
                      <div>One idea came to my mind reading all your
                        great comments:<br>
                        Would it be usefull for anybody in this DIY
                        forum including newbies like me<br>
                        that someone would publish a 'starting' MIDI
                        receiving flowchart<br>
                        of the basics from the incoming bytes to the
                        actual final process<br>
                        of each received notes ?<br>
                        For example this helping flowchart would show
                        the basic steps<br>
                        of first: the interrupt function (USART Rx flag
                        test, RxBuffer[] updating, etc...)<br>
                        Then the behaviour of the main loop processing
                        each received byte<br>
                        for let's say a polyphonic MIDI to CV 8 voices
                        module ?<br>
                        And only for one MIDI channel for simplicity to
                        understanding ?<br>
                        I did in the past a big flowchart for my MIDI to
                        CV 6 voices module<br>
                        That I could 'squeeze'to keep only what's stated
                        above.<br>
                        This could be a starting point for anybody who
                        wants to 'correct' things<br>
                        and this way the DIY forum would have a 'list
                        standardized' flowchart<br>
                        For anybody to use in the future..<br>
                        This would answer many design questions to come.<br>
                        Again, a small flowchart of how to receive MIDI
                        bytes for only one MIDI channel<br>
                        And process for polyphonic use (8 voices).<br>
                        If this suggestion interests enough diyers I
                        could put my cleaned out<br>
                        Flowchart on the list as a start..<br>
                        Or maybe I'll be the only guy to be interested
                        in that<br>
                        Since many of you gurus have already been
                        through these codings..<br>
                        JP <br>
                        <br>
                        <br>
                        <br>
                        <br>
                        _______________________________________________<br>
                        Synth-diy mailing list<br>
                        <a href="mailto:Synth-diy@synth-diy.org"
                          target="_blank" moz-do-not-send="true">Synth-diy@synth-diy.org</a><br>
                        <a
                          href="http://synth-diy.org/mailman/listinfo/synth-diy"
                          target="_blank" moz-do-not-send="true">http://synth-diy.org/mailman/listinfo/synth-diy</a><br>
                      </div>
                    </div>
                  </blockquote>
                </div>
                <br>
              </div>
            </div>
          </div>
          _______________________________________________<br>
          Synth-diy mailing list<br>
          <a href="mailto:Synth-diy@synth-diy.org" target="_blank"
            moz-do-not-send="true">Synth-diy@synth-diy.org</a><br>
          <a href="http://synth-diy.org/mailman/listinfo/synth-diy"
            rel="noreferrer" target="_blank" moz-do-not-send="true">http://synth-diy.org/mailman/listinfo/synth-diy</a><br>
        </blockquote>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
Synth-diy mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Synth-diy@synth-diy.org">Synth-diy@synth-diy.org</a>
<a class="moz-txt-link-freetext" href="http://synth-diy.org/mailman/listinfo/synth-diy">http://synth-diy.org/mailman/listinfo/synth-diy</a>
</pre>
    </blockquote>
  </body>
</html>