ShowKontrolMANUAL

SHOWKONTROL(1)ShowKontrol R27SHOWKONTROL(1)

Quick Reference

Name#

ShowKontrol R27 reads a PRO DJ LINK network (CDJs, DJM, rekordbox) and TCNet, sends the live data through the Patch, and drives timecode, lighting, video, MIDI, OSC, cues and the players themselves.

Synopsis#

Source ─▶ Device ─▶ [Router] ─▶ Trigger ─▶ Action | Output
  bundle    one deck   one of 8     when         what
  • Right-click the Patch: Add Source · Add Processor · Add Controller · Add Output. A node added from a node is wired to it automatically.
  • Double-click a node to open its editor or interior (Script, Graphic, Group, Device, Router, OSC In).
  • Node title bar: ● bypass (data passes through untouched) · ■ stop (passes nothing) · ▶ fire by hand.

Keyboard & mouse#

  • Wheel over the canvas: zoom (keeps the point under the cursor fixed).
  • Wheel over Live Data: scroll the list.
  • 1–8 with a Router selected: set active input. 1–4 with a Matrix: recall preset.
  • Shift+drag (background): rubber-band select. Shift+click: Toggle selection.
  • Drag a node: Moves just that node (multi-selected nodes move together). Hold Shift while dragging: The node's whole downstream subtree comes along.
  • Delete/Backspace: Remove the selected node(s), downstream nodes stay, wires drop. Shift+Delete: Remove the node(s) AND everything downstream.
  • ⌘N / ⌘O / ⌘S: New / open / save a show (.skshow, the working copy auto-saves too).
  • Ctrl+Esc (anywhere): lock / unlock the machine.
  • Patch view strip (right edge of the node graph): zoom in / out, centre, align-snap (hold ⌘ while dragging to place a node freely).
  • Cue Editor: C = a one-cell cue at the needle (needle to its end); ⌘C / ⌘X / ⌘V act on clips when a lane / clip was clicked last, on cues otherwise; double-click an empty cue-lane cell (zoomed in) = a one-cell cue; drag a cue mark under the ruler = move that cue.

Nodes#

NodeDoes
SourceProDJ Link · TCNet · Timecode Generator · LTC / MTC / Art-Net TC In · Test Generator. Outputs a bundle of all devices.
DeviceOne device out of a bundle, by Device ID. Has an action interior.
Trigger / TimerFires on a data condition / on an interval.
ActionPresses CDJ buttons, writes settings, switches routers, runs app actions.
ScriptJavaScript on the frame.
Router / Matrix8 → 1 / 8 → 4 with 4 presets. Stamps its own name on the data.
DelayFixed ms or a data key (e.g. beat.msToNextBeat).
Countdown / CounterTimers and counts with Start / Stop / Reset pins.
Timecode OffsetShifts timecode ± HH:MM:SS:FF for everything after it.
GroupA nested sub-patch, 4 in / 4 out.
GraphicA drawing surface fed by a Script; output to a screen or NDI.
Data GeneratorClock / random / fixed · Mix Analyzer · Tone Monitor · DMX Input · PSN Receiver.
ControllersMIDI Controller · OSC In · Mackie Control · Stream Deck · Hotkeys · Game Controller · Serial GPI.
OutputsMIDI · MIDI Clock · MTC · LTC · Art-Net · Art-Net TC · sACN · OSC · UDP · HTTP · MSC · CSV Logger · Click · Ref Tone · TCNet · Ableton Link · Ableton Live · Unreal · PSN · MagicQ · ONYX · Titan · grandMA2 · ProPresenter · Resolume · OSD.

Trigger events#

EventFires
On Changethe value changes
On Receiveevery message, even a repeated value (OSC)
State On / State Offwhile the value is on / off
On Increase / On Decreasethe value goes up / down
Equalsthe value equals Value
Timerevery Interval ms, or an interval read from a key

Release Delay = how long the trigger stays active = the tap or note length. Use beat.msToNextBeat for a tap exactly one beat long. Downstream keys: trigger.active trigger.value trigger.fireCount.

Action categories#

CategoryExamples
CDJ Transport / Hot Cues / Loops / Beat JumpPlay, Cue, Hot Cue A–H, Loop, Beat Jump. On Release = Same as action is a real button up.
CDJ SettingsWrite Player Setting (setting.*)
MixerWrite Utility Setting (util.*)
RoutingSet Router Input · Recall Matrix Preset
ApplicationFeedback · Screens · Players · Set List · Automation · System (E-STOP, lock, save, recorder) · Nodes + Outputs

Script#

system.beep = CDJ1.beat.bar;                   // read with bare names
value.x = source.metadata.title;               // source.* = the input as it came in
output.MainRouter.router.active = "Input 2";   // any node, by name
output.FX.node.bypassed = true;                // bypass / stop any node
output.parent.led.play = 1;                    // the node that owns the data
output.child.node.bypassed = true;             // what this script feeds
output.CDJ1.setting.quantize = 1;              // write to the player (enforced)
g.clear("#000"); g.text(8, 20, "Hi", "#fff");  // draw on a Graphic node

Data namespaces#

Every key is prefixed with its owner's name: CDJ1.beat.bar. Trigger, MIDI, OSC, DMX and CSV fields match by suffix. Scripts use the full name.

NamespaceKeys (short)
devicenumber model type ip online kind
metadatatitle artist key bpm durationUS id trackNumber artworkRef
playbackstate positionUS remainUS pitchPercent onAir master
beatbar beatInBar currentBpm trackBpm playSpeed msToNextBeat msToNextBar
phrase / structcurrent next beatsToNext / current next nextInMs
cuecount, cue.<n>.inMs .outMs .color .comment
led / status / settingpanel state / CDJ status / 40+ player settings (writable)
mixer / level / utilmixer.chN.fader … / levels / DJM utility (writable)
trigger action router matrixnode status stamps
countdown counter tcin dmx psn abletonutility and input nodes

Text variables#

$TIME $DATE $BPM $TITLE $ARTIST $KEY $DECK $REMAIN $ELAPSED $TIMECODE $BEAT $PITCH $CUE $NEXTCUE $CUEIN $SECTION $PROGRAM $NEXT $VENUE $STAGE $SHOW $TRACKCOLOR $COUNTDOWN $COUNTDOWNLABEL $COUNTER

Use them in OSD text, UDP messages, Stream Deck text, notifications and stage messages. ${any.key} puts in the live value of any data key, where templates allow it.

Network ports#

PortUsed by
UDP 6454Art-Net, Art-Net TC, DMX Input
UDP 5568sACN (multicast 239.255.x.x)
UDP 56565PSN (multicast 236.10.10.10)
TCP 8090Web viewer + REST API (default)
UDP 8000 / 9000OSC In listen / reply (default)
UDP 47830 · TCP 47831Unreal plugin beacon · data
UDP 47841 / 47842Ableton Live Remote Script
7000 · 7401 · 8000Resolume · disguise · grandMA3 OSC templates
30000 · 4430 · 2323 · 6553grandMA2 Telnet · Titan WebAPI · ONYX Telnet · MagicQ Remote Ethernet

Files#

All under ~/Documents/TC Supply/:

FolderHolds
SESSIONS/<name>/one session: session.skshow, the auto-saved working copy, settings.json, TIMELINE/ (tracks, cue lists, set lists, programme) and MEDIA/
SESSIONS/BACKUPS/a copy of the show before every New / Open (newest 30)
TEMPLATE/MIDI · OSC · MSC · MIDI CONTROLLERtemplates and controller profiles (rename a file to keep your edits)
LOG/CSV Logger output

See also#

Learning Base · Manual · Data Key Reference · What's New

ShowKontrol R27 (27.0.1) · Last update: 2026-10-15 · What's new · © TC Supply LLC