diff --git a/src/core/musichoard/musichoard.rs b/src/core/musichoard/musichoard.rs index 1493953..fcb5828 100644 --- a/src/core/musichoard/musichoard.rs +++ b/src/core/musichoard/musichoard.rs @@ -81,8 +81,11 @@ impl MusicHoard { primary.insert(secondary_artist.id.clone(), secondary_artist); } } + self.collection = primary.into_values().collect(); Self::sort_artists(&mut self.collection); + + self.pre_commit = self.collection.clone(); } fn items_to_artists(items: Vec) -> Result, Error> { @@ -176,7 +179,7 @@ impl MusicHoard { } impl MusicHoard { - /// Create a new [`MusicHoard`] with the provided [`IDatabase`]. + /// Create a new [`MusicHoard`] with the provided [`ILibrary`] and no database. pub fn library(library: LIB) -> Self { MusicHoard { collection: vec![], @@ -202,7 +205,7 @@ impl MusicHoard { } impl MusicHoard { - /// Create a new [`MusicHoard`] with the provided [`IDatabase`]. + /// Create a new [`MusicHoard`] with the provided [`IDatabase`] and no library. pub fn database(database: DB) -> Result { let mut mh = MusicHoard { collection: vec![], @@ -224,8 +227,6 @@ impl MusicHoard { Self::sort_albums_and_tracks(self.database_cache.iter_mut()); self.merge_collections(); - self.pre_commit = self.collection.clone(); - Ok(()) }