pub fn parse(mut raw: &'a [u8]) -> Result<LiveEvent<'a>> {
        let status = raw
            .split_checked(1)
            .ok_or_else(|| err_invalid!("no status byte"))?[0];
        let data = u7::slice_from_int(raw);
        Self::read(status, data)
    }
/// Parse a complete MIDI message from its raw bytes.
///
/// This method can be used to parse raw MIDI bytes coming from an OS API (ie. a status byte
/// in the range `0x80 ..= 0xFF` followed by data bytes in the range `0x00 ..= 0x7F`).
///
/// Note that this function will not read the "meta messages" present in `.mid` files, since
/// those cannot appear in a live MIDI connection, only in offline files.
///
/// Also see the example in the root crate documentation.
Parse a complete MIDI message from its raw bytes.
This method can be used to parse raw MIDI bytes coming from an OS API .

Note that this function will not read the "meta messages" present in `.mid` files, since
those cannot appear in a live MIDI connection, only in offline files.

Also see the example in the root crate documentation.
Parse a complete MIDI message from its raw bytes . This method can be used to parse raw MIDI bytes coming from an OS API . Note that this function will not read the " meta messages " present in ` . mid ` files since those cannot appear in a live MIDI connection only in offline files . Also see the example in the root crate documentation .
pub fn parse(mut raw: &'a [u8]) -> Result<LiveEvent<'a>> {
        let status = raw
            .split_checked(1)
            .ok_or_else(|| err_invalid!("no status byte"))?[0];
        let data = u7::slice_from_int(raw);
        Self::read(status, data)
    }
pub fn parse ( mut raw : & ' a [ u8 ] ) -> Result < LiveEvent < ' a > > { let status = raw . split_checked ( 1 ) . ok_or_else ( | | err_invalid ! ( " " ) ) ? [ 0 ] ; let data = u7 :: slice_from_int ( raw ) ; Self :: read ( status , data ) }
Parse a complete MIDI message from its raw bytes.
Parse a complete MIDI message from its raw bytes .
raw
&'a [u8]
raw
&'a [u8]