Skip to main content

midi_io/midi/
codec_error.rs

1use crate::midi::parse_error::ParseError;
2use crate::midi::raw_message::RawMidiMessage;
3
4#[derive(Debug, Clone, PartialEq, Eq, thiserror::Error)]
5#[non_exhaustive]
6pub enum CodecError {
7    #[error("failed to parse MIDI message: {reason} (bytes: {bytes:02x?})")]
8    Parse { reason: ParseError, bytes: Vec<u8> },
9    #[error("unparseable MIDI message: {0:?}")]
10    Unparseable(RawMidiMessage),
11    #[error("sysex too long: {len} bytes (max {max})")]
12    SysexTooLong { len: usize, max: usize },
13}