Missing MIDI SPP in some cases

Forums

I bought an Intech Studio Grid TEK2 MIDI controller. It can be programmed to send MIDI data when pushing buttons or turning knobs and to do things like switching on/off LEDs.

It cannot handle all received MIDI data because of its limited CPU/RAM, especially not MIDI clock, SPP and Sysex. So I wrote a mididings patch that receives MIDI clock and MIDI SPP to send MIDI CC20 to the TEK2 on order to make an LED flash in the rhythm. SPP is needed to switch the LED on synchronously with each start of a quarter note and switch it off after half of the quarter note when PLAY doesn't start exactly with a beat. So far, so good.

That works ok when I START/PAUSE with the Qtractors transport button or the space key. After each PAUSE a MIDI SPP is sent. But when I PAUSE with my controller via MIDI Note On in most cases there is no MIDI SPP. In rare cases a MIDI SPP is sent.

Not sure if that's intended or a bug.

Permalink

Yes, it's fixed. Thank you Rui.

Playing around with it led to another question:
To tell other devices where to start wouldn't it be needed to send a MIDI SPP

  • before resuming playback? Could be tricky since SPP's resolution is not as fine as every possible start position

  • after forward and backward motion or positioning the playhead with a mouse click? It's tricky, too, because of SPP's resolution.

Restricting the playhead's position to SPP's resolution wouldn't be a good idea IMHO since the playhead's position is used to spilt clips.

Regards
Holger

EDIT: SPP has a resolution of 1/6 of the MIDI CLOCK (24 per quarter note), so SPP has a resolution of 4 per quarter note = 1/16 note, not 1/24 as I wrote before.

  • backward: should send SPP while playing or pausing, but sends SPP only when pausing

  • rewind: should not pause playing but pauses playing (doesn't send stop)

  • fast forward: should not stop playing but pauses playing (sends stop)

SPP cannot be accurate when not on a 1/16 boundary. I think a robust solution could be:

  • send SPP immediately after pausing or repositioning the playhead only when we are on a 1/16 position (better no SPP than a false SPP)

  • send SPP after reaching the first 1/16 position after starting playback OR when playback is running and the playhead is repositioned (backward, rewind, fast forward). Make sure that SPP is sent before MIDI CLOCK for that position

I am sorry not coming up with this proposal before but the picture is completing slowly.

Regards
Holger

jack_midi_clock sends a SPP position that's a bit ahead and delays START/CONTINUE until this position is reached. Since SPP is no realtime message but START/CONTINUE is one that's a good approach.

Add new comment

The content of this field is kept private and will not be shown publicly.

Markdown

  • Parses markdown and converts it to HTML.
  • Allowed HTML tags: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type='1 A I'> <li> <dl> <dt> <dd> <h2 id='jump-*'> <h3 id> <h4 id> <h5 id> <h6 id> <img src alt height width> <strike> <pre> <p> <br>
  • Lines and paragraphs break automatically.

Filtered HTML

  • Allowed HTML tags: <a href hreflang> <em> <strong> <cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <b> <i> <pre> <img src alt height width> <strike>
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.

Plain text

  • No HTML tags allowed.
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.
File attachments
Unlimited number of files can be uploaded to this field.
2 MB limit.
Allowed types: jpg jpeg gif png txt doc docx xls xlsx pdf ppt pps odt ods odp zip gz bz2 xz patch diff wav ogg flac ogv mp4 qtz.
CAPTCHA
Enter the characters shown in the image.