Home

dev / openkara

publicthedavidweng/OpenKara· sync paused
Overview Code History Branches Pull requestsIssuesInsights
main
HomeOverview Code PRsIssues

#550 AirPlay receiver lyrics screen lacks the Monitor display output's effects

open

Opened by dev · 3 weeks ago

devopened this issueAuthor· 3 weeks ago

Problem

The lyrics screen on an AirPlay receiver is much plainer than the "Monitor display output" view. It has no effects.

Why they differ

  • AirPlay: src-tauri/src/macos/airplay_bridge.m draws the scene natively. It lays out static text with CoreText into pixel buffers, which are encoded to HLS. The scene is fed by audience-projector.ts and audience-presentation.ts.
  • Monitor output: openFullscreenPlayer in src/lib/fullscreen-player.ts opens a Tauri window at index.html?mode=fullscreen-player. That window renders the normal React lyrics components with all their effects.

Options

  1. Reuse the web renderer. Render the fullscreen-player webview offscreen and capture its frames into the HLS encoder, for example with WKWebView snapshots or ScreenCaptureKit.
    • Gives full parity with Monitor output.
    • Needs a hidden webview kept alive and in sync, plus a continuous capture loop.
    • Adds latency and CPU cost.
  2. Extend the native renderer. Add the effects that matter most (karaoke word fill, active-line emphasis, transitions), driven by presentationSpec.
    • Cheaper.
    • The two renderers stay separate implementations.

Pick an option before implementing.

Sign in to comment.

Linked pull requests

No linked pull requests yet.