mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-06 19:56:42 +01:00
50 lines
1.6 KiB
Rust
50 lines
1.6 KiB
Rust
use crate::*;
|
|
|
|
/// Stores and displays time-related info.
|
|
pub struct TransportTui {
|
|
pub jack: Arc<RwLock<JackClient>>,
|
|
pub clock: ClockModel,
|
|
pub size: Measure<Tui>,
|
|
pub cursor: (usize, usize),
|
|
pub focus: FocusState<AppFocus<TransportFocus>>,
|
|
}
|
|
|
|
/// Root view for standalone `tek_sequencer`.
|
|
pub struct SequencerTui {
|
|
pub jack: Arc<RwLock<JackClient>>,
|
|
pub clock: ClockModel,
|
|
pub phrases: PhrasesModel,
|
|
pub player: PhrasePlayerModel,
|
|
pub editor: PhraseEditorModel,
|
|
pub size: Measure<Tui>,
|
|
pub cursor: (usize, usize),
|
|
pub split: u16,
|
|
pub entered: bool,
|
|
pub note_buf: Vec<u8>,
|
|
pub midi_buf: Vec<Vec<Vec<u8>>>,
|
|
pub focus: FocusState<AppFocus<SequencerFocus>>,
|
|
}
|
|
|
|
/// Root view for standalone `tek_arranger`
|
|
pub struct ArrangerTui {
|
|
pub jack: Arc<RwLock<JackClient>>,
|
|
pub clock: ClockModel,
|
|
pub phrases: PhrasesModel,
|
|
pub tracks: Vec<ArrangerTrack>,
|
|
pub scenes: Vec<ArrangerScene>,
|
|
pub name: Arc<RwLock<String>>,
|
|
pub splits: [u16;2],
|
|
pub selected: ArrangerSelection,
|
|
pub mode: ArrangerMode,
|
|
pub color: ItemColor,
|
|
pub entered: bool,
|
|
pub size: Measure<Tui>,
|
|
pub cursor: (usize, usize),
|
|
pub menu_bar: Option<MenuBar<Tui, Self, ArrangerCommand>>,
|
|
pub status_bar: Option<ArrangerStatus>,
|
|
pub history: Vec<ArrangerCommand>,
|
|
pub note_buf: Vec<u8>,
|
|
pub midi_buf: Vec<Vec<Vec<u8>>>,
|
|
pub editor: PhraseEditorModel,
|
|
pub focus: FocusState<AppFocus<ArrangerFocus>>,
|
|
}
|