You are here

Missing MIDI SPP in some cases

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.

Forums: 
rncbc's picture

EDIT: prolly fixed in qtractor >= v1.5.1.1git.dee594 v1.5.1.1git.e2fad8 [develop]

cheers && happy nye new year.

bluebell's picture

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

rncbc's picture

not a chance

the conversion is done in the other way around anyway and always (play-head frames -> MIDI SPP)

have a nice nye
cheers

bluebell's picture

EDIT: See my posting "it's getting better and better, but …"

rncbc's picture

now fixed in qtractor >= v1.5.1.1git.e2fad8 [develop]

cheers && happy new year.

bluebell's picture

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

Add new comment