diff --git a/src/swingmusic/lib/taglib.py b/src/swingmusic/lib/taglib.py index d626527b..e36ff03a 100644 --- a/src/swingmusic/lib/taglib.py +++ b/src/swingmusic/lib/taglib.py @@ -277,9 +277,11 @@ def get_tags(filepath: str, config: UserConfig) -> dict: ) metadata["trackhash"] = create_hash( - metadata.get("artists", ""), - metadata.get("album", ""), metadata.get("title", ""), + metadata.get("album", ""), + *split_artists(metadata.get("artists", ""), config), + str(metadata.get("track", "")), + str(metadata.get("disc", "")), ) diff --git a/src/swingmusic/models/track.py b/src/swingmusic/models/track.py index 6acbad33..b863e86a 100644 --- a/src/swingmusic/models/track.py +++ b/src/swingmusic/models/track.py @@ -221,7 +221,8 @@ def recreate_trackhash(self): Recreates the trackhash based on the current title, album, and artist information. """ self.trackhash = create_hash( - self.title, self.album, *(artist["name"] for artist in self.artists) + self.title, self.album, *(artist["name"] for artist in self.artists), + str(self.track), str(self.disc), ) def copy(self):