diff --git a/picard/album.py b/picard/album.py index a36226439..1bd8c34f6 100644 --- a/picard/album.py +++ b/picard/album.py @@ -624,9 +624,11 @@ class NatAlbum(Album): def update(self, update_tracks=True): self.enable_update_metadata_images(False) + old_album_title = self.metadata["album"] self.metadata["album"] = config.setting["nat_name"] for track in self.tracks: - track.metadata["album"] = self.metadata["album"] + if old_album_title == track.metadata["album"]: + track.metadata["album"] = self.metadata["album"] for file in track.linked_files: track.update_file_metadata(file) self.enable_update_metadata_images(True) diff --git a/picard/track.py b/picard/track.py index bee020e5b..d54af8199 100644 --- a/picard/track.py +++ b/picard/track.py @@ -278,7 +278,7 @@ class NonAlbumTrack(Track): self.metadata.copy(self.album.metadata) self.metadata["title"] = "[loading track information]" self.loaded = False - self.tagger.nats.update(True) + self.album.update(True) mblogin = False inc = ["artist-credits", "artists", "aliases"] if config.setting["track_ars"]: @@ -322,7 +322,11 @@ class NonAlbumTrack(Track): if self.callback: self.callback() self.callback = None - self.tagger.nats.update(True) + self.album.update(True) + + def _customize_metadata(self): + super()._customize_metadata() + self.metadata['album'] = self.album.metadata['album'] def run_when_loaded(self, func): if self.loaded: