diff --git a/Cargo.lock b/Cargo.lock index 5796900..e4d1368 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -90,7 +90,7 @@ checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" [[package]] name = "itunesdb" -version = "0.1.5" +version = "0.1.7" dependencies = [ "bincode", "env_logger", diff --git a/Cargo.toml b/Cargo.toml index 3733379..8bd1c3b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "itunesdb" -version = "0.1.6" +version = "0.1.7" edition = "2021" authors = ["alterwain"] diff --git a/src/xobjects.rs b/src/xobjects.rs index 3ce5265..68d96b5 100644 --- a/src/xobjects.rs +++ b/src/xobjects.rs @@ -95,6 +95,15 @@ impl XDatabase { } } + pub fn get_unique_id(&mut self) -> u32 { + if let XSomeList::TrackList(tracks) = &mut self.find_dataset(1).child { + if let Some(n) = tracks.iter().map(|t| t.data.unique_id).max() { + return n + 1; + } + } + 1 + } + pub fn add_track(&mut self, track: XTrackItem) { self.add_track_to_playlists(2, &track); self.add_track_to_playlists(3, &track);