wip: p.50, e=7, what a refactor

This commit is contained in:
🪞👃🪞 2024-11-17 08:13:55 +01:00
parent d24738f9f4
commit b3ac9e60e3
4 changed files with 6 additions and 7 deletions

View file

@ -488,7 +488,7 @@ impl PhrasesViewState for ArrangerTui {
fn entered (&self) -> bool {
todo!()
}
fn phrases (&self) -> Vec<()> {
fn phrases (&self) -> Vec<Arc<RwLock<Phrase>>> {
todo!()
}
fn phrase (&self) -> usize {

View file

@ -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(),

View file

@ -12,7 +12,6 @@ impl TryFrom<&Arc<RwLock<JackClient>>> for SequencerTui {
focus: TransportFocus::PlayPause,
size: Measure::new(),
phrases: vec![],
editor: PhraseEditor::new(),
}.into(), None, None))
}
}

View file

@ -61,7 +61,7 @@ impl<T: TransportControl> InputToCommand<Tui, T> for TransportCommand {
}
}
pub trait TransportControl: FocusGrid<Item = TransportFocus> {
pub trait TransportControl {
fn quant (&self) -> &Quantize;
fn bpm (&self) -> &BeatsPerMinute;
fn next_quant (&self) -> f64 {