diff --git a/crates/tek_sequencer/src/arranger_modal.rs b/crates/tek_sequencer/src/arranger_modal.rs index 8aa60276..3de7313f 100644 --- a/crates/tek_sequencer/src/arranger_modal.rs +++ b/crates/tek_sequencer/src/arranger_modal.rs @@ -60,6 +60,14 @@ handle!(ArrangerRenameModal |self, e| { KeyCode::Right => { self.cursor = self.value.len().min(self.cursor + 1) }, + KeyCode::Backspace => { + let last = self.value.len().saturating_sub(1); + self.value = format!("{}{}", + &self.value[0..self.cursor.min(last)], + &self.value[self.cursor.min(last)..last] + ); + self.cursor = self.cursor.saturating_sub(1) + } KeyCode::Char(c) => { self.value.insert(self.cursor, c); self.cursor = self.value.len().min(self.cursor + 1) diff --git a/crates/tek_sequencer/src/sequencer_view_h.rs b/crates/tek_sequencer/src/sequencer_view_h.rs index 6a6cbb49..785294db 100644 --- a/crates/tek_sequencer/src/sequencer_view_h.rs +++ b/crates/tek_sequencer/src/sequencer_view_h.rs @@ -6,12 +6,14 @@ impl Sequencer { pub(crate) fn horizontal_draw (&self, buf: &mut Buffer, mut area: Rect) -> Usually<()> { Split::down() + .add_ref(&SequenceName(&self)) .add_ref(&SequenceRange) .add_ref(&SequenceLoopRange) .add_ref(&SequenceNoteRange) - .render(buf, Rect { x: area.x, y: area.y, width: 15, height: area.height })?; - area.x = area.x + 15; - area.width = area.width.saturating_sub(15); + .render(buf, Rect { x: area.x, y: area.y, width: 10, height: area.height })?; + area.x = area.x + 10; + area.width = area.width.saturating_sub(10); + area.height = area.height.min(66); Lozenge(Style::default().fg(Nord::BG2)).draw(buf, area)?; area.x = area.x + 1; area.width = area.width.saturating_sub(1); @@ -27,14 +29,46 @@ impl Sequencer { } +const STYLE_LABEL: Option