From d3643d3a9a4b1d6df488407e530a5f3c53493e2d Mon Sep 17 00:00:00 2001 From: mrkmntal Date: Thu, 9 Apr 2026 23:10:04 -0400 Subject: [PATCH] Implement severe weather alert tone --- gulp/publish-frontend.mjs | 1 + server/alert/tone.mp3 | Bin 0 -> 87249 bytes server/scripts/modules/hazards.mjs | 4 ++ server/scripts/modules/media.mjs | 94 ++++++++++++++++++++++++++++- 4 files changed, 98 insertions(+), 1 deletion(-) create mode 100644 server/alert/tone.mp3 diff --git a/gulp/publish-frontend.mjs b/gulp/publish-frontend.mjs index f8a9585..b65ec03 100644 --- a/gulp/publish-frontend.mjs +++ b/gulp/publish-frontend.mjs @@ -134,6 +134,7 @@ const compressHtml = async () => src(htmlSources) const otherFiles = [ 'server/robots.txt', 'server/manifest.json', + 'server/alert/**/*.mp3', 'server/music/**/*.mp3', ]; const copyOtherFiles = () => src(otherFiles, { base: 'server/', encoding: false }) diff --git a/server/alert/tone.mp3 b/server/alert/tone.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..05648699df57fb8cebef9674356702df7840599a GIT binary patch literal 87249 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 i{2cwwdqh^!*P$qCm0 literal 0 HcmV?d00001 diff --git a/server/scripts/modules/hazards.mjs b/server/scripts/modules/hazards.mjs index 575f167..2e53998 100644 --- a/server/scripts/modules/hazards.mjs +++ b/server/scripts/modules/hazards.mjs @@ -1,6 +1,7 @@ // hourly forecast list import STATUS from './status.mjs'; +import { setAlertToneActive } from './media.mjs'; import { safeJson } from './utils/fetch.mjs'; import WeatherDisplay from './weatherdisplay.mjs'; import { registerDisplay } from './navigation.mjs'; @@ -57,6 +58,7 @@ class Hazards extends WeatherDisplay { const superResult = super.getData(weatherParameters, refresh); if (!this.weatherParameters?.supportsNoaaAlerts) { this.data = []; + setAlertToneActive(false); this.timing.totalScreens = 0; this.getDataCallback(); this.setStatus(STATUS.loaded); @@ -99,6 +101,7 @@ class Hazards extends WeatherDisplay { this.data = filteredAlerts; } this.alertSignature = getAlertSignature(this.data); + setAlertToneActive(this.data.length > 0); const alertsChanged = previousSignature !== this.alertSignature; if (alertsChanged) { this.viewedAlerts.clear(); @@ -129,6 +132,7 @@ class Hazards extends WeatherDisplay { } } catch (error) { console.error(`Unexpected Active Alerts error: ${error.message}`); + setAlertToneActive(false); if (this.isEnabled) this.setStatus(STATUS.failed); // return undefined to other subscribers this.getDataCallback(undefined); diff --git a/server/scripts/modules/media.mjs b/server/scripts/modules/media.mjs index e06c6b7..abf4155 100644 --- a/server/scripts/modules/media.mjs +++ b/server/scripts/modules/media.mjs @@ -1,13 +1,22 @@ import { text } from './utils/fetch.mjs'; import Setting from './utils/setting.mjs'; import { registerHiddenSetting } from './share.mjs'; +import { withBasePath } from './utils/base-path.mjs'; let playlist; let currentTrack = 0; let player; +let alertTonePlayer; let sliderTimeout = null; let volumeSlider = null; let volumeSliderInput = null; +let alertToneActive = false; +let alertTonePending = false; +let resumeMediaAfterAlertTone = false; +let audioUnlocked = false; +let alertToneTimeout = null; + +const ALERT_TONE_DURATION_MS = 30_000; const mediaPlaying = new Setting('mediaPlaying', { name: 'Media Playing', @@ -33,11 +42,26 @@ document.addEventListener('DOMContentLoaded', () => { // get the playlist getMedia(); + registerAudioUnlockHandlers(); // register the volume setting registerHiddenSetting(mediaVolume.elemId, mediaVolume); }); +const unlockAudio = () => { + if (audioUnlocked) return; + audioUnlocked = true; + if (alertToneActive && alertTonePending) { + startAlertTone(); + } +}; + +const registerAudioUnlockHandlers = () => { + ['pointerdown', 'keydown', 'touchstart'].forEach((eventName) => { + document.addEventListener(eventName, unlockAudio, { passive: true, once: true }); + }); +}; + const scanMusicDirectory = async () => { const parseDirectory = async (path, prefix = '') => { const listing = await text(path); @@ -170,6 +194,7 @@ const startMedia = async () => { if (!player) { initializePlayer(); } else { + if (alertToneActive) return; try { await player.play(); setTrackName(playlist.availableFiles[currentTrack]); @@ -275,6 +300,73 @@ const initializePlayer = () => { volumeSliderInput.value = Math.round(mediaVolume.value * 100); }; +const initializeAlertTonePlayer = () => { + if (alertTonePlayer) return; + alertTonePlayer = new Audio(withBasePath('alert/tone.mp3')); + alertTonePlayer.type = 'audio/mpeg'; + alertTonePlayer.preload = 'auto'; + alertTonePlayer.addEventListener('ended', () => { + if (alertToneActive) { + alertTonePlayer.currentTime = 0; + alertTonePlayer.play().catch((e) => { + console.error('Couldn\'t continue alert tone'); + console.error(e); + }); + } + }); +}; + +const startAlertTone = async () => { + if (!audioUnlocked) { + alertTonePending = true; + return; + } + initializeAlertTonePlayer(); + try { + await alertTonePlayer.play(); + alertTonePending = false; + resumeMediaAfterAlertTone = mediaPlaying.value === true; + if (alertToneTimeout) clearTimeout(alertToneTimeout); + alertToneTimeout = setTimeout(() => { + if (alertToneActive) { + setAlertToneActive(false); + } + }, ALERT_TONE_DURATION_MS); + if (player && !player.paused) { + player.pause(); + } + } catch (e) { + console.error('Couldn\'t play alert tone'); + console.error(e); + } +}; + +const stopAlertTone = () => { + alertTonePending = false; + if (alertToneTimeout) { + clearTimeout(alertToneTimeout); + alertToneTimeout = null; + } + if (alertTonePlayer) { + alertTonePlayer.pause(); + alertTonePlayer.currentTime = 0; + } + if (resumeMediaAfterAlertTone && mediaPlaying.value === true) { + startMedia(); + } + resumeMediaAfterAlertTone = false; +}; + +const setAlertToneActive = (active) => { + if (active === alertToneActive) return; + alertToneActive = active; + if (alertToneActive) { + startAlertTone(); + return; + } + stopAlertTone(); +}; + const playerCanPlay = async () => { // check to make sure they user still wants music (protect against slow loading music) if (!mediaPlaying.value) return; @@ -304,6 +396,6 @@ const setTrackName = (fileName) => { }; export { - // eslint-disable-next-line import/prefer-default-export handleClick, + setAlertToneActive, };