summaryrefslogtreecommitdiff
path: root/tidal_dl_ng/download.py
diff options
context:
space:
mode:
authorRobert Honz <exislow+github@gmail.com>2025-10-17 14:41:23 +0200
committerRobert Honz <exislow+github@gmail.com>2025-10-17 14:41:23 +0200
commit676569e511ce47159f4e854bef0731e21ca9f9dd (patch)
treea488ce9046f3d39072864e96af9e61d3a334befe /tidal_dl_ng/download.py
parentf150b6ef6a78973453e4ad5b4587a2938ba09e39 (diff)
downloadtidal-dl-ng-676569e511ce47159f4e854bef0731e21ca9f9dd.tar.gz
feat(metadata): ✨ add support for synced and unsynced lyrics
* Introduced `lyrics_synced` and `lyrics_unsynced` fields in the `Metadata` class. * Updated the `Download` class to handle both synced and unsynced lyrics from the track. * Enhanced metadata writing to include `UNSYNCEDLYRICS` in the tags.
Diffstat (limited to 'tidal_dl_ng/download.py')
-rw-r--r--tidal_dl_ng/download.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/tidal_dl_ng/download.py b/tidal_dl_ng/download.py
index bfc33d7..7ad9612 100644
--- a/tidal_dl_ng/download.py
+++ b/tidal_dl_ng/download.py
@@ -1183,6 +1183,8 @@ class Download:
copy_right: str = track.copyright if hasattr(track, "copyright") and track.copyright else ""
isrc: str = track.isrc if hasattr(track, "isrc") and track.isrc else ""
lyrics: str = ""
+ lyrics_synced: str = ""
+ lyrics_unsynced: str = ""
cover_data: bytes = None
if self.settings.data.lyrics_embed or self.settings.data.lyrics_file:
@@ -1190,10 +1192,12 @@ class Download:
try:
lyrics_obj = track.lyrics()
+ if lyrics_obj.text:
+ lyrics_unsynced = lyrics_obj.text
+ lyrics = lyrics_unsynced
if lyrics_obj.subtitles:
- lyrics = lyrics_obj.subtitles
- elif lyrics_obj.text:
- lyrics = lyrics_obj.text
+ lyrics_synced = lyrics_obj.subtitles
+ lyrics = lyrics_synced
except:
lyrics = ""
# TODO: Implement proper logging.
@@ -1227,7 +1231,8 @@ class Download:
m: Metadata = Metadata(
path_file=path_media,
target_upc=target_upc,
- lyrics=lyrics,
+ lyrics=lyrics_synced,
+ lyrics_unsynced=lyrics_unsynced,
copy_right=copy_right,
title=name_builder_title(track),
artists=name_builder_artist(track, delimiter=self.settings.data.metadata_delimiter_artist),