From b3ac9e60e3e8ee71b27225e8b3b23a8ae8c82e3a Mon Sep 17 00:00:00 2001 From: unspeaker Date: Sun, 17 Nov 2024 08:13:55 +0100 Subject: [PATCH] wip: p.50, e=7, what a refactor --- crates/tek_tui/src/tui_arranger_view.rs | 2 +- crates/tek_tui/src/tui_pool_view.rs | 8 ++++---- crates/tek_tui/src/tui_sequencer.rs | 1 - crates/tek_tui/src/tui_transport_cmd.rs | 2 +- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/crates/tek_tui/src/tui_arranger_view.rs b/crates/tek_tui/src/tui_arranger_view.rs index 36d94774..cf6a8a27 100644 --- a/crates/tek_tui/src/tui_arranger_view.rs +++ b/crates/tek_tui/src/tui_arranger_view.rs @@ -488,7 +488,7 @@ impl PhrasesViewState for ArrangerTui { fn entered (&self) -> bool { todo!() } - fn phrases (&self) -> Vec<()> { + fn phrases (&self) -> Vec>> { todo!() } fn phrase (&self) -> usize { diff --git a/crates/tek_tui/src/tui_pool_view.rs b/crates/tek_tui/src/tui_pool_view.rs index 8dc9ee73..0069bdfe 100644 --- a/crates/tek_tui/src/tui_pool_view.rs +++ b/crates/tek_tui/src/tui_pool_view.rs @@ -45,7 +45,7 @@ impl<'a, T: PhrasesViewState> Content for PhrasesView<'a, T> { let focused = self.0.focused(); let entered = self.0.entered(); let phrases = self.0.phrases(); - let phrase = self.0.phrase(); + let selected_phrase = self.0.phrase(); let mode = self.0.mode(); let content = col!( (i, phrase) in phrases.iter().enumerate() => Layers::new(|add|{ @@ -54,7 +54,7 @@ impl<'a, T: PhrasesViewState> Content for PhrasesView<'a, T> { if let Some(PhrasesMode::Length(phrase, new_length, focus)) = mode { if focused && i == *phrase { length.pulses = *new_length; - length.focus = Some(focus); + length.focus = Some(*focus); } } let length = length.align_e().fill_x(); @@ -67,7 +67,7 @@ impl<'a, T: PhrasesViewState> Content for PhrasesView<'a, T> { }; let row2 = TuiStyle::bold(row2, true); add(&col!(row1, row2).fill_x().bg(color.base.rgb))?; - if focused && i == *phrase { + if focused && i == selected_phrase { add(&CORNERS)?; } Ok(()) @@ -78,7 +78,7 @@ impl<'a, T: PhrasesViewState> Content for PhrasesView<'a, T> { let content = content.fill_xy().bg(Color::Rgb(28, 35, 25)).border(border); let title_color = if focused {Color::Rgb(150, 160, 90)} else {Color::Rgb(120, 130, 100)}; let upper_left = format!("[{}] Phrases", if entered {"■"} else {" "}); - let upper_right = format!("({})", phrases.len()); + let upper_right = format!("({})", self.0.phrases().len()); lay!( content, TuiStyle::fg(upper_left.to_string(), title_color).push_x(1).align_nw().fill_xy(), diff --git a/crates/tek_tui/src/tui_sequencer.rs b/crates/tek_tui/src/tui_sequencer.rs index c5963deb..6083dc12 100644 --- a/crates/tek_tui/src/tui_sequencer.rs +++ b/crates/tek_tui/src/tui_sequencer.rs @@ -12,7 +12,6 @@ impl TryFrom<&Arc>> for SequencerTui { focus: TransportFocus::PlayPause, size: Measure::new(), phrases: vec![], - editor: PhraseEditor::new(), }.into(), None, None)) } } diff --git a/crates/tek_tui/src/tui_transport_cmd.rs b/crates/tek_tui/src/tui_transport_cmd.rs index cf2ba662..6fc1bb80 100644 --- a/crates/tek_tui/src/tui_transport_cmd.rs +++ b/crates/tek_tui/src/tui_transport_cmd.rs @@ -61,7 +61,7 @@ impl InputToCommand for TransportCommand { } } -pub trait TransportControl: FocusGrid { +pub trait TransportControl { fn quant (&self) -> &Quantize; fn bpm (&self) -> &BeatsPerMinute; fn next_quant (&self) -> f64 {