v0.4.0
Install with pitradio-setup-0.4.0.exe.
Changes since v0.3.0
- Actually install the PyAV stand-in in the self-test (f4c3d11)
- Let the PyAV stand-in actually stand in (42091f7)
- Let the suite run where it cannot build or draw (44ee91c)
- Put Pillow in the dev requirements (9d71f99)
- Pin ruff, and fix everything the newer one found (3893e60)
- Draw the line where the car was, and tell me what broke (413f7c0)
- Say what the car did, not what it is called (01814bb)
- Let the braking run walk down with the pedal (be63b5c)
- Say when the fronts are cold, instead of saying slow down (4363ee5)
- Apply the theme when it is chosen, not at the next start (b61026a)
- Read every car's pedals, and show where the reference coasted (cd278cb)
- Let a notification go rather than talk over the coach (f938ee5)
- Owe the next note to the release, not to the tyres recovering (90f9162)
- Keep a corner's tile instead of drawing it again every time (bcf579d)
- Time the queue's frames, so the stutter can be diagnosed (61611fe)
- Keep the road off samples whose halves came from different instants (80fbd6c)
- Sort the test imports (9f42e1e)
- Read the brake bias, and blame it when it is the culprit (95020e9)
- Drop a redundant int() the linter spotted (ad63a4b)
- Measure the line smoothing in metres, not in samples (250c661)
- Merge the player's telemetry in rather than passing it twice (686e123)
- Split the tick: sample at 50Hz, do everything else at 10 (2dc0822)
- Take the player's position from the block that actually moves (dbeda5e)
- Draw the lines as hairlines, not as ropes (236b248)
- Let the coach's live calls be turned off on their own (db90b26)
- Put the coach's name on the coach's words (c920168)
- Stop a test disappearing because another took its name (a07fc0a)
- Give the brake trainer a setting, and a volume of its own (f81d432)
- Record the five new lines in both voice packs (4ace8a6)
- Sort the imports the brake trainer added (c6b8374)
- Wire the brake trainer up: commands, notes, and a loop fast enough to be musical (a27e38d)
- Hear the release: a trail-braking trainer, and a cue that no longer blocks (16eedca)
- Say the spin, and name the downshift that caused it (c0579b1)
- Coach the racecraft the reading describes, and let Whisper hear the names (546bf2a)
- Answer the coaching question in the coach's voice too (2d5eed6)
- Coach's voice for the coach's words, a real acknowledgement, and cached cards (5a80ce5)
- Place Imola's segments against its own road (a33134d)
- Say which segment, and give the coach the voice it was told to use (3c35da9)
- Put the engineer ahead of the coach in the queue (2d59b87)
- A coach that can be silent, and the driver ahead of both of them (08ddd75)
- Separate the coach from the engineer (c6c2451)
- A driver level for the coach, and stop blaming a perfect exit (0e1cda3)
- Find Imola, and stop calling a corner by its own number (bf1fa7e)
- Bring the docs up to the app, and take the screenshots again (5056213)
- Take the slab away and leave the cards floating (27c492a)
- Segment diagram, voice in Settings, and a colour key for the panel (3e5ad39)
- Put each corner on its own card, and draw the movement properly (9c58bdb)
- Slow Claudia down and give her some low end (8b30029)
- Hold the coach in the pit lane, and ask for frames Windows can give (7ab7cab)
- Make the queue move smoothly, and say understeer and oversteer (6a9e358)
- Run the queue the way the direction says, and enter at the enter place (77c3451)
- Three fixed places, and the queue direction that decides which end is which (2c53ad4)
- Fix the panel not appearing, and drop PyAV from the build (f6489f6)
- Fix the queue: it was painting nothing, and drop the wrong setting (c55b36f)
- Three squares, and a queue that moves rather than cuts (04eb241)
- Place the whole queue in the preview, not one corner (f215ef2)
- Put the diagram settings in reading order (cb75b77)
- Split the public repo into a distribution repo, and go proprietary (140764c)
- Stop clearing the queue on the approach to the next corner (1abe025)
- Start a diagram's clock when the coach stops talking, not when it starts (e9de0f5)
- A coaching queue, and a coach that reads the inputs (a123b2f)
- Regenerate Norman, and bundle a second voice (64320c8)
- Catalogue every circuit's segments, straights included (e385ba3)
- Restart the app from a script, not from a one-liner (515bff8)
- Learn the road from every lap, and coach from the driver's own inputs (56e64b9)
- Print the corners actually found, so a catalogue can be written to match (b54a5ca)
- Run a car along the line, turned the way it was pointing (ffdbc40)
- Mark where the slowing stops and the gaining begins (f443694)
- Work the other drivers' pedals out from their speed (df92bc6)
- Draw the pedals on the line, and give the panel a place to live (52fa1ca)
- Record where a car was, and work out two lines through a corner (f4bb7a1)
Before you install
Windows will show a SmartScreen warning: these builds are not
code-signed, so Windows has no publisher to attribute them to. Choose
More info → Run anyway. Some antivirus products flag it too — the
app installs a global keyboard hook and synthesises keystrokes, which
is a keylogger's behavioural signature and also exactly what
push-to-talk dictation requires.
Everything runs locally. The only network access is the one-time
speech model download and the update check. Verify your download
against SHA256SUMS if you'd rather not take that on trust.
PitRadio needs to run as administrator: if a sim runs elevated and
PitRadio doesn't, Windows silently discards every keystroke it sends.
The installer sets this up for you.