itsrubberduck 22f50aa403 feat(atis): clock-locked ATIS loop tied to tuned frequency
Real ATIS broadcasts run continuously; tuning in mid-broadcast should
drop the pilot into the current spoken position, then loop. The frontend
now generates the full announcement once via TTS, plays it as a looping
HTMLAudioElement, and seeks to ((Date.now() - lastUpdated) / duration)
on metadata-load so all clients tuned to the same ATIS hear it phase-
synced. The loop starts/stops automatically with frequency tuning and
restarts on info-letter change. say.post.ts now caches tag=atis like
tag=flightlab to avoid re-synthesizing identical announcements.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-27 14:43:48 +02:00
2026-02-20 23:47:48 +01:00
2026-04-25 20:29:09 +02:00
2026-02-17 18:19:55 +01:00
2025-09-19 16:42:20 +02:00
2026-02-13 14:18:29 +01:00
2025-09-20 22:48:04 +02:00
2026-02-13 08:50:02 +01:00
2025-09-14 21:09:47 +02:00
Description
No description provided
53 MiB
Languages
TypeScript 67.3%
Vue 31.8%
CSS 0.6%
JavaScript 0.3%