Add configurable manifest-driven race audio system
This commit is contained in:
14
README.md
14
README.md
@@ -534,3 +534,17 @@ Example message:
|
||||
"loop_id": "55"
|
||||
}
|
||||
```
|
||||
|
||||
## Race audio and start lights
|
||||
|
||||
The repository includes `rc-race-sound-pack/`. `sound_manifest.json` is the source of truth for event-to-WAV and Swedish/English announcement mappings. The server exposes it at `/race-sounds/sound_manifest.json`; WAV files are served from `/race-sounds/sounds/effects/`.
|
||||
|
||||
1. Open `Settings -> Race sounds and announcements`.
|
||||
2. Select `sv` or `en`, then set master, effects, voice, and passing volume.
|
||||
3. Enable or disable effect and voice independently for each event and use its Test button.
|
||||
4. Select a 0/10/30/60-second pre-start, start lights, and random delay limits. For timed race sessions the clock starts at the same callback that initiates the start tone. Open/Free Practice starts immediately.
|
||||
5. Use the Race Control buttons in `Timing` for Track call, Track clear, Red flag, False start, and Marshal warning.
|
||||
|
||||
Effects are asynchronous and never awaited by decoder processing. Critical speech interrupts lower-priority speech; short passing effects may overlap. Missing WAV files are ignored safely. A driver or car may select `pass_01.wav` through `pass_08.wav`; until those optional files exist under `rc-race-sound-pack/sounds/effects/`, playback falls back to `transponder_pass.wav`.
|
||||
|
||||
Implemented automatic hooks include passings, personal/meeting best, fastest lap, historical class track record, leader and position changes, pit entry/exit, 60/30/10 seconds remaining, final lap/time expired, finish, winner, and podium. Penalty announcements reuse the existing judging correction action.
|
||||
|
||||
Reference in New Issue
Block a user