Skip to content

Land lyrics romanization (#23) - #24

Merged
neur0map merged 6 commits into
mainfrom
integrate1105
Nov 5, 2026
Merged

neur0map merged 6 commits into
mainfrom
integrate1105

Conversation

@neur0map

@neur0map neur0map commented Nov 5, 2026

Copy link
Copy Markdown
Member

Lands #23 with one fix on top so a lyrics refresh that arrives while the first load is still running isn't dropped.

Closes nothing on its own, #22 is a Spotify side refusal with no librespot fix yet.

PeekMusic and others added 6 commits November 3, 2026 17:49
…jabi lines

An opt-in setting (lyrics_romanize, off by default) shows a Latin reading under each
lyrics line, between the line and its translation, in the QML client and the Svelte UI.

- crates/core/src/romanize.rs: script detected once per song; Korean (Revised
  Romanization), Cyrillic (7 languages), Devanagari and Gurmukhi are rule/table based,
  Chinese uses the pinyin crate (plain table only). Japanese songs are left alone so
  kanji-only lines never get pinyin.
- Applied in get_lyrics on the daemon and the Tauri host only: the lyrics cache and
  downloaded .lrc files stay untouched, and old cache entries still parse.
- Ported from PeekMusic (Metrolist fork, GPL-3.0) with fixes: merged Korean
  final/initial pairs, Hindi inherent vowel and schwa deletion, Russian -ого.

Release ryotunesd grows by 302 KiB (+1.0 %).
Flipping lyrics_romanize now emits a one-shot lyrics-changed event from the daemon and
the Tauri host. Open lyrics views (sidebar, Now Playing, mini player) refetch the
current track from the cache and swap the lines in place: no loading state, the offset
is kept, and the view lands back on the active line before the frame is drawn. A
hidden view refetches when it is shown again, and a fetch already in flight is
followed by one more.
The reading takes the line's state colour a step softer and drops the plain line's
trailing leading; songs with readings get more space between line pairs.
@neur0map
neur0map merged commit 5844e0c into main Nov 5, 2026
5 checks passed
@neur0map
neur0map deleted the integrate1105 branch November 5, 2026 06:59
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.

2 participants