midi-toolkit-rs 0.3.1

A library for ultra high performance MIDI operations, designed for black MIDI. The library isn't perfect
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use crate::{events::CastEventDelta, num::MIDINum};

pub struct TimeCaster<DT: MIDINum>(DT);

impl<DT: MIDINum> TimeCaster<DT> {
    pub fn cast_event_delta<
        E: CastEventDelta<DT>,
        Err,
        I: Iterator<Item = Result<E, Err>> + Sized,
    >(
        iter: I,
    ) -> impl Iterator<Item = Result<E::Output, Err>> {
        iter.map(move |e| {
            let e = e?;
            Ok(e.cast_delta())
        })
    }
}