Finished gate len for MidiP
This commit is contained in:
parent
3b4e8a36f5
commit
549aa8888d
2 changed files with 5 additions and 5 deletions
|
@ -157,14 +157,12 @@ impl DspNode for MidiP {
|
|||
} else {
|
||||
self.cur_gate = 1;
|
||||
}
|
||||
println!("NOTE ON");
|
||||
self.trig_sig.trigger();
|
||||
self.gate_sig.trigger();
|
||||
self.cur_note = note;
|
||||
self.cur_vel = vel;
|
||||
}
|
||||
HxMidiEvent::NoteOff { channel, note } => {
|
||||
println!("NOTE OFF");
|
||||
if channel != midip_channel {
|
||||
continue;
|
||||
}
|
||||
|
@ -182,11 +180,13 @@ impl DspNode for MidiP {
|
|||
gate.write(frame, self.trig_sig.next());
|
||||
}
|
||||
2 => {
|
||||
println!("GOGOGO {} {}", gate_len, self.next_gate);
|
||||
if self.next_gate > 0 {
|
||||
gate.write(frame, 0.0);
|
||||
self.cur_gate = 0;
|
||||
} else {
|
||||
gate.write(frame, self.gate_sig.next(gate_len));
|
||||
let gsig = self.gate_sig.next(gate_len);
|
||||
self.cur_gate = gsig.ceil() as u8;
|
||||
gate.write(frame, gsig);
|
||||
}
|
||||
}
|
||||
_ => {
|
||||
|
|
|
@ -227,7 +227,7 @@ fn check_node_midip_gate_test() {
|
|||
);
|
||||
|
||||
let changes = collect_signal_changes_both_edges(&ch1[..], 1);
|
||||
assert_eq!(changes, vec![(100, 100), (145, -100)]);
|
||||
assert_eq!(changes, vec![(100, 100), (120, -100), (121, 100), (166, -100)]);
|
||||
|
||||
// // Now test without the trigger signal:
|
||||
// node_pset_s(&mut matrix, "midip", 0, "gmode", 0);
|
||||
|
|
Loading…
Reference in a new issue