use super::*;
#[derive(Default, Debug, Copy, Clone, Eq, PartialEq)]
pub struct TcKonnektMidiMsgParams {
pub ch: u8,
pub cc: u8,
}
#[derive(Default, Debug, Copy, Clone, Eq, PartialEq)]
pub struct TcKonnektMidiSender {
pub normal: TcKonnektMidiMsgParams,
pub pushed: TcKonnektMidiMsgParams,
pub send_to_port: bool,
pub send_to_stream: bool,
}
impl TcKonnektMidiSender {
pub const SIZE: usize = 36;
pub fn build(&self, raw: &mut [u8]) {
self.normal.ch.build_quadlet(&mut raw[..4]);
self.normal.cc.build_quadlet(&mut raw[4..8]);
self.pushed.ch.build_quadlet(&mut raw[12..16]);
self.pushed.cc.build_quadlet(&mut raw[16..20]);
self.send_to_port.build_quadlet(&mut raw[24..28]);
self.send_to_stream.build_quadlet(&mut raw[28..32]);
}
pub fn parse(&mut self, raw: &[u8]) {
self.normal.ch.parse_quadlet(&raw[..4]);
self.normal.cc.parse_quadlet(&raw[4..8]);
self.pushed.ch.parse_quadlet(&raw[12..16]);
self.pushed.cc.parse_quadlet(&raw[16..20]);
self.send_to_port.parse_quadlet(&raw[24..28]);
self.send_to_stream.parse_quadlet(&raw[28..32]);
}
}