Skip to content

Ambient Now-Playing — video ambient glow + synced-lyrics music screen #44

Description

@HamadTheIronside

Convert invisible server data into emotion. Two features sharing one palette engine.

Sub-features

  • Synced lyrics (strongest quick win). audioItemIdLyricsGet / LyricDto already exist in generated code and are rendered nowhere. LyricLine.start ticks + word-level cues enable karaoke-style highlighting. Extends audio_player_full_screen.dart, which already has the palette engine. A full animated-art, timed-lyrics, Plexamp-class now-playing music screen.
  • Ambient glow. Palette-driven letterbox bleed behind video, sharing the same palette engine as lyrics.

Why it's worth it

Synced lyrics is a pure gap-closer with the API already present — very cheap for the delight. Ambient glow is flagship-adjacent polish.

Scope

L combined; synced lyrics alone is S–M (endpoint + model already generated).

Honest limitations

Ambient glow is libmpv-only: takeScreenshot is too heavy to poll and returns null on ExoPlayer/web. Gate it behind the BasePlayer capability matrix.

Definition of done

Unit tests for lyric-line timing/selection; widget test for the lyrics view; flutter analyze lib/ clean; dart format --line-length 120.

Source: product-vision analysis (2026-07). Part of the Driftfin 10x tracking issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions