Parse redundant CLAP MIDI events just in case
This commit is contained in:
parent
476dfb9f81
commit
63ad2b2cb8
1 changed files with 27 additions and 0 deletions
|
@ -982,6 +982,33 @@ impl<P: ClapPlugin> Wrapper<P> {
|
||||||
let event_type = event.data[0] & midi::EVENT_TYPE_MASK;
|
let event_type = event.data[0] & midi::EVENT_TYPE_MASK;
|
||||||
let channel = event.data[0] & midi::MIDI_CHANNEL_MASK;
|
let channel = event.data[0] & midi::MIDI_CHANNEL_MASK;
|
||||||
match event_type {
|
match event_type {
|
||||||
|
// Hosts shouldn't be sending this, bu twe'll handle it just in case
|
||||||
|
midi::NOTE_ON => {
|
||||||
|
input_events.push_back(NoteEvent::NoteOn {
|
||||||
|
timing: raw_event.time - current_sample_idx as u32,
|
||||||
|
channel,
|
||||||
|
note: event.data[1],
|
||||||
|
velocity: event.data[2] as f32 / 127.0,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// Hosts shouldn't be sending this, bu twe'll handle it just in case
|
||||||
|
midi::NOTE_OFF => {
|
||||||
|
input_events.push_back(NoteEvent::NoteOff {
|
||||||
|
timing: raw_event.time - current_sample_idx as u32,
|
||||||
|
channel,
|
||||||
|
note: event.data[1],
|
||||||
|
velocity: event.data[2] as f32 / 127.0,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// Hosts shouldn't be sending this, bu twe'll handle it just in case
|
||||||
|
midi::POLYPHONIC_KEY_PRESSURE => {
|
||||||
|
input_events.push_back(NoteEvent::PolyPressure {
|
||||||
|
timing: raw_event.time - current_sample_idx as u32,
|
||||||
|
channel,
|
||||||
|
note: event.data[1],
|
||||||
|
pressure: event.data[2] as f32 / 127.0,
|
||||||
|
});
|
||||||
|
}
|
||||||
midi::CHANNEL_KEY_PRESSURE => {
|
midi::CHANNEL_KEY_PRESSURE => {
|
||||||
input_events.push_back(NoteEvent::MidiChannelPressure {
|
input_events.push_back(NoteEvent::MidiChannelPressure {
|
||||||
timing: raw_event.time - current_sample_idx as u32,
|
timing: raw_event.time - current_sample_idx as u32,
|
||||||
|
|
Loading…
Add table
Reference in a new issue