#[cfg(feature = "rayon")]
use rayon::prelude::*;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let contents = std::fs::read("example.mid")?;
let file_view = midasio::FileView::try_from_bytes(&contents)?;
let mut results = Vec::new();
#[cfg(feature = "rayon")]
results.par_extend(
file_view
.into_par_iter()
.filter(|event| event.id() == 1)
.map(|event| {
event.into_iter().count()
}),
);
#[cfg(not(feature = "rayon"))]
results.extend(
file_view
.into_iter()
.filter(|event| event.id() == 1)
.map(|event| event.into_iter().count()),
);
Ok(())
}