From 6665921de38c9b7c8c43bd4cfb0d8b3bac88fc1e Mon Sep 17 00:00:00 2001 From: unspeaker Date: Mon, 28 Oct 2024 23:41:19 +0200 Subject: [PATCH] vertical scroll sequencer, pt.4 --- crates/tek_sequencer/src/sequencer_cmd.rs | 10 +++++++++- crates/tek_sequencer/src/sequencer_tui.rs | 6 +++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/crates/tek_sequencer/src/sequencer_cmd.rs b/crates/tek_sequencer/src/sequencer_cmd.rs index f9309de9..2da11e4e 100644 --- a/crates/tek_sequencer/src/sequencer_cmd.rs +++ b/crates/tek_sequencer/src/sequencer_cmd.rs @@ -113,7 +113,15 @@ impl Handle for PhraseEditor { false => { self.note_axis.write().unwrap().start_dec(1); }, }, key!(KeyCode::Down) => match self.entered { - true => { self.note_axis.write().unwrap().point_inc(1); }, + true => { + let mut axis = self.note_axis.write().unwrap(); + axis.point_inc(1); + if let Some(point) = axis.point { + if point > 73 { + axis.point = Some(73); + } + } + }, false => { self.note_axis.write().unwrap().start_inc(1); }, }, key!(KeyCode::Left) => { diff --git a/crates/tek_sequencer/src/sequencer_tui.rs b/crates/tek_sequencer/src/sequencer_tui.rs index 0c9a6197..31bc6a9c 100644 --- a/crates/tek_sequencer/src/sequencer_tui.rs +++ b/crates/tek_sequencer/src/sequencer_tui.rs @@ -204,7 +204,7 @@ impl PhraseEditor { } } fn redraw (phrase: &Phrase) -> BigBuffer { - let mut buf = BigBuffer::new(usize::MAX.min(phrase.length), 64); + let mut buf = BigBuffer::new(usize::MAX.min(phrase.length), 65); Self::fill_seq_bg(&mut buf, phrase.length, phrase.ppq); Self::fill_seq_fg(&mut buf, &phrase); buf @@ -285,12 +285,12 @@ impl PhraseEditor { } /// Colors of piano keys const KEY_COLORS: [(Color, Color);6] = [ - (Color::Rgb(255, 255, 255), Color::Rgb(0, 0, 0)), - (Color::Rgb(255, 255, 255), Color::Rgb(0, 0, 0)), (Color::Rgb(255, 255, 255), Color::Rgb(255, 255, 255)), (Color::Rgb(0, 0, 0), Color::Rgb(255, 255, 255)), (Color::Rgb(0, 0, 0), Color::Rgb(255, 255, 255)), (Color::Rgb(0, 0, 0), Color::Rgb(255, 255, 255)), + (Color::Rgb(255, 255, 255), Color::Rgb(0, 0, 0)), + (Color::Rgb(255, 255, 255), Color::Rgb(0, 0, 0)), ]; pub(crate) fn keys_vert () -> Buffer { let area = [0, 0, 5, 64];