@@ -151,12 +151,30 @@ def __default_metadata(self) -> list[MetadataEntry]:
151151 self .track .album = self .__api ().get_metadata_4_album (
152152 AlbumId .from_hex (bytes_to_hex (self .album .gid ))
153153 )
154+ artist_name , genres_list = self .__api .get_localized_artist_name (self .artist [0 ])
155+ artists = []
156+ for artist in self .artist :
157+ extra_artist_name , extra_genres = self .__api .get_localized_artist_name (artist )
158+ if extra_artist_name :
159+ artists .append (extra_artist_name )
160+ genres_list .extend (extra_genres )
161+
162+ album_artist_name , extra_genres = self .__api .get_localized_artist_name (self .album .artist [0 ])
163+ genres_list = list (set (genres_list + extra_genres ))
164+
165+ album_artists = []
166+ for artist in self .album .artist :
167+ extra_artist_name , album_extra_genres = self .__api .get_localized_artist_name (artist )
168+ if extra_artist_name :
169+ album_artists .append (extra_artist_name )
170+ genres_list = list (set (genres_list + album_extra_genres ))
171+ genres = "; " .join (str (item ) for item in set (genres_list ))
154172 return [
155173 MetadataEntry ("album" , self .album .name ),
156- MetadataEntry ("album_artist" , self . album . artist [ 0 ]. name ),
157- MetadataEntry ("album_artists" , [ a . name for a in self . album . artist ] ),
158- MetadataEntry ("artist" , self . artist [ 0 ]. name ),
159- MetadataEntry ("artists" , [ a . name for a in self . artist ] ),
174+ MetadataEntry ("album_artist" , album_artist_name ),
175+ MetadataEntry ("album_artists" , album_artists ),
176+ MetadataEntry ("artist" , artist_name ),
177+ MetadataEntry ("artists" , artists ),
160178 MetadataEntry ("date" , f"{ date .year } -{ date .month } -{ date .day } " ),
161179 MetadataEntry ("disc" , self .disc_number ),
162180 MetadataEntry ("duration" , self .duration ),
@@ -167,6 +185,7 @@ def __default_metadata(self) -> list[MetadataEntry]:
167185 MetadataEntry ("title" , self .name ),
168186 MetadataEntry ("track" , self .name ),
169187 MetadataEntry ("year" , date .year ),
188+ MetadataEntry ("genre" , genres ),
170189 MetadataEntry (
171190 "replaygain_track_gain" , self .normalization_data .track_gain_db , ""
172191 ),
0 commit comments