fix some switched orders of operations

This commit is contained in:
🪞👃🪞 2024-07-06 14:36:19 +03:00
parent 597c3fa903
commit 81717f17b8
3 changed files with 59 additions and 55 deletions

View file

@ -166,17 +166,12 @@ impl Track {
self.midi_out_buf[time].push(bytes.to_vec())
}
if recording {
if let Some(phrase) = phrase {
let pulse = timebase.pulse_to_frame((frame0 + time) as f64) as usize;
let pulse = pulse % phrase.length;
phrase.as_mut().map(|p|p.record_event({
let pulse = timebase.frame_to_pulse((frame0 + time) as f64) as usize;
let pulse = (pulse / quant) * quant;
let contains = phrase.notes.contains_key(&pulse);
if contains {
phrase.notes.get_mut(&pulse).unwrap().push(message.clone());
} else {
phrase.notes.insert(pulse, vec![message.clone()]);
}
};
let pulse = pulse % p.length;
pulse
}, message));
}
match message {
MidiMessage::NoteOn { key, .. } => {