diff options
| author | Robert Honz <exislow+github@gmail.com> | 2025-10-17 14:41:23 +0200 |
|---|---|---|
| committer | Robert Honz <exislow+github@gmail.com> | 2025-10-17 14:41:23 +0200 |
| commit | 676569e511ce47159f4e854bef0731e21ca9f9dd (patch) | |
| tree | a488ce9046f3d39072864e96af9e61d3a334befe /tidal_dl_ng/download.py | |
| parent | f150b6ef6a78973453e4ad5b4587a2938ba09e39 (diff) | |
| download | tidal-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.py | 13 |
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), |
