chunk_read/
chunk_read.rs

1//! Example program that reads the entirety of a MIDI file as raw chunks
2
3use miami::{reader::MidiReadable, Midi, RawMidi};
4
5fn main() {
6    let data = "test/test.mid"
7        .get_midi_bytes()
8        .expect("Get `run.midi` file and stream bytes");
9
10    let midi = RawMidi::try_from_midi_stream(data).expect("Parse data as a MIDI stream");
11    let sanitized_midi: Midi = midi
12        .check_into_midi()
13        .expect("Upgrade into sanitized format");
14
15    println!("Header: {:?}", sanitized_midi.header);
16    for chunk in sanitized_midi.tracks.iter() {
17        println!("Track: {chunk:?}");
18    }
19}