Skip to content

Sound visualizer#54

Open
adyz wants to merge 2 commits into
masterfrom
sound-visualizer
Open

Sound visualizer#54
adyz wants to merge 2 commits into
masterfrom
sound-visualizer

Conversation

@adyz

@adyz adyz commented Jul 7, 2026

Copy link
Copy Markdown
Owner

No description provided.

adyz and others added 2 commits July 7, 2026 19:13
Five iOS-lockscreen-style bars under the poster that move on whatever the
app actually emits: the radio stream, the loading tone or the error tone.

- The signal is tapped via captureStream() + AnalyserNode: unlike the
  reverted createMediaElementSource approach (69a58f2), playback is NOT
  rerouted through the AudioContext, so the iOS media session and
  background playback stay untouched.
- All three <audio> elements feed one analyser; per-band peak
  normalization (AGC) keeps loudness-compressed radio moving on the beat.
- The state machine stays the source of truth: applyFx drives data-viz
  through the new setVisualizer dep (vizModeFor classifier).
- Declarative CSS fallback animation when no signal is readable:
  Safari/iOS + Firefox (no captureStream), data-no-cors stations,
  AudioContext not yet unlocked, reduced motion.
- Streams now load with crossorigin=anonymous (all stations send CORS,
  verified) except National FM, marked data-no-cors — it plays opaque.
- e2e: stream mocks now send CORS headers; user-level visualizer tests
  (bars still in silence, moving whenever something is audible).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
More frequency resolution so the motion visibly tracks the music: one
log-spaced band per bar (computed, at least one bin each), bars generated
by visualizer.ts instead of hand-written spans. The strip now spans the
full main card width between the logo and the poster; the CSS fallback
rhythm patterns repeat across the row via :nth-child(5n+k).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Jul 7, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
radio Ready Ready Preview, Comment Jul 7, 2026 4:25pm

@github-actions

github-actions Bot commented Jul 7, 2026

Copy link
Copy Markdown

CI Summary

Check Status Result
Typecheck PASS tsc --noEmit clean
Unit tests PASS 78/78 passed; Coverage: Lines 100%, Branches 96.51%, Functions 97.22%, Statements 100%
Build PASS Build completed
Playwright browser PASS Chromium installed
E2E tests PASS 40/40 passed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant