mod handle; mod jack; mod render; pub use self::handle::*; pub use self::jack::*; pub use self::render::*; use crate::prelude::*; pub const ACTIONS: [(&'static str, &'static str);3] = [ ("(Shift-)Tab", "Switch pane"), ("Arrows", "Navigate"), ("(Shift-)Space", "⯈ Play/pause"), ]; pub struct Transport { exited: bool, sample_rate: u64, position: u64, bpm: f64, } impl Transport { pub fn new () -> Result> { Ok(Self { exited: false, sample_rate: 48000, position: 0, bpm: 120.0 }) } pub fn play_from_start_or_stop_and_rewind (&mut self) { } pub fn play_or_pause (&mut self) { } } impl Exitable for Transport { fn exit (&mut self) { self.exited = true } fn exited (&self) -> bool { self.exited } }