External Received MIDI Clock START is incorrectly treated as a CONTINUE

Bug Description

I’m working on mating a Polyend Play with a Polyend Tracker. When PLAY is pressed on the Play, and it sends a MIDI START, the Tracker does not restart the song from the beginning per MIDI spec. Also the Tracker does not start from the currently selected row in the song, as is what happens when you manually press the PLAY button on the Tracker. Instead the Tracker does the worst thing: it restarts from the row in which it had last been stopped, either via MIDI STOP or by pressing the PLAY button. That is, the Tracker [effectively] treats MIDI Clock START as if it was a CONTINUE.

This [1] means starting remotely via MIDI is entirely inconsistent with starting manually via the PLAY button. But more importantly, [2] this is in violation of the MIDI spec. The semantics of MIDI START are specifically to reset the song to the beginning, as if receiving a MIDI SONG POSITION request of 0, and then to continue as if MIDI CONTINUE was performed.

I presume this is a Tracker bug and not a Play bug. But I have not snooped the output of the Play yet – it’s theoretically possible that the Play is actually sending a MIDI CONTINUE when you press PLAY, though that would be even worse!

Steps to Reproduce

  1. Attach a Play to a Tracker.
  2. The Play is set to send Transport and Clock OUT to MIDI OUT, and the Tracker is set to receive transport and clock IN from MIDI IN.
  3. Load a song on each.
  4. Go to SONG mode on the Tracker.
  5. Press PLAY on the Play. This will start playing the Tracker as well.
  6. In the middle of the Tracker’s song, press PLAY on the Play to stop.
  7. On the Tracker, use the cursor keys to move to a different row, other than 0.
  8. Now: [1] Row X is the row where we stopped the Tracker. And [2] Row Y is the row where the cursor is. And also there is Row 0.
  9. Press PLAY on the Play again.
  10. The tracker does not restart from Row 0. It doesn’t even restart from Row Y. It erroneously restarts from Row X, as if MIDI CONTINUE had been played.

Occurrence / Frequency

Always

Found in Firmware

  • Version: 1.9.1
  • Build: 1138

Attachments

1 Like

I can confirm that is also occuring under the same conditions with a Play+ and a Tracker Mini. Interestingly enough, I tried to force the tracker to restart by following your steps, but also manually changed the pattern to the first pattern of song view via the pattern view, then going back to song view before pressing play from the Play+. This got it to restart, so I did it again with another pattern and it continued playing from that point when reinitiated as well, without having actually played the pattern before re-entering song mode. Seems to me that it is taking its position from whatever is on the pattern view and not from the song view. Definitely odd behavior, as I would assume pressing play from an external device while in song view would still function the same as pressing “play song” on the tracker.

Play+: v 1.2.0, build 1928
Tracker Mini: v 2.1.0.1153b, build 1153