diff --git a/.gitignore b/.gitignore index ea8c4bf..a0e7a17 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /target +*.bin diff --git a/src/main.rs b/src/main.rs index 285a7db..8e3553f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,4 +1,4 @@ -use std::fs; +use std::{fs, io::{stdout, Write}}; use midly::Smf; @@ -18,17 +18,17 @@ fn main() { let bytes = fs::read(FILENAME).expect("Failed to read input file!"); let smf = Smf::parse(&bytes).unwrap(); + let mut stdout = stdout(); + let mut current_on = [false; 32]; let track = &smf.tracks[0]; - print!("const DATA: &[u32] = &["); for (_, event) in track.iter().enumerate() { - // println!("{}", event.delta); let mut delta = event.delta.as_int(); while delta >= 96 { delta -= 96; let word = get_u32(¤t_on); - print!("0x{:x},", word); + stdout.write(&word.to_le_bytes()).ok(); } match event.kind { midly::TrackEventKind::Midi { channel: _, message } => match message { @@ -44,17 +44,9 @@ fn main() { current_on[index as usize] = true; } } - _ => { - // println!("event {}: {:?}", i, message); - } + _ => {} }, - _ => { - // println!("event {}: {:?}", i, event); - } + _ => {} } } - println!("];"); - // for (i, track) in smf.tracks.iter().enumerate() { - // println!("track {} has {} events", i, track.len()); - // } }