#[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 }
}
}
#[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
}
}