[PR #78] [MERGED] feat: embed lyrics in file #180

Closed
opened 2026-02-27 19:26:40 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/Lambada10/SongSync/pull/78
Author: @BobbyESP
Created: 8/12/2024
Status: Merged
Merged: 9/1/2024
Merged by: @Lambada10

Base: masterHead: master


📝 Commits (6)

  • e234f3a feat: embed lyrics in file
  • 57a22ae fix: preserve existing metadata when saving lyrics
  • 46a5e1a feat: add embed lyrics in file button
  • bf18bef Fix formatting and optimize imports
  • abc4a29 update .idea folder files to Java 21
  • 2dfbbed fix: handle embedding lyrics into non-local songs

📊 Changes

17 files changed (+311 additions, -56 deletions)

View changed files

📝 .idea/compiler.xml (+1 -1)
📝 .idea/inspectionProfiles/Project_Default.xml (+24 -0)
📝 .idea/misc.xml (+2 -1)
📝 app/build.gradle.kts (+1 -0)
📝 app/src/main/java/pl/lambada/songsync/MainActivity.kt (+14 -6)
📝 app/src/main/java/pl/lambada/songsync/data/MainViewModel.kt (+102 -3)
📝 app/src/main/java/pl/lambada/songsync/data/remote/lyrics_providers/others/AppleAPI.kt (+4 -1)
📝 app/src/main/java/pl/lambada/songsync/data/remote/lyrics_providers/others/NeteaseAPI.kt (+0 -3)
📝 app/src/main/java/pl/lambada/songsync/ui/Navigator.kt (+1 -1)
📝 app/src/main/java/pl/lambada/songsync/ui/components/CommonTexts.kt (+17 -5)
📝 app/src/main/java/pl/lambada/songsync/ui/components/SwitchItem.kt (+3 -2)
📝 app/src/main/java/pl/lambada/songsync/ui/screens/AboutScreen.kt (+14 -6)
📝 app/src/main/java/pl/lambada/songsync/ui/screens/HomeScreen.kt (+54 -9)
📝 app/src/main/java/pl/lambada/songsync/ui/screens/SearchScreen.kt (+66 -18)
📝 app/src/main/res/values/strings.xml (+3 -0)
📝 gradle/libs.versions.toml (+3 -0)
📝 settings.gradle.kts (+2 -0)

📄 Description

This PR adds the ability to embed lyrics directly into audio files. It includes:

  • Adding TagLib dependency for metadata manipulation .
  • Implementing embedLyricsInFile function in MainViewModel to handle embedding.
  • Adding a toggle in settings to enable/disable embedding.
  • Updating lyrics saving logic to use embedding when enabled.
  • Handling potential SecurityException during embedding on Android Q+.

🔄 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/Lambada10/SongSync/pull/78 **Author:** [@BobbyESP](https://github.com/BobbyESP) **Created:** 8/12/2024 **Status:** ✅ Merged **Merged:** 9/1/2024 **Merged by:** [@Lambada10](https://github.com/Lambada10) **Base:** `master` ← **Head:** `master` --- ### 📝 Commits (6) - [`e234f3a`](https://github.com/Lambada10/SongSync/commit/e234f3a46c1b1ea7257ca44bf38a545d70aa3ef5) feat: embed lyrics in file - [`57a22ae`](https://github.com/Lambada10/SongSync/commit/57a22ae0e7c40120b3d20b119515d0c308d22797) fix: preserve existing metadata when saving lyrics - [`46a5e1a`](https://github.com/Lambada10/SongSync/commit/46a5e1af02e1b02efacf5441355409f6324904e8) feat: add embed lyrics in file button - [`bf18bef`](https://github.com/Lambada10/SongSync/commit/bf18bef87e8ec116b705618c912f90a1c65f9772) Fix formatting and optimize imports - [`abc4a29`](https://github.com/Lambada10/SongSync/commit/abc4a29c8e4fc38998c4bb6f0e308a3af27dfe56) update `.idea` folder files to Java 21 - [`2dfbbed`](https://github.com/Lambada10/SongSync/commit/2dfbbedc1142d6cfe63776af6f07dba638c10a49) fix: handle embedding lyrics into non-local songs ### 📊 Changes **17 files changed** (+311 additions, -56 deletions) <details> <summary>View changed files</summary> 📝 `.idea/compiler.xml` (+1 -1) 📝 `.idea/inspectionProfiles/Project_Default.xml` (+24 -0) 📝 `.idea/misc.xml` (+2 -1) 📝 `app/build.gradle.kts` (+1 -0) 📝 `app/src/main/java/pl/lambada/songsync/MainActivity.kt` (+14 -6) 📝 `app/src/main/java/pl/lambada/songsync/data/MainViewModel.kt` (+102 -3) 📝 `app/src/main/java/pl/lambada/songsync/data/remote/lyrics_providers/others/AppleAPI.kt` (+4 -1) 📝 `app/src/main/java/pl/lambada/songsync/data/remote/lyrics_providers/others/NeteaseAPI.kt` (+0 -3) 📝 `app/src/main/java/pl/lambada/songsync/ui/Navigator.kt` (+1 -1) 📝 `app/src/main/java/pl/lambada/songsync/ui/components/CommonTexts.kt` (+17 -5) 📝 `app/src/main/java/pl/lambada/songsync/ui/components/SwitchItem.kt` (+3 -2) 📝 `app/src/main/java/pl/lambada/songsync/ui/screens/AboutScreen.kt` (+14 -6) 📝 `app/src/main/java/pl/lambada/songsync/ui/screens/HomeScreen.kt` (+54 -9) 📝 `app/src/main/java/pl/lambada/songsync/ui/screens/SearchScreen.kt` (+66 -18) 📝 `app/src/main/res/values/strings.xml` (+3 -0) 📝 `gradle/libs.versions.toml` (+3 -0) 📝 `settings.gradle.kts` (+2 -0) </details> ### 📄 Description This PR adds the ability to embed lyrics directly into audio files. It includes: - Adding TagLib dependency for metadata manipulation . - Implementing `embedLyricsInFile` function in `MainViewModel` to handle embedding. - Adding a toggle in settings to enable/disable embedding. - Updating lyrics saving logic to use embedding when enabled. - Handling potential `SecurityException` during embedding on Android Q+. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 19:26:40 +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/SongSync#180
No description provided.