plugin ins/outs

This commit is contained in:
🪞👃🪞 2024-06-27 10:18:10 +03:00
parent da1d3220f9
commit 9351887ae6
9 changed files with 187 additions and 64 deletions

View file

@ -44,13 +44,13 @@ pub struct Sequencer {
notes_on: Vec<bool>,
/// Play sequence to output.
playing: TransportState,
pub playing: TransportState,
/// Play input through output.
monitoring: bool,
pub monitoring: bool,
/// Write input to sequence.
recording: bool,
pub recording: bool,
/// Don't delete when recording.
overdub: bool,
pub overdub: bool,
/// Display mode
mode: SequencerView,
@ -171,7 +171,7 @@ impl Sequencer {
frame.push(event.bytes.into())
}
}
if self.recording {
if self.recording && self.playing == TransportState::Rolling {
let contains = sequence.contains_key(&tick);
if contains {
sequence.get_mut(&tick).unwrap().push(message.clone());
@ -191,7 +191,7 @@ impl Sequencer {
frame.push(event.bytes.into())
}
}
if self.recording {
if self.recording && self.playing == TransportState::Rolling {
let contains = sequence.contains_key(&tick);
if contains {
sequence.get_mut(&tick).unwrap().push(message.clone());