refactor: reuse horizontal::draw

This commit is contained in:
🪞👃🪞 2024-07-01 22:12:25 +03:00
parent 91832e0072
commit 939ffe3630
6 changed files with 130 additions and 117 deletions

View file

@ -221,26 +221,24 @@ fn draw_section_sequencer (state: &Launcher, buf: &mut Buffer, area: Rect) -> Us
}
let track = track.unwrap().1;
let sequencer = track.sequencer.state();
{
use crate::device::sequencer::horizontal::*;
timer(buf, x+5, y, sequencer.time_start, sequencer.time_start + area.width as usize, 0);
keys(buf, Rect { x, y: y + 1, width, height }, sequencer.note_start)?;
if let Some(Some(phrase)) = state.phrase_id().map(|id|sequencer.phrases.get(id)) {
let ppq = sequencer.timebase.ppq() as usize;
let zoom = sequencer.time_zoom;
let t0 = sequencer.time_start;
let t1 = t0 + area.width as usize;
let n0 = sequencer.note_start;
let n1 = n0 + area.height as usize;
lanes(buf, x, y + 1, &phrase, ppq, zoom, t0, t1, n0, n1);
}
let cursor_style = match view {
crate::device::sequencer::horizontal::draw(
buf,
area,
match state.phrase_id().map(|id|sequencer.phrases.get(id)) {
Some(Some(phrase)) => Some(phrase),
_ => None
},
state.timebase.ppq() as usize,
sequencer.time_cursor,
sequencer.time_start,
sequencer.time_zoom,
sequencer.note_cursor,
sequencer.note_start,
Some(match view {
LauncherView::Sequencer => Style::default().green().not_dim(),
_ => Style::default().green().dim(),
};
cursor(buf, x, y + 1, cursor_style, sequencer.time_cursor, sequencer.note_cursor);
}
Ok(area)
})
)
}
fn draw_section_chains (state: &Launcher, buf: &mut Buffer, area: Rect) -> Usually<Rect> {
let style = Some(Style::default().green().dim());