The track database

What it’s for

The track-name suggestions on the main toolbar come from a database you control — so package names stay consistent and you never mistype a venue. The database holds far more than names, though: it’s a reference of every track you review, with codes, location, surface, dimensions and more. Open it with the flag button in the toolbar’s top-right tool cluster.

The window is a filterable list on the left and an edit panel on the right, with a draggable splitter between them. The window remembers its size, position, and splitter placement.

The Track Database: filters and list on the left, the grouped edit panel on the right, and the import/export buttons along the bottom.
The Track Database: filters and list on the left, the grouped edit panel on the right, and the import/export buttons along the bottom.

The fields, group by group

The edit panel is organised into five groups, matching the natural shape of the data.

Identity

Codes

Reference codes used by external systems. All optional.

Track characteristics

Location

Dimensions

All in metres, all optional.

Circumference and Straight show blank when the value is unknown, never 0. A zero in these fields would read as “a track with no length”, which is meaningless, so unknown is shown as empty. (They accept whole metres only — digits, no decimals. Width does allow a decimal.)

Editing

Edits live in memory until you Save; nothing is written to disk until then.

Filtering the list

Above the list are filters that narrow what’s shown (they affect only the view — never what gets exported):

The splitter between the list and the edit panel drags to give either side more room, and its position is remembered.

Import from CSV

Import… merges a CSV file of tracks into the database. The expected format is a header row followed by one track per line, with these columns in order:

Gallop, Harness, Greyhound, track_code, track_name, country, state,
area, surface, rating, rsb_track, file_pfx, way, circumference,
straight, width

Rows that are exact duplicates of a track already in the database (same name and same discipline set) are skipped; rows that don’t parse are counted as failed. After the import the app reports how many were added, skipped and failed — nothing is silently dropped, and nothing is committed until you Save.

Export to Excel

Export to Excel… writes the database to an .xlsx spreadsheet. It exports the entire database — every track, every field — regardless of any filter you have set on the list. (The list filters change only what you’re looking at; they never limit the export.) The column headers are the readable field labels (“Track name”, “Track code”, “Circumference (m)”), so the spreadsheet is easy to read and edit. This is your backup and your bulk-editing tool.

Import from Excel — the round trip

Import from Excel… reads an .xlsx back in. The intended workflow is a round trip:

  1. Export to Excel to get the whole database in a spreadsheet.
  2. Edit in Excel — fix a rating, add dimensions, correct a code, across as many tracks as you like.
  3. Import from Excel to bring the edits back.

The Excel import understands both the readable headers the export writes (“Track name”, “Circumference (m)”) and the raw CSV names (“track_name”, “circumference”), matching them loosely enough that spacing and capitalisation don’t matter — so a spreadsheet from either source imports cleanly. Numbers that Excel has stored as numbers rather than text are handled correctly. After the import it reports which columns it matched, any it didn’t recognise, and any rows that failed.

How merging works (the same for CSV and Excel import): rows are added if they’re new; rows that match a track already in the database (same name and discipline set) are treated as duplicates and skipped. Because of that, the round trip lands cleanly when you import your edited export into a cleared database — the standard “replace the lot” refresh — rather than on top of the existing entries, where every unchanged row would simply be skipped as a duplicate. In short: to apply bulk edits, clear the database first, then Import from Excel; the import re-adds everything, edits included.

Remembered directories

Both Import and Export remember the folder you last used — separately, since importing from one place and exporting to another are different habits — and reopen there next time. If a remembered folder has since gone (an unplugged drive, a deleted folder), the picker falls back to a sensible default rather than failing.