Skip to content

Timecode Creator

Turn Reaper project files or CSV marker files into timecoded sequences for grandMA consoles.

Timecode Creator - Screenshot

  • Turns markers into timecoded cues
    Every marker in your source file becomes a cue at the exact time of the marker.
  • Adds button triggers through subtracks
    Build triggers such as Top or Go from subtrack markers. Make the subtracks either from number-only markers or from dedicated Reaper tracks.
  • Sets fade times, follow-cues and cue names
    Give each cue a fade time and add optional follow-cues for a “store /cueonly” workflow. Add cue length and timecode to the cue name, and split a marker name into a name and an info field.
  1. Place your markers:
    • Open your audio file in your editing program. Reaper works best.
    • Place a marker at every point you want a cue.
      For subtracks, use either number-only markers such as “1”, “2”, “3”, or Reaper tracks with “#ST” in the name.
    • If you do not use Reaper, export the markers as CSV in 30 FPS format. grandMA2 works at 30 fps internally, so 30 FPS avoids rounding errors.
  2. Import the markers:
    • Set the import options first, so the marker list arrives the way you need it.
      Set the delimiter and the column names on the Settings page. To check the format of your file, open it in a text editor and read the first line.
    • Import File opens a Reaper project (.rpp) or a CSV file. Import Clipboard pastes from Excel and similar programs.
  3. Set the export options:
    • Choose where the sequences, executors, subtracks and cues go.
    • Set the advanced options, such as follow-cues and info extraction.
  4. Export the timecode and sequence:
    • Manual import: save the macro and timecode to a grandMA2 or grandMA3 folder, then run the macro on the console. The macro creates the sequence and the timecode.
    • Direct import: send the sequence and timecode straight to the console.
  • Source Format: the timecode format used for import and export.
  • Filter Hour: import only markers from one hour range, and change the hour value if you want. Useful when one project timeline holds several audio tracks.
  • Add F.C. (Follow Cue): adds a follow-cue to every marker whose name contains one of your keywords, such as “hit” or “sweep”. This gives you a “store /cueonly” workflow. Use All in the table header to switch every imported item at once.
  • Add Fadetime to Next Marker: sets the fade time to the cue length for every marker without its own fade time. Use All in the table header to switch every imported item at once.
  • Add Length to Name: adds the cue length — the time to the next cue — to the cue name. Use All in the table header to switch every imported item at once.
  • Add Timecode to Name: adds the cue timecode to the cue name.
  • Import Number-Only Markers as Subtracks: reads markers named with numbers only as subtracks.
  • Import Reaper Tracks named ‘#ST’ as Subtracks: reads Reaper tracks named “#ST” as subtracks.
  • Colorize Subtracks based on Reaper Track color: colors the subtracks and their buttons with the color of the Reaper track.
  • Detect Timecode Offset from Reaper TC Generator: reads the timecode offset from the first LTC or MTC generator track found in the Reaper file.
  • +1 All IDs: raises the destination IDs from your last import. Normal IDs go up by 1. Subtrack IDs go up by the number of subtracks in your last export. Change this behaviour on the Settings page.
  • -1: lowers the destination IDs the same way.
  • Name: the name of the timecode and the sequence. The tool fills this in from the imported filename.
  • Timecode #: the target timecode pool number.
  • Timecode Offset: the timecode offset.
  • Sequence #: the target sequence pool number.
  • Executor #: the executor that holds the sequence.
  • Page #: the page of that executor.
  • First Cue #: the number of the first cue in the sequence.
  • Existing Cues: how many cues already sit in the sequence before the first cue. Set it to “2” if cue 0.1 and 0.2 already exist. Used for grandMA2 export only.
  • Command: the timecode command: “Go Cue”, “Goto” or “Go”.
  • SubT. Seq. #: the first sequence number for subtracks.
  • SubT. Exec. #: the first executor number for subtracks.
  • SubT. Page #: the page for the subtrack executors, or the main page.
  • SubT. Command: the command for subtracks — “Top”, “Go” or “On” — when the Reaper track does not set one.
  • Export Mode: what goes into the export: “Main Cues + SubTracks + ”, “Main Cues + TC Only”, “SubTracks + TC Only” or “TC Only”.
  • F.C. Time: the delay for follow-cues, or follow as the trigger time.
  • F.C. Fade: the fade time for follow-cues.
  • F.C. Name: the name for follow-cues. Use the placeholder “{name}” to include the original marker name.
  • Use Semicolon (;) to split Cue Name and Cue Info: splits the marker name at the “;”. The first part becomes the cue name, the second part goes into the cue info or notes field.
  • Add Release Cue to ‘Top’ Subtracks (using F.C. Time & F.C. Fade): adds a release cue to “Top” subtracks, using your follow-cue time and fade settings.
  • Limit color brightness for better visibility: caps the brightness of cue and button colors so they stay readable on the console.
  • Replace Marker/Track Colors on Export: swaps imported colors for other colors through the replacement table. Use it to improve visibility, or to match your console’s color scheme — for example #0000ff in Reaper but #003344 on the console.
  • Cue: the target cue number.
  • Timecode: the time of the cue.
  • Name: the cue label, or the subtrack information.
  • SubT.: the subtrack number.
  • Fade: the fade time of the cue.
  • Length: the cue length — the time to the next cue.
  • Add F.C.: adds a follow-cue after this cue.
  • Name + Length: adds the length to the cue label.
  • Name + Timecode: adds the timecode to the cue label.

You can set some parameters in the marker name itself:

Write thisTo do this
#Fx or #Fx.yset the fade time, e.g. “Build #ff10.5” for a 10.5 second fade
#FFset the fade time to the length of the cue
#NLadd the length to the cue name
#NTadd the timecode to the cue name
#FCadd a follow-cue
#FCx or #FCx.yadd a follow-cue and set its trigger time
#FCFadd a follow-cue that uses follow
#Lxset the cue length to the x-th next marker (1 = next, the default)

Three rules:

  • Always use “.” as the decimal separator.
  • Case does not matter. #FF and #ff do the same thing.
  • Put a space before the “#”. The tool needs it to find the parameter.

Name these markers with numbers only: “1”, “2”, “3” and so on. Extra text is not allowed, so that the tool never confuses them with normal markers.

Each number is one subtrack. Markers with the same number end up in the same subtrack.

Switch on Import Number-Only Markers as Subtracks during import, or the markers stay normal markers.

For export, set SubTrack Command to “Top”, “Go” or “On”, depending on what the subtrack should do.

This method is simple and works with almost any software.

The tool names the subtrack sequences “TC#:ST#”. For example, “11:2” is the second subtrack of timecode 11.

Use this method when you work with many subtracks. It keeps them visible and easy to handle, and it makes copying and pasting beat patterns much easier.

Reaper Demo Project - Screenshot

Download a demo project: Reaper_Demo_Project.RPP

To build a subtrack:

  1. Add a track in Reaper (Menu: Insert > Track).
  2. Put “#ST” in the track name. Add a descriptive name too, and the sequence gets that name — for example “Clap #ST”.
  3. Select the track and add events at the playhead (Menu: Insert > Empty item).

Every track named this way becomes a subtrack, and every item on it becomes a subtrack event.

The tool names the subtrack sequences “TC#:ST#” or “TC#:ST# Name”. For example, “11:2” or “11:2 Clap” is the second subtrack of timecode 11.

Add the “#ST=” modifier to the track name:

CommandItem start actionItem end action
#ST=FlashFlashFlash Release
#ST=GoGo(length ignored)
#ST=OnOn(length ignored)
#ST=OnOffOnOff
#ST=TempTempTemp Release
#ST=ToggleToggleToggle
#ST=TopTop(length ignored)
#ST=TopGoTop (first item), Go (the rest)(length ignored)
#ST=TopRelTopRelease Cue

With these two commands every event becomes its own cue:

CommandWhat it creates
#ST=GoSequa sequence triggered by Go Cue, with one cue per event
#ST=GotoSequa sequence triggered by Goto, with one cue per event

Double-click an event in Reaper to open its Notes field. Use it to set the cue label, and the cue number as well. Start the text with #x and x becomes the cue number, for example #5 Chorus.

Reuse cue numbers to build repeating patterns, such as #1 #2 #3 #1 #2 #3. Do not skip a number: #1 #2 #4 does not work unless #3 appears somewhere in the sequence.

Marker parameters such as follow-cue and fade do not work for subtracks.