🛠 Album Artist ID3 tag only shows the main album artists. Fixes #51
This commit is contained in:
+10
-3
@@ -30,7 +30,14 @@ from tidal_dl_ng.constants import (
|
||||
from tidal_dl_ng.helper.decryption import decrypt_file, decrypt_security_token
|
||||
from tidal_dl_ng.helper.exceptions import MediaMissing, UnknownManifestFormat
|
||||
from tidal_dl_ng.helper.path import check_file_exists, format_path_media, path_file_sanitize
|
||||
from tidal_dl_ng.helper.tidal import instantiate_media, items_results_all, name_builder_item, name_builder_title
|
||||
from tidal_dl_ng.helper.tidal import (
|
||||
instantiate_media,
|
||||
items_results_all,
|
||||
name_builder_album_artist,
|
||||
name_builder_artist,
|
||||
name_builder_item,
|
||||
name_builder_title,
|
||||
)
|
||||
from tidal_dl_ng.metadata import Metadata
|
||||
from tidal_dl_ng.model.gui_data import ProgressBars
|
||||
from tidal_dl_ng.model.tidal import StreamManifest
|
||||
@@ -306,12 +313,12 @@ class Download:
|
||||
lyrics=lyrics,
|
||||
copy_right=copy_right,
|
||||
title=name_builder_title(track),
|
||||
artists=[artist.name for artist in track.artists],
|
||||
artists=name_builder_artist(track),
|
||||
album=track.album.name if track.album else "",
|
||||
tracknumber=track.track_num,
|
||||
date=release_date,
|
||||
isrc=isrc,
|
||||
albumartist=name_builder_item(track),
|
||||
albumartist=name_builder_album_artist(track),
|
||||
totaltrack=track.album.num_tracks if track.album and track.album.num_tracks else 1,
|
||||
totaldisc=track.album.num_volumes if track.album and track.album.num_volumes else 1,
|
||||
discnumber=track.volume_num if track.volume_num else 1,
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
from tidalapi import Album, Mix, Playlist, Session, Track, UserPlaylist, Video
|
||||
from tidalapi.artist import Role
|
||||
from tidalapi.session import SearchTypes
|
||||
|
||||
from tidal_dl_ng.constants import MediaType
|
||||
@@ -9,6 +10,16 @@ def name_builder_artist(media: Track | Video | Album) -> str:
|
||||
return ", ".join(artist.name for artist in media.artists)
|
||||
|
||||
|
||||
def name_builder_album_artist(media: Track | Album) -> str:
|
||||
artists_tmp: [str] = []
|
||||
|
||||
for artist in media.album.artists:
|
||||
if Role.main in artist.roles:
|
||||
artists_tmp.append(artist.name)
|
||||
|
||||
return ", ".join(artists_tmp)
|
||||
|
||||
|
||||
def name_builder_title(media: Track | Video) -> str:
|
||||
result: str = media.full_name if hasattr(media, "full_name") else media.name
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ class Metadata:
|
||||
path_file: str,
|
||||
album: str = "",
|
||||
title: str = "",
|
||||
artists: list[str] | None = None,
|
||||
artists: str = "",
|
||||
copy_right: str = "",
|
||||
tracknumber: int = 0,
|
||||
discnumber: int = 0,
|
||||
@@ -105,7 +105,7 @@ class Metadata:
|
||||
self.m.tags["title"] = self.title
|
||||
self.m.tags["album"] = self.album
|
||||
self.m.tags["albumartist"] = self.albumartist
|
||||
self.m.tags["artist"] = ", ".join(self.artists) if self.artists else ""
|
||||
self.m.tags["artist"] = self.artists
|
||||
self.m.tags["copyright"] = self.copy_right
|
||||
self.m.tags["tracknumber"] = str(self.tracknumber)
|
||||
self.m.tags["tracktotal"] = str(self.totaltrack)
|
||||
@@ -120,7 +120,7 @@ class Metadata:
|
||||
self.m.tags.add(TIT2(encoding=3, text=self.title))
|
||||
self.m.tags.add(TALB(encoding=3, text=self.album))
|
||||
self.m.tags.add(TOPE(encoding=3, text=self.albumartist))
|
||||
self.m.tags.add(TPE1(encoding=3, text=", ".join(self.artists) if self.artists else ""))
|
||||
self.m.tags.add(TPE1(encoding=3, text=self.artists))
|
||||
self.m.tags.add(TCOP(encoding=3, text=self.copy_right))
|
||||
self.m.tags.add(TRCK(encoding=3, text=str(self.tracknumber)))
|
||||
self.m.tags.add(TRCK(encoding=3, text=self.discnumber))
|
||||
@@ -133,7 +133,7 @@ class Metadata:
|
||||
self.m.tags["\xa9nam"] = self.title
|
||||
self.m.tags["\xa9alb"] = self.album
|
||||
self.m.tags["aART"] = self.albumartist
|
||||
self.m.tags["\xa9ART"] = ", ".join(self.artists) if self.artists else ""
|
||||
self.m.tags["\xa9ART"] = self.artists
|
||||
self.m.tags["cprt"] = self.copy_right
|
||||
self.m.tags["trkn"] = [[self.tracknumber, self.totaltrack]]
|
||||
self.m.tags["disk"] = [[self.discnumber, self.totaldisc]]
|
||||
|
||||
Reference in New Issue
Block a user