OpenTTM

Documentation › Reference

The score display

The score display puts the running scores on screens at the rings. It is a small program that reads the trial database and serves the scores over the club’s network, so the screens themselves are browser windows and need nothing installed on them — a laptop, a spare PC, a tablet propped on a table.

One machine runs the display. Everything else just opens a web address.

Item

Menu

Score Display

Tools

Score Display Demo…

Tools

Both are in AKC and CKC Agility only.

Note

The display shows the trial you have chosen on the Events menu, and it re-reads that choice as it runs — so switching trials moves the display too. You do not restart it.

Starting it

Choose Tools –> Score Display. The program starts the display, waits for it to come up, and opens it in a browser on this machine. A small console window stays minimised on the task bar; leave it alone.

If the display is already running you are asked whether to open it in a browser or stop it.

To stop it: Tools –> Score Display, then answer No.

Putting it on the ring screens

The page lists its own addresses. A Screens strip appears the first time a browser opens the page, and the Screens button brings it back.

On each ring screen, open a browser and type one of the addresses shown:

http://192.168.1.40:8080/

Any machine on the same network can open it. Nothing is installed and nothing is configured on the ring screens.

Note

Windows will ask about the firewall the first time. Say yes. The rule Windows creates covers private networks only — if the venue’s network is classified as Public, the ring screens will not be able to connect and the page simply never loads, which looks nothing like a firewall problem. Set the network to Private, or add the rule by hand, before the trial starts.

The port

The display listens on port 8080 unless told otherwise. That only needs changing if something else on the machine already uses 8080, or if two computers on one trial network each run a display.

There is no screen for it. It is a per-machine setting in the registry, under:

HKCU\Software\VB and VBA Program Settings\OpenTTM\ScoreDisplay
    Port = 8080

It is per machine on purpose: Tools –> Options is stored in the trial database and is shared by every computer using it, which is the wrong place for something about this computer.

Choosing what each panel shows

Out of the box the display shows one panel holding the two most recently scored classes. That suits a small trial and needs no setting up at all.

To show something else — three panels, one per ring, or a screen dedicated to FAST — put a file named display-config.txt in the trial’s own folder.

Where the file goes

The trial’s folder is the one the program last saved that trial’s files into: the judge’s packet, an export, a scribe sheet colour scheme. Save any of those once and the folder is remembered for that event.

The display looks in three places, in order:

  1. a layout named on the command line, which always wins;

  2. display-config.txt in this trial’s folder;

  3. the built-in default.

Keeping the layout in the trial’s folder means it travels with the trial, beside the judge packets and the AKC file, rather than belonging to whichever computer you happened to use. A trial that runs different rings next year gets a different layout without disturbing this one.

Changing the layout during the day

You do not have to stop the display. Copy a different layout into the trial’s folder as display-config.txt and the screens change within a couple of seconds — including the first time, when there was no layout file at all and the display was using its built-in default.

If the file has a mistake in it, the screens keep showing what they were showing. The console window says so, once, naming the line it could not read; fix the file and it is picked up on the next check. Nothing goes blank while you work out what was wrong, which is the whole point — these screens are usually beside a ring with nobody watching them.

What goes in it

A plain text file. Blank lines and lines starting with # are ignored. Each window line starts a panel; the lines after it describe that panel.

Line

Means

window <title>

start a panel with this heading

rings <n>

show this many classes at once — the n most recently scored. Default 2

class <pattern>

which classes belong in this panel. Repeatable

ring <n>

only runs in this ring number. Repeatable. Only works if the trial assigns ring numbers

columns <n>

how many classes sit side by side. Leave it out for one row; 1 stacks them

order recent

put the newest activity first. The default, order name, keeps each class in a fixed place

groupas <label> = <pattern>

show several classes in one pane under one heading

rect and display are accepted and ignored — they positioned windows in the old version, and the browser does that now.

Examples

Two panels, the higher levels above the lower:

window Master and Excellent
rings 2
class Master.*Standard
class Master.*Weaves

window Open and Novice
rings 4
class Open.*
class Novice.*

One tall panel for a portrait screen, three classes stacked:

window Latest classes
rings 3
columns 1
class .*

A FAST screen, with every level of FAST shown together in one pane:

window FAST
rings 1
columns 1
class FAST
groupas FAST (all levels) = FAST

What the patterns match

A class or groupas pattern is matched against the class name, and case does not matter. You can write either the full name or the abbreviation everyone actually says:

Write

or

Fifteen and Send Time

FAST

Time 2 Beat

T2B

Jumpers With Weaves

JWW

Levels are matched too. Excellent and Master count as one level group, spelled Master/Excellent, so class Master.* picks up both.

Note

Preferred carries a -P. Preferred is a division rather than a level, so MAS on its own means Master in both Regular and Preferred. Use MAS-P FAST to single out the Preferred half, and plain MAS FAST when you want both.

A pattern is a regular expression, so . matches any character and .* matches anything at all. class .* means every class.

Adjusting the screen itself

Text size, “recent first” and full screen are in the top bar of the page, and the size you choose is remembered by that browser. Everything in the bar can also be set in the address, which is how a ring screen comes up right with nobody touching it:

Add to the address

Does

?scale=2.2

text size, from 0.6 to 2.5

?bar=0

hide the top bar entirely

?panel=1

show only the first panel, for a second monitor

?poll=5000

how often to check for new scores, in milliseconds

?hold=30000

how long a pane waits after somebody scrolls it

?follow=0

stop the page scrolling by itself

Combine them with &:

http://scoring-pc:8080/?scale=2.2&bar=0

For a screen that does nothing else, a browser in kiosk mode fills it completely:

msedge.exe --kiosk "http://scoring-pc:8080/?scale=2.2&bar=0" --edge-kiosk-type=fullscreen

A 16:9 monitor turned on its side takes three stacked panes at about 220%, giving roughly seven rows each.

Note

The top bar deliberately does not grow with the text size. Scaling it too pushed the club name off a 1080-wide screen and ran the controls over the date.

Trying it without a trial on

Tools –> Score Display Demo… replays a day that has already been scored, as though it were happening now. It is how you position a screen, check a layout and set the text size on a Tuesday.

It replays the busiest day of the trial you have chosen on the Events menu, so pick a past trial first. You are told which day before anything starts.

Nothing is written. The day is read once and then revealed a run at a time from memory, so the demo is safe to point at real data. It runs at about one score every second and a half, starting half full, and loops when it fills.

While the demo is running the display does not follow the Events menu. Stop it, and start it again normally, when the trial begins.

When something is wrong

What you see

What it is

“The scoring display did not start”

The last few lines of its own log are shown underneath. That message is the one to read

It says no trial is running today

Nothing is locked in for today’s date. Choose the trial from the Events menu

The ring screens cannot open the page

Almost always the firewall, and a network classified Public. See above

A class is missing from a panel

Its name does not match any class line. Try class .* to prove the layout is otherwise sound

The layout changed nothing

The file has to be named exactly display-config.txt and be in the folder the program remembers for this event. The console window names the file it actually read, and says “built-in default” when it found none

A layout copied in while running did nothing

The console window says layout re-read when it picks a change up, and keeping the layout already on screen with the line it could not read when the new file has a mistake in it. Neither line means it never looked at the file — check it is the file named as being watched at startup

A line in the file did nothing

The console prints ignoring unrecognised directive with the line number. Usually a typo; occasionally an older copy of the display that does not know a newer setting

A layout with a mistake in it stops the display at startup, naming the file, the line and the problem — better than starting with a layout nobody asked for. If the trial is switched while it is running and the new trial’s layout is broken, it keeps the layout on screen instead and says why: losing the display in front of a ring is worse.