diff --git a/Cargo.lock b/Cargo.lock index d3ee4ea..52c14ef 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -90,7 +90,7 @@ checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" [[package]] name = "itunesdb" -version = "0.1.56" +version = "0.1.57" dependencies = [ "bincode", "env_logger", diff --git a/Cargo.toml b/Cargo.toml index df96b86..d7acb97 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "itunesdb" -version = "0.1.56" +version = "0.1.57" edition = "2021" authors = ["alterwain"] diff --git a/src/objects.rs b/src/objects.rs index b4f8bbf..a4ab2f2 100644 --- a/src/objects.rs +++ b/src/objects.rs @@ -397,7 +397,7 @@ impl PlaylistItem { unk4: 0, group_id, track_id, - timestamp: 0, + timestamp: 3822668022, podcast_grouping_reference: 0, unk: [0; 30], unk1: [0; 10], diff --git a/src/xobjects.rs b/src/xobjects.rs index d7f1f26..84d4e17 100644 --- a/src/xobjects.rs +++ b/src/xobjects.rs @@ -246,18 +246,19 @@ impl XDatabase { } fn add_track_to_playlists(&mut self, n: u32, track: &XTrackItem) { - /*if let XSomeList::Playlists(playlists) = &mut self.find_dataset(n).child { + if let XSomeList::Playlists(playlists) = &mut self.find_dataset(n).child { let playlist = playlists.iter_mut().find(|t| t.data.is_master_playlist_flag != 0); if playlist.is_none() { return; } let playlist = playlist.unwrap(); playlist.data.playlist_item_count += 1; - let pl_item = PlaylistItem::new(track.data.unique_id, rand::random()); + let mut pl_item = PlaylistItem::new(track.data.unique_id, rand::random()); let gr = pl_item.group_id.to_le_bytes(); let raw: Vec = vec![ 109,104,111,100,24,0,0,0,44,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,gr[0],gr[1],gr[2],gr[3],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ]; + pl_item.data_object_child_count = 1; playlist.elems.push((pl_item, vec![RawArgument(raw)])); - }*/ + } - if let XSomeList::Playlists(playlists) = &mut self.find_dataset(n).child { + /*if let XSomeList::Playlists(playlists) = &mut self.find_dataset(n).child { let playlist = playlists.iter_mut().find(|t| t.data.is_master_playlist_flag != 0); if playlist.is_none() { return; } let playlist = playlist.unwrap(); @@ -276,7 +277,7 @@ impl XDatabase { } playlist.elems.push((pl_item, args)); - } + }*/ } pub fn add_playlist(&mut self, playlist: XPlaylist) {