humster 0.0.2

Modern music toolkit for Rust
Documentation
/// Basic representation of a MIDI note-on event.
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct MidiEvent {
    pub note: u8,
    pub velocity: u8,
}

impl MidiEvent {
    pub fn new(note: u8, velocity: u8) -> Self {
        MidiEvent { note, velocity }
    }
}

/// Collection of MIDI events.
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct MidiTrack {
    pub events: Vec<MidiEvent>,
}

impl MidiTrack {
    pub fn new(events: Vec<MidiEvent>) -> Self {
        MidiTrack { events }
    }

    pub fn events(&self) -> &[MidiEvent] {
        &self.events
    }

    pub fn events_mut(&mut self) -> &mut [MidiEvent] {
        &mut self.events
    }
}