fn main() -> Result<(), Box<dyn std::error::Error>> {
let contents = std::fs::read("example.mid")?;
let file_view = midasio::FileView::try_from_bytes(&contents)?;
for event in file_view.into_iter().filter(|event| event.id() == 1) {
let [trg_bank] = event
.into_iter()
.filter(|bank| bank.name() == *b"TRGB")
.collect::<Vec<_>>()[..]
else {
unreachable!();
};
let _trg_data = trg_bank.data();
}
Ok(())
}