Norns clock and MIDI transport (via OP-1)

here, I read that

remote start/stop events can be generated by link or external midi.

due to a –for now– unavailable MIDI connection to my computer (no usb-midi interface here), I am currently testing midi transport availability with an OP-1. It sends MIDI transport (start/stop) via USB to the norns, however, only the stop callback is evaluated, i.e. with:

function clock.transport.start()
  print("clock started")
end

function clock.transport.stop()
  print("clock stopped")
end

I only get clock stopped posted when pressing the resp. button.
With the norns-internal clock, however, I can trigger the start callback via the CLOCK parameter menu setting (reset). Does anyone have an idea what I am doing wrong?

cheers

1 Like

I don’t think your code is wrong. I encountered the same problem with an OP-1 when I tried to implement the new clock system in an old script. Impossible to start the clock with the OP-1. (Just tried again before sending this post)

Then without changing my code, I tried with another midi device (Octatrack) and no problem this time.

I’ve just made some additional tests :
The OP-1 doesn’t send a “start” message but a “song position” and “continue”
This might be the reason why it doesn’t work with the OP-1 ?

Looking at the code https://github.com/monome/norns/blob/master/matron/src/clocks/clock_midi.c it’s not supposed to respond to “continue” messages.

Here’s a fix found on another forum The OP-1 actually sends a “start” message if you set the tape at the very beginning. This might solve your problem.

5 Likes

thanks for looking into this!

I wrote a workaround like this:

function update_from_midi(msg)

  -- other midi-related stuff goes here

  -- OP-1 fix for transport
  if msg.type == 'song_position' then
    clock.transport.start()
  end
end
7 Likes