Midi Show Control and internal timecode

There are a number of posts about both Midi note and MSC control of cuelists in the past however timecode is something not often discussed. Additionally there is a feature of Midi Show Control that is poorly documented and largely unknown, control of the internal clock. I discovered this while cross referencing MSC commands with the known commands possible in Vista.

Many people may already know that over MSC one can specify a cuelist and cue to play with a single command. This has been documented in an older Jands technote.

Tbjlt196_GENERAL_MSC Commands.pdf (365.0 KB)

This is quite handy if your control software can output MSC or you use a translation program such as Bome Midi Translator (highly recommend). In that technote you may also notice some commands for Start Clock and Stop Clock without much additional explanation. These commands happen to control the internal timecode clock however there are two commands that are not documented, Set Clock and Zero Clock. Both of these do what you would expect, the set the clock to a specific value and zero it out. These commands can be very useful if you want to use a timecoded cuelist but do not have an external program that can output MTC or LTC.

So how can this be done over midi? The midi command is a string of hex values. From the technote:

"F0 7F [Device_ID] 02 01 [Command] [Data] F7*

Device_ID is the same value as set on the File β†’ User Preferences β†’ MIDI tab.
Note that the value shown in Vista is decimal (eg β€˜1’) whereas the value used in the MIDI message must be the hexadecimal equivalent (eg β€˜01’). One byte only.
:black_small_square: Command specifies the command to be executed. One byte only.*
:black_small_square: Data is the information required for the command."

The raw Midi hex command for Set Clock is 18 so the Set Clock Command would be:
F0 7F 01 02 01 18 * * * * F7
The * is the clock value in hex. Hex it is not a whole number value, for example, the number 26 is hex 1A.

If I want to set the clock to 04:10:26:24 I would need the following command:
F0 7F 01 02 01 18 04 0A 1A 18 F7
After the clock is set then I can send the command to start the clock:
F0 7F 01 02 01 15 F7

With this command sequence the timecode will be set and played causing the cuelist assigned to chase the TC. If the MSC command is sent in sync with another app such as a midi note from Multitracks then you will have a timecoded list playing in time with your track.

This is not at all a replacement for true TC sync, this is simply a β€œpoor mans” way of creating a TC list and having it play without the need to use Follow Cues and the challenge they bring when adjusting times. This lets you use the true TC cue and play it as you would any other follow list by simply setting and starting the internal clock.

2 Likes