always redraw grid on note length change

This commit is contained in:
🪞👃🪞 2025-04-23 09:05:34 +03:00
parent bcd747280c
commit aa8eaf2e2b
5 changed files with 33 additions and 22 deletions

View file

@ -30,21 +30,16 @@ impl<'a> ArrangerView<'a> {
Tryptich::center(*scenes_height)
.left(*width_side, Map::new(||self.scenes_with_scene_colors(),
move|(index, scene, y1, y2, previous): SceneWithColor, _|{
let name = Some(scene.name.clone());
let color = scene.color;
let prev_color = previous;
let is_last = *scene_last == index;
let selected = *scene_selected;
let same_track = true;
let scene = index;
let height = (1 + y2 - y1) as u16;
let name = Some(scene.name.clone());
Fill::x(map_south(y1 as u16, (1 + y2 - y1) as u16, Fixed::y(height, Phat {
width: 0,
height: 0,
content: Fill::x(Align::w(Tui::bold(true, Bsp::e("", name)))),
colors: Tek::colors(
&color,
prev_color,
&scene.color,
previous,
same_track && *scene_selected == Some(index),
same_track && index > 0 && *scene_selected == Some(index - 1),
*scene_last == index
@ -68,7 +63,7 @@ impl<'a> ArrangerView<'a> {
content: Fill::x(Align::w(Tui::bold(true, Bsp::e("", name)))),
colors: Tek::colors(
&bg,
None,
Some(bg),
same_track && *scene_selected == Some(scene_index),
same_track && scene_index > 0 && *scene_selected == Some(scene_index - 1),
*scene_last == scene_index