midi-io 0.1.1

Stream and send strictly-typed MIDI messages
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
use crate::midi::parse_error::ParseError;
use crate::midi::raw_message::RawMidiMessage;

#[derive(Debug, Clone, PartialEq, Eq, thiserror::Error)]
#[non_exhaustive]
pub enum CodecError {
    #[error("failed to parse MIDI message: {reason} (bytes: {bytes:02x?})")]
    Parse { reason: ParseError, bytes: Vec<u8> },
    #[error("unparseable MIDI message: {0:?}")]
    Unparseable(RawMidiMessage),
    #[error("sysex too long: {len} bytes (max {max})")]
    SysexTooLong { len: usize, max: usize },
}