0.1.37 upd
This commit is contained in:
parent
c9135b64dd
commit
766003ce9d
@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "itunesdb"
|
||||
version = "0.1.36"
|
||||
version = "0.1.37"
|
||||
edition = "2021"
|
||||
authors = ["alterwain"]
|
||||
|
||||
|
@ -101,6 +101,7 @@ pub mod deserializer {
|
||||
}
|
||||
|
||||
pub mod serializer {
|
||||
use log::info;
|
||||
use crate::artworkdb::aobjects::ADatabase;
|
||||
use crate::artworkdb::objects::{ChunkHeader, ChunkType};
|
||||
|
||||
@ -108,6 +109,7 @@ pub mod serializer {
|
||||
let mut bytes: Vec<u8> = Vec::new();
|
||||
for i in 0..(adb.children.len()) {
|
||||
let data_set = adb.children.get(i).unwrap();
|
||||
let mut entry_bytes = Vec::new();
|
||||
for img in data_set.child.iter() {
|
||||
let mut args = Vec::new();
|
||||
for arg in img.args.iter() {
|
||||
@ -119,10 +121,13 @@ pub mod serializer {
|
||||
argv.append(&mut generate_header(ChunkType::LocationTag, 12, str_b.len()));
|
||||
argv.append(&mut str_b);
|
||||
},
|
||||
_ => { // 2
|
||||
2 => {
|
||||
let mut data = [2u32.to_le_bytes(), 0u32.to_le_bytes(), 0u32.to_le_bytes()].concat();
|
||||
argv.append(&mut generate_header(ChunkType::LocationTag, 12, 0));
|
||||
argv.append(&mut data);
|
||||
},
|
||||
_ => {
|
||||
info!("Other datatype found!");
|
||||
}
|
||||
}
|
||||
|
||||
@ -138,12 +143,28 @@ pub mod serializer {
|
||||
let mut item = Vec::new();
|
||||
item.append(&mut generate_header(ChunkType::ImageItem, 40, args.len()));
|
||||
item.append(&mut bincode::serialize(img.data.as_ref().unwrap()).unwrap());
|
||||
entry_bytes.append(&mut item);
|
||||
}
|
||||
|
||||
if img.file.is_some() {
|
||||
entry_bytes.append(&mut generate_header(ChunkType::FileImage, 12, 0));
|
||||
entry_bytes.append(&mut bincode::serialize(img.file.as_ref().unwrap()).unwrap());
|
||||
}
|
||||
|
||||
entry_bytes.append(&mut args);
|
||||
}
|
||||
|
||||
match data_set.data.data_type {
|
||||
1 => {
|
||||
entry_bytes.append(&mut generate_header(ChunkType::ImageList, 80, data_set.child.len()));
|
||||
entry_bytes.append(&mut [0; 76].to_vec());
|
||||
} // Image List
|
||||
_ => { info!("Unknown data_set type!"); }
|
||||
}
|
||||
|
||||
bytes.append(&mut generate_header(ChunkType::DataSet, 84, entry_bytes.len()));
|
||||
bytes.append(&mut [0; 80].to_vec());
|
||||
bytes.append(&mut bincode::serialize(&data_set.data).unwrap())
|
||||
}
|
||||
|
||||
bytes
|
||||
|
Loading…
x
Reference in New Issue
Block a user