mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-09 05:06:43 +01:00
modify pool width; wip: status bars
This commit is contained in:
parent
4994e218f7
commit
0699b9d105
5 changed files with 104 additions and 40 deletions
|
|
@ -4,16 +4,16 @@ impl Handle<Tui> for Arranger<Tui> {
|
|||
fn handle (&mut self, from: &TuiInput) -> Perhaps<bool> {
|
||||
if !self.handle_focused(from)?.unwrap_or(false) {
|
||||
match from.event() {
|
||||
key!(KeyCode::Tab) => { self.focus_next(); },
|
||||
key!(Shift-KeyCode::Tab) => { self.focus_prev(); },
|
||||
key!(KeyCode::BackTab) => { self.focus_prev(); },
|
||||
key!(Shift-KeyCode::BackTab) => { self.focus_prev(); },
|
||||
key!(KeyCode::Up) => { self.focus_up(); },
|
||||
key!(KeyCode::Down) => { self.focus_down(); },
|
||||
key!(KeyCode::Left) => { self.focus_left(); },
|
||||
key!(KeyCode::Right) => { self.focus_right(); },
|
||||
key!(KeyCode::Char('e')) => { self.edit_phrase(); },
|
||||
key!(KeyCode::Char(' ')) => { self.toggle_play()?; },
|
||||
key!(KeyCode::Tab) => { self.focus_next(); },
|
||||
key!(Shift-KeyCode::Tab) => { self.focus_prev(); },
|
||||
key!(KeyCode::BackTab) => { self.focus_prev(); },
|
||||
key!(Shift-KeyCode::BackTab) => { self.focus_prev(); },
|
||||
key!(KeyCode::Up) => { self.focus_up(); },
|
||||
key!(KeyCode::Down) => { self.focus_down(); },
|
||||
key!(KeyCode::Left) => { self.focus_left(); },
|
||||
key!(KeyCode::Right) => { self.focus_right(); },
|
||||
key!(KeyCode::Char('e')) => { self.edit_phrase(); },
|
||||
key!(KeyCode::Char(' ')) => { self.toggle_play()?; },
|
||||
key!(KeyCode::Char('n')) => { self.rename_selected(); },
|
||||
_ => return Ok(None)
|
||||
}
|
||||
|
|
@ -26,11 +26,24 @@ impl Arranger<Tui> {
|
|||
fn handle_focused (&mut self, from: &TuiInput) -> Perhaps<bool> {
|
||||
match self.focused() {
|
||||
ArrangerFocus::Transport => self.transport.handle(from),
|
||||
ArrangerFocus::PhrasePool => self.phrases.handle(from),
|
||||
ArrangerFocus::PhraseEditor => self.editor.handle(from),
|
||||
ArrangerFocus::Arrangement => self.handle_arrangement(from),
|
||||
ArrangerFocus::PhrasePool => self.handle_pool(from),
|
||||
ArrangerFocus::PhraseEditor => self.editor.handle(from),
|
||||
}
|
||||
}
|
||||
/// Helper for phrase event passthru when phrase pool is focused
|
||||
fn handle_pool (&mut self, from: &TuiInput) -> Perhaps<bool> {
|
||||
match from.event() {
|
||||
key!(KeyCode::Char('<')) => {
|
||||
self.phrases_split = self.phrases_split.saturating_sub(1).max(12);
|
||||
},
|
||||
key!(KeyCode::Char('>')) => {
|
||||
self.phrases_split = self.phrases_split + 1;
|
||||
},
|
||||
_ => return self.arrangement.handle(from)
|
||||
}
|
||||
Ok(Some(true))
|
||||
}
|
||||
/// Helper for phrase event passthru when arrangement is focused
|
||||
fn handle_arrangement (&mut self, from: &TuiInput) -> Perhaps<bool> {
|
||||
let mut handle_phrase = ||{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue