fix keys overlap

This commit is contained in:
🪞👃🪞 2024-12-11 21:29:44 +01:00
parent d492dbb637
commit 14fac03f5d
2 changed files with 8 additions and 6 deletions

View file

@ -23,6 +23,7 @@ impl TryFrom<&Arc<RwLock<JackClient>>> for SequencerTui {
let mut editor = PhraseEditorModel::default();
editor.show_phrase(Some(phrase.clone()));
editor.edit_mode = PhraseEditMode::Note;
let mut player = PhrasePlayerModel::from(&clock);
player.play_phrase = Some((Moment::zero(&clock.timebase), Some(phrase)));

View file

@ -125,7 +125,7 @@ render!(|self: PhraseView<'a>|{
.unwrap_or(ItemPalette::from(ItemColor::from(TuiTheme::g(64))));
Tui::bg(bg, Tui::split_up(false, 2,
Tui::bg(fg.dark.rgb, lay!([PhraseTimeline(&self, fg), PhraseViewStats(&self, fg),])),
lay!([PhraseNotes(&self, fg), PhraseCursor(&self), PhraseKeys(&self, fg)]),
Split::right(false, 5, PhraseKeys(&self, fg), lay!([PhraseNotes(&self, fg), PhraseCursor(&self), ])),
))
});
impl<'a, T: HasEditor> From<&'a T> for PhraseView<'a> {
@ -162,15 +162,15 @@ render!(|self: PhraseTimeline<'a>|Tui::fg(TuiTheme::g(224), Tui::push_x(5, forma
pub struct PhraseViewStats<'a>(&'a PhraseView<'a>, ItemPalette);
render!(|self: PhraseViewStats<'a>|{
let color = self.1.dark.rgb;//if self.0.focused{self.1.light.rgb}else{self.1.dark.rgb};
lay!([
Tui::at_sw(Tui::bg(color, Tui::fg(TuiTheme::g(224), format!(
row!([
Tui::bg(color, Tui::fg(TuiTheme::g(224), format!(
" {} | Note: {} ({}) | {} ",
self.0.size.format(),
self.0.note_point,
to_note_name(self.0.note_point),
pulses_to_name(self.0.note_len),
)))),
Tui::fill_xy(Tui::at_se({
))),
{
let mut upper_right = format!("[{}]", if self.0.entered {""} else {" "});
if let Some(phrase) = self.0.phrase {
upper_right = format!(
@ -181,7 +181,7 @@ render!(|self: PhraseViewStats<'a>|{
)
};
Tui::bg(color, Tui::fg(TuiTheme::g(224), upper_right))
}))
}
])
});
@ -496,6 +496,7 @@ impl InputToCommand<Tui, PhraseEditorModel> for PhraseCommand {
// TODO: with triplet/dotted
key!(Char('<')) => SetNoteLength(prev_note_length(state.note_len)),
key!(Char('>')) => SetNoteLength(next_note_length(state.note_len)),
// TODO: '/' set triplet, '?' set dotted
_ => match state.edit_mode {
PhraseEditMode::Scroll => match from.event() {
key!(Char('e')) => SetEditMode(PhraseEditMode::Note),