midi_io/midi/
codec_error.rs1use 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}