[PR #635] [MERGED] add support for synced lyrics #1760

Closed
opened 2026-03-14 15:31:32 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/aome510/spotify-player/pull/635
Author: @aome510
Created: 12/14/2024
Status: Merged
Merged: 12/14/2024
Merged by: @aome510

Base: masterHead: synced-lyrics


📝 Commits (6)

  • 3b26c9c wip: remove lyric-finder feature and corresponding implementation
  • 1fa0c8f wip: librespot lyrics integration
  • 783b9c7 display lyrics returned from librespot
  • 37a9666 implement synced functionality for lyrics page
  • 93d8444 update docs
  • c33997e handle lyrics not found

📊 Changes

23 files changed (+239 additions, -232 deletions)

View changed files

📝 .dir-locals.el (+1 -1)
📝 .github/workflows/ci.yml (+1 -1)
📝 Cargo.lock (+1 -1)
📝 Dockerfile (+1 -1)
📝 README.md (+58 -71)
📝 docs/config.md (+4 -1)
📝 examples/README.md (+2 -2)
📝 spotify_player/Cargo.toml (+1 -2)
📝 spotify_player/src/cli/handlers.rs (+3 -4)
📝 spotify_player/src/client/handlers.rs (+12 -13)
📝 spotify_player/src/client/mod.rs (+24 -14)
📝 spotify_player/src/client/request.rs (+2 -4)
📝 spotify_player/src/command.rs (+2 -4)
📝 spotify_player/src/config/keymap.rs (+2 -4)
📝 spotify_player/src/config/theme.rs (+10 -0)
📝 spotify_player/src/event/mod.rs (+12 -13)
📝 spotify_player/src/event/page.rs (+11 -41)
📝 spotify_player/src/event/popup.rs (+9 -12)
📝 spotify_player/src/state/data.rs (+3 -6)
📝 spotify_player/src/state/model.rs (+24 -0)

...and 3 more files

📄 Description

Resolves #536
Resolves #521
Resolves #513
Resolves #281
Resolves #155

  • remove lyric_finder feature and the use of lyric_finder crate in spotify_player
  • add librespot_metadata crate and integrate librespot_metadata::Lyrics to get timestamped lyrics
  • add syncing and auto-scrolling support for Lyrics Page
  • other typo fixes and code cleanup

Future work

With timestamped lyrics, the lyrics page can support seeking to a specific line with mouse clicking.

Example

https://github.com/user-attachments/assets/01c3b8de-fa79-4739-a4da-3fe338613cd6


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/aome510/spotify-player/pull/635 **Author:** [@aome510](https://github.com/aome510) **Created:** 12/14/2024 **Status:** ✅ Merged **Merged:** 12/14/2024 **Merged by:** [@aome510](https://github.com/aome510) **Base:** `master` ← **Head:** `synced-lyrics` --- ### 📝 Commits (6) - [`3b26c9c`](https://github.com/aome510/spotify-player/commit/3b26c9c654edf6eafca302741787f259a7008a12) wip: remove lyric-finder feature and corresponding implementation - [`1fa0c8f`](https://github.com/aome510/spotify-player/commit/1fa0c8fc0c6b7e6f6547193f331b5a86612c8d95) wip: librespot lyrics integration - [`783b9c7`](https://github.com/aome510/spotify-player/commit/783b9c7339deefd2545c0200f898c9dc0f23c36f) display lyrics returned from librespot - [`37a9666`](https://github.com/aome510/spotify-player/commit/37a9666f379cb20ebc79405ea07dc25d40458779) implement synced functionality for lyrics page - [`93d8444`](https://github.com/aome510/spotify-player/commit/93d8444d96604db6fde1a2b6a719d3d398a63534) update docs - [`c33997e`](https://github.com/aome510/spotify-player/commit/c33997e4ee0bfc1de072afca3a1f05674d180cb9) handle lyrics not found ### 📊 Changes **23 files changed** (+239 additions, -232 deletions) <details> <summary>View changed files</summary> 📝 `.dir-locals.el` (+1 -1) 📝 `.github/workflows/ci.yml` (+1 -1) 📝 `Cargo.lock` (+1 -1) 📝 `Dockerfile` (+1 -1) 📝 `README.md` (+58 -71) 📝 `docs/config.md` (+4 -1) 📝 `examples/README.md` (+2 -2) 📝 `spotify_player/Cargo.toml` (+1 -2) 📝 `spotify_player/src/cli/handlers.rs` (+3 -4) 📝 `spotify_player/src/client/handlers.rs` (+12 -13) 📝 `spotify_player/src/client/mod.rs` (+24 -14) 📝 `spotify_player/src/client/request.rs` (+2 -4) 📝 `spotify_player/src/command.rs` (+2 -4) 📝 `spotify_player/src/config/keymap.rs` (+2 -4) 📝 `spotify_player/src/config/theme.rs` (+10 -0) 📝 `spotify_player/src/event/mod.rs` (+12 -13) 📝 `spotify_player/src/event/page.rs` (+11 -41) 📝 `spotify_player/src/event/popup.rs` (+9 -12) 📝 `spotify_player/src/state/data.rs` (+3 -6) 📝 `spotify_player/src/state/model.rs` (+24 -0) _...and 3 more files_ </details> ### 📄 Description Resolves #536 Resolves #521 Resolves #513 Resolves #281 Resolves #155 - remove `lyric_finder` feature and the use of `lyric_finder` crate in `spotify_player` - add `librespot_metadata` crate and integrate [`librespot_metadata::Lyrics`](https://docs.rs/librespot-metadata/latest/librespot_metadata/lyrics/struct.Lyrics.html) to get timestamped lyrics - add syncing and auto-scrolling support for Lyrics Page - other typo fixes and code cleanup ## Future work With timestamped lyrics, the lyrics page can support seeking to a specific line with mouse clicking. ## Example https://github.com/user-attachments/assets/01c3b8de-fa79-4739-a4da-3fe338613cd6 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-14 15:31:32 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/spotify-player#1760
No description provided.