diff options
author | 2025-03-01 17:59:32 -0500 | |
---|---|---|
committer | 2025-03-01 17:59:32 -0500 | |
commit | 1b75753a315064a97c14742babcc783dedb7bf6f (patch) | |
tree | da7e1cd781db56508ddcfd6200c2d95a798b13ef /src/itfile.rs | |
parent | 6e5dc4eaee1ffb9474390dbd62a6dae4b90d8f5f (diff) | |
download | it2midi-1b75753a315064a97c14742babcc783dedb7bf6f.tar.xz |
Random playback ordering fixes that I have forgotten about.
Diffstat (limited to 'src/itfile.rs')
-rw-r--r-- | src/itfile.rs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/itfile.rs b/src/itfile.rs index 6d85a87..311207b 100644 --- a/src/itfile.rs +++ b/src/itfile.rs @@ -541,7 +541,8 @@ pub fn load(filename: &str) -> Result<ITFile, self::Error> let patt_offsets: Vec<u32> = read_vec(&mut f, header.npatt as usize)?; println!("orders {:?}", orders); - println!("inst offsets {:x?}",inst_offsets); + println!("inst offsets {:x?}", inst_offsets); + println!("patt offsets {:x?}", patt_offsets); let mut message = String::new(); if header.has_message() @@ -601,6 +602,11 @@ pub fn load(filename: &str) -> Result<ITFile, self::Error> let mut patterns: Vec<Patt> = Vec::new(); for patt_offset in patt_offsets { + if patt_offset == 0 + { + patterns.push(Patt{nrows: 0, nch: 64, data: vec![]}); + continue; + } f.seek(SeekFrom::Start(patt_offset.into()))?; let patt = Patt::load(&mut f)?; let dataend_off = f.stream_position()?; |