Sending MIDI message on transport stop

Hi

I’m setting up video projection for my band. I’m using a MIDI track in Ardour to send trigger messages to another computer running OBS.

Usually I will send a “black screen” trkffer message at the end of songs. But if the transport is stopped before then, eg if we need to restart the song due to a bad start lol, the video will keep running.

So to keep things in sync I was imagining having Ardour send a MIDI message to the video computer whenever the transport is stopped… Perhaps triggering a note on the MIDI track?

Though that might not be the nest approach, how could this be done? I guess this is pretty custom behavior so I’d need some kind of custom plugin. Can this be done via Lua or anything else built into Ardour?

Assuming you just want simple start/stop etc message, MIDI Machine Control (MMC) would be the way to go.

It is an official standard, and in Ardour you can enable generating MMC in Preferences > Transport > Generate: Send MMC commands.


The general way to sync Video Players is to directly sending them Timecode (LTC, or MTC), but that does not seem to apply in your case.

1 Like

Thanks! I would have loved that to work for me but the OBS MIDI plugin I’m using doesn’t allow reacting to MMC…

As it happens though, Ardour seems to send CC64 with value 0 on channel 1 when the transport is stopped, which I had not realised before. So I’m going to bind to this for now…

Cheers

Nice find.

It’s also not just channel 1, but a panic message (all notes off, raise pedal for all channels).

Ah, and I see that CC64 at 0 corresponds to switching off the Sustain as part of All Notes Off. Now at least I fully understand why this hack works!

https://cdn.borisfx.com/borisfx/Documentation/samplitude-suite-2025/en/Content/MIDI-Panik%20-%20Alle%20Noten%20beenden.htm