more status bar

This commit is contained in:
🪞👃🪞 2024-10-19 01:20:16 +03:00
parent 3010c9ef5d
commit 9abd0b7c50
2 changed files with 31 additions and 18 deletions

View file

@ -39,7 +39,8 @@ pub enum ArrangerStatusBar {
ArrangementScene, ArrangementScene,
ArrangementClip, ArrangementClip,
PhrasePool, PhrasePool,
PhraseEditor, PhraseView,
PhraseEdit,
} }
/// Represents the tracks and scenes of the composition. /// Represents the tracks and scenes of the composition.
pub struct Arrangement<E: Engine> { pub struct Arrangement<E: Engine> {
@ -169,7 +170,10 @@ impl<E: Engine> Arranger<E> {
ArrangementFocus::Clip(_, _) => ArrangerStatusBar::ArrangementClip, ArrangementFocus::Clip(_, _) => ArrangerStatusBar::ArrangementClip,
}, },
ArrangerFocus::PhrasePool => ArrangerStatusBar::PhrasePool, ArrangerFocus::PhrasePool => ArrangerStatusBar::PhrasePool,
ArrangerFocus::PhraseEditor => ArrangerStatusBar::PhraseEditor, ArrangerFocus::PhraseEditor => match self.editor.entered {
true => ArrangerStatusBar::PhraseEdit,
false => ArrangerStatusBar::PhraseView,
},
} }
} }
} }

View file

@ -27,21 +27,30 @@ impl Content for ArrangerStatusBar {
fn content (&self) -> impl Widget<Engine = Tui> { fn content (&self) -> impl Widget<Engine = Tui> {
let label = match self { let label = match self {
Self::Transport => "TRANSPORT", Self::Transport => "TRANSPORT",
Self::ArrangementMix => "COMPOSITION", Self::ArrangementMix => "PROJECT",
Self::ArrangementTrack => "TRACK", Self::ArrangementTrack => "TRACK",
Self::ArrangementScene => "SCENE", Self::ArrangementScene => "SCENE",
Self::ArrangementClip => "CLIP", Self::ArrangementClip => "CLIP",
Self::PhrasePool => "PHRASES", Self::PhrasePool => "SEQ LIST",
Self::PhraseEditor => "SEQUENCER", Self::PhraseView => "SEQ VIEW",
Self::PhraseEdit => "SEQ EDIT",
}; };
let label = TuiStyle::bg(format!(" {label} "), Color::Rgb(150, 160, 90)) let label = TuiStyle::bg(format!(" {label} "), Color::Rgb(150, 160, 90))
.fg(Color::Rgb(0, 0, 0)) .fg(Color::Rgb(0, 0, 0))
.bold(true); .bold(true);
row!(label, " ", match self { row!(label, " ", match self {
Self::ArrangementMix =>
"[<>]Resize arranger",
Self::ArrangementClip => Self::ArrangementClip =>
"[G]et [S]et [A]dd [I]nsert [D]uplicate [E]dit [C]olor [,.]Choose", "[G]et [S]et [A]dd [I]nsert [D]uplicate [E]dit [C]olor re[N]ame [,.]Choose",
Self::ArrangementTrack =>
"[,.]Resize [<>]Move",
Self::PhrasePool => Self::PhrasePool =>
"[A]ppend [I]nsert [D]uplicate [C]olor re[N]ame leng[T]h [,.]Move [<>]Resize", "[A]ppend [I]nsert [D]uplicate [C]olor re[N]ame leng[T]h [,.]Move [<>]Resize list",
Self::PhraseView =>
"[Enter]Edit notes [Arrows/PgUp/PgDn]Scroll",
Self::PhraseEdit =>
"[Esc]Exit edit mode [A]ppend [S]et",
_ => "" _ => ""
}) })
} }