pass root clock - and groovebox works!

This commit is contained in:
🪞👃🪞 2025-05-11 02:06:08 +03:00
parent 997d67a487
commit 4e2702f69e
2 changed files with 16 additions and 15 deletions

View file

@ -18,29 +18,29 @@ pub trait HasSequencer {
/// Contains state for playing a clip
pub struct Sequencer {
/// State of clock and playhead
pub clock: Clock,
pub clock: Clock,
/// Start time and clip being played
pub play_clip: Option<(Moment, Option<Arc<RwLock<MidiClip>>>)>,
pub play_clip: Option<(Moment, Option<Arc<RwLock<MidiClip>>>)>,
/// Start time and next clip
pub next_clip: Option<(Moment, Option<Arc<RwLock<MidiClip>>>)>,
pub next_clip: Option<(Moment, Option<Arc<RwLock<MidiClip>>>)>,
/// Play input through output.
pub monitoring: bool,
pub monitoring: bool,
/// Write input to sequence.
pub recording: bool,
pub recording: bool,
/// Overdub input to sequence.
pub overdub: bool,
pub overdub: bool,
/// Send all notes off
pub reset: bool, // TODO?: after Some(nframes)
pub reset: bool, // TODO?: after Some(nframes)
/// Record from MIDI ports to current sequence.
pub midi_ins: Vec<JackMidiIn>,
pub midi_ins: Vec<JackMidiIn>,
/// Play from current sequence to MIDI ports
pub midi_outs: Vec<JackMidiOut>,
pub midi_outs: Vec<JackMidiOut>,
/// Notes currently held at input
pub notes_in: Arc<RwLock<[bool; 128]>>,
pub notes_in: Arc<RwLock<[bool; 128]>>,
/// Notes currently held at output
pub notes_out: Arc<RwLock<[bool; 128]>>,
pub notes_out: Arc<RwLock<[bool; 128]>>,
/// MIDI output buffer
pub note_buf: Vec<u8>,
pub note_buf: Vec<u8>,
}
impl Default for Sequencer {