feat(audio): passing tone only during races and remove legacy audio
Adds 'Calls during a race' (default: passing tone only, like timing systems) that drops name/personal best/leader/position calls in race sessions; practice keeps them. Removes the legacy audio panel and fallbacks, including its 'Sound on' switch that silently muted every race-audio voice. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -566,7 +566,7 @@ Type:
|
||||
- local voice playback and its settings panel
|
||||
|
||||
Owns:
|
||||
- `piper_speech.js`: `speakWithPiper` fetches the server's WAV and plays it; on any error or after 2.5 s it calls the browser-voice fallback instead. `speakTextHelper` (`runtime_services.js`) routes through it when `settings.ttsEngine === "piper"`, so legacy speaker cues and the race-audio engine both use it
|
||||
- `piper_speech.js`: `speakWithPiper` fetches the server's WAV and plays it; on any error or after 2.5 s it calls the browser-voice fallback instead. `speakTextHelper` (`runtime_services.js`) routes through it when `settings.ttsEngine === "piper"`, so every race-audio voice uses it
|
||||
- `tts_settings_view.js`: the "Voice engine" panel in Settings -> Audio (engine choice, sv/en install status, install / pre-generate / test buttons)
|
||||
|
||||
### `src/track_layout_bar.js`
|
||||
@@ -2800,7 +2800,7 @@ The service is constructed in `src/app.js`. `src/app.js` is the composition root
|
||||
- `rc-race-sound-pack/sound_manifest.json`: event-to-effect mapping, `sv`/`en` templates, runtime defaults, optional passing pool names.
|
||||
- `server.js`: read-only `/race-sounds` static route. JSON is `no-store`; WAV files may be cached for one day.
|
||||
- `src/decoder_runtime.js`: emits audio metadata only after existing validation/result mutation. Split timing never emits a lap; pit roles emit `entering_pits`/`leaving_pits` without adding laps.
|
||||
- `src/runtime_services.js`: legacy audio fallback, Web Speech adapter, persisted-state hydration, and one-shot 60/30/10/time-expired/final-lap markers.
|
||||
- `src/runtime_services.js`: Web Speech adapter, persisted-state hydration, and one-shot 60/30/10/time-expired/final-lap markers.
|
||||
- `src/timing_views.js`: visual start lights and manual race-control cues. It retains the authoritative client-side start callback.
|
||||
- `src/settings.js`: persistent volume/language/start configuration and per-event effect/voice matrix.
|
||||
- `src/core_views.js`: optional `passSound` on driver and car records.
|
||||
|
||||
Reference in New Issue
Block a user