use crate::*; use std::cmp::PartialEq; /// Root level object for standalone `tek_sequencer`. /// Also embeddable, in which case the `player` is used for preview. pub struct SequencerView { /// Controls the JACK transport. pub transport: TransportView, /// Width of phrase pool pub split: u16, /// Pool of all phrases available to the sequencer pub phrases: PhrasePoolView, /// Phrase editor view pub editor: PhraseEditor, /// Phrase player pub player: MIDIPlayer, } impl Content for SequencerView { type Engine = Tui; fn content (&self) -> impl Widget { col!( self.transport, Split::right(20, widget(&self.phrases), widget(&self.editor)).min_y(20) ) } }