wip(p60,e90): impl macros

This commit is contained in:
🪞👃🪞 2024-11-20 20:46:20 +01:00
parent f4a4b08c8a
commit 9d4fcaa32b
17 changed files with 748 additions and 1083 deletions

View file

@ -0,0 +1,44 @@
use crate::*;
/// Stores and displays time-related info.
pub struct TransportTui {
pub(crate) jack: Arc<RwLock<JackClient>>,
pub(crate) state: TransportModel,
pub(crate) size: Measure<Tui>,
pub(crate) cursor: (usize, usize),
}
/// Root view for standalone `tek_sequencer`.
pub struct SequencerTui {
pub(crate) jack: Arc<RwLock<JackClient>>,
pub(crate) transport: TransportModel,
pub(crate) phrases: PhrasesModel,
pub(crate) player: PhrasePlayerModel,
pub(crate) editor: PhraseEditorModel,
pub(crate) size: Measure<Tui>,
pub(crate) cursor: (usize, usize),
pub(crate) split: u16,
pub(crate) entered: bool,
}
/// Root view for standalone `tek_arranger`
pub struct ArrangerTui {
pub(crate) jack: Arc<RwLock<JackClient>>,
pub(crate) transport: TransportModel,
pub(crate) phrases: PhrasesModel,
pub(crate) tracks: Vec<ArrangerTrack>,
pub(crate) scenes: Vec<ArrangerScene>,
pub(crate) name: Arc<RwLock<String>>,
pub(crate) splits: [u16;2],
pub(crate) selected: ArrangerSelection,
pub(crate) mode: ArrangerMode,
pub(crate) color: ItemColor,
pub(crate) entered: bool,
pub(crate) size: Measure<Tui>,
pub(crate) note_buf: Vec<u8>,
pub(crate) midi_buf: Vec<Vec<Vec<u8>>>,
pub(crate) cursor: (usize, usize),
pub(crate) menu_bar: Option<MenuBar<Tui, Self, ArrangerCommand>>,
pub(crate) status_bar: Option<ArrangerStatus>,
pub(crate) history: Vec<ArrangerCommand>,
}