diff --git a/crates/tek_sequencer/src/sequencer_tui.rs b/crates/tek_sequencer/src/sequencer_tui.rs index 350a5a60..1db06d39 100644 --- a/crates/tek_sequencer/src/sequencer_tui.rs +++ b/crates/tek_sequencer/src/sequencer_tui.rs @@ -62,7 +62,7 @@ impl Content for PhraseEditor { let keys = CustomWidget::new(|to:[u16;2]|Ok(Some(to.clip_w(5))), move|to: &mut TuiOutput|{ if to.area().h() >= 2 { to.buffer_update(to.area().set_w(5), &|cell, x, y|{ - let y = y + note_start as u16; + let y = y + (note_start / 2) as u16; if x < keys.area.width && y < keys.area.height { *cell = keys.get(x, y).clone() } @@ -72,10 +72,10 @@ impl Content for PhraseEditor { }).fill_y(); let notes_bg_null = Color::Rgb(28, 35, 25); let notes = CustomWidget::new(|to|Ok(Some(to)), move|to: &mut TuiOutput|{ - let w = to.area.w() as usize; - let h = to.area.h() as usize; - self.width.store(w, Ordering::Relaxed); + let area = to.area(); + let h = area.h() as usize; self.height.store(h, Ordering::Relaxed); + self.width.store(area.w() as usize, Ordering::Relaxed); let mut axis = self.note_axis.write().unwrap(); if let Some(point) = axis.point { if point.saturating_sub(axis.start) > (h * 2).saturating_sub(1) { @@ -87,9 +87,9 @@ impl Content for PhraseEditor { to.buffer_update(area, &move |cell, x, y|{ cell.set_bg(notes_bg_null); let src_x = (x as usize + time_start) * time_scale; - let src_y = y as usize + note_start; + let src_y = y as usize + note_start / 2; if src_x < buffer.width && src_y < buffer.height - 1 { - buffer.get(src_x, buffer.height - src_y - 1).map(|src|{ + buffer.get(src_x, buffer.height - src_y - 2).map(|src|{ cell.set_symbol(src.symbol()); cell.set_fg(src.fg); cell.set_bg(src.bg);