use crate::{audio::AudioSource, music::note::Note};
#[derive(Debug)]
pub enum NoteError {
NoVoices,
}
pub trait Instrument: AudioSource {
fn init(&mut self);
fn note_on(&mut self, note: Note, velocity: u8) -> Result<(), NoteError>;
fn note_off(&mut self, note: Note);
}