use crate::sysex;
pub const EXTENDED_ID_VALUE: sysex::ManufacturerId = sysex::ManufacturerId::ExtId(32, 0x6b);
pub mod v2 {
use super::EXTENDED_ID_VALUE;
use crate::consts;
use crate::message::{MidiMessage, SysExEvent};
pub const PRODUCT_ID: u8 = 0x42;
pub mod verb {
pub const GET: u8 = 0x01;
pub const SET: u8 = 0x02;
pub const READ_MEM: u8 = 0x05;
pub const WRITE_MEM: u8 = 0x06;
}
pub fn get_value(param_id: u8, item_id: u8) -> MidiMessage {
MidiMessage::SysEx(SysExEvent::new_manufacturer(
EXTENDED_ID_VALUE,
&[
0x7f,
PRODUCT_ID,
verb::GET,
0x00,
param_id,
item_id,
0,
consts::EOX,
],
))
}
pub fn set_value(param_id: u8, item_id: u8, value: u8) -> MidiMessage {
MidiMessage::SysEx(SysExEvent::new_manufacturer(
EXTENDED_ID_VALUE,
&[
0x7f,
PRODUCT_ID,
verb::SET,
0x00,
param_id,
item_id,
value,
consts::EOX,
],
))
}
}