From 5671e199107a29aee8eb90993e6ea90eef02f4ef Mon Sep 17 00:00:00 2001 From: unspeaker Date: Sat, 19 Oct 2024 23:36:10 +0300 Subject: [PATCH] transport toolbar docs and cleanup --- crates/tek_sequencer/src/transport.rs | 32 ++++++++++++++--------- crates/tek_sequencer/src/transport_snd.rs | 7 +++++ 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/crates/tek_sequencer/src/transport.rs b/crates/tek_sequencer/src/transport.rs index 89ff23ea..843d519f 100644 --- a/crates/tek_sequencer/src/transport.rs +++ b/crates/tek_sequencer/src/transport.rs @@ -11,19 +11,36 @@ pub struct TransportToolbar { pub jack: Option, /// JACK transport handle. pub transport: Option, - /// Quantization factor /// Global frame and usec at which playback started pub started: Option<(usize, usize)>, + /// Whether the toolbar is focused pub focused: bool, + /// Which part of the toolbar is focused pub focus: TransportToolbarFocus, + /// Playback state pub playing: Option, + /// Current tempo pub bpm: f64, + /// Quantization factor pub quant: usize, + /// Launch sync pub sync: usize, + /// Current time in frames pub frame: usize, + /// Current time in pulses pub pulse: usize, - pub ppq: usize, + /// Current time in microseconds pub usecs: usize, + /// Pulses per quarter note + pub ppq: usize, +} +#[derive(Clone, Copy, PartialEq)] +pub enum TransportToolbarFocus { + Bpm, + Sync, + PlayPause, + Clock, + Quant, } impl TransportToolbar { @@ -112,17 +129,6 @@ impl TransportToolbar { } } -impl Audio for TransportToolbar { - fn process (&mut self, _: &Client, scope: &ProcessScope) -> Control { - self.update(&scope); - Control::Continue - } -} - -/////////////////////////////////////////////////////////////////////////////////////////////////// - -#[derive(Clone, Copy, PartialEq)] -pub enum TransportToolbarFocus { PlayPause, Bpm, Quant, Sync, Clock, } impl TransportToolbarFocus { pub fn next (&mut self) { *self = match self { diff --git a/crates/tek_sequencer/src/transport_snd.rs b/crates/tek_sequencer/src/transport_snd.rs index e69de29b..a723c5b3 100644 --- a/crates/tek_sequencer/src/transport_snd.rs +++ b/crates/tek_sequencer/src/transport_snd.rs @@ -0,0 +1,7 @@ +use crate::*; +impl Audio for TransportToolbar { + fn process (&mut self, _: &Client, scope: &ProcessScope) -> Control { + self.update(&scope); + Control::Continue + } +}