Parse unknown MIDI messages as Other() instead of failing

This commit is contained in:
Kelvin Ly 2019-12-21 14:48:40 -05:00
parent 4b6dd230f3
commit d99b99e9a2
1 changed files with 3 additions and 2 deletions

View File

@ -14,11 +14,12 @@ use midir::os::unix::{VirtualInput, VirtualOutput};
use pancurses::{initscr, endwin, noecho, Input}; use pancurses::{initscr, endwin, noecho, Input};
#[derive(Clone, Copy, Debug)] #[derive(Clone, Debug)]
enum MidiMessage { enum MidiMessage {
NoteOn(u8, u8, u8), NoteOn(u8, u8, u8),
NoteOff(u8, u8, u8), NoteOff(u8, u8, u8),
PitchBend(u8, i16), PitchBend(u8, i16),
Other(Vec<u8>),
} }
impl MidiMessage { impl MidiMessage {
@ -52,7 +53,7 @@ impl MidiMessage {
} }
}, },
_ => None _ => None
} }.or_else(|| Some(MidiMessage::Other(s.to_vec())))
} }
} }