mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-07 04:06:45 +01:00
wip: p.50, e=7, what a refactor
This commit is contained in:
parent
d24738f9f4
commit
b3ac9e60e3
4 changed files with 6 additions and 7 deletions
|
|
@ -488,7 +488,7 @@ impl PhrasesViewState for ArrangerTui {
|
||||||
fn entered (&self) -> bool {
|
fn entered (&self) -> bool {
|
||||||
todo!()
|
todo!()
|
||||||
}
|
}
|
||||||
fn phrases (&self) -> Vec<()> {
|
fn phrases (&self) -> Vec<Arc<RwLock<Phrase>>> {
|
||||||
todo!()
|
todo!()
|
||||||
}
|
}
|
||||||
fn phrase (&self) -> usize {
|
fn phrase (&self) -> usize {
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@ impl<'a, T: PhrasesViewState> Content for PhrasesView<'a, T> {
|
||||||
let focused = self.0.focused();
|
let focused = self.0.focused();
|
||||||
let entered = self.0.entered();
|
let entered = self.0.entered();
|
||||||
let phrases = self.0.phrases();
|
let phrases = self.0.phrases();
|
||||||
let phrase = self.0.phrase();
|
let selected_phrase = self.0.phrase();
|
||||||
let mode = self.0.mode();
|
let mode = self.0.mode();
|
||||||
let content = col!(
|
let content = col!(
|
||||||
(i, phrase) in phrases.iter().enumerate() => Layers::new(|add|{
|
(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 let Some(PhrasesMode::Length(phrase, new_length, focus)) = mode {
|
||||||
if focused && i == *phrase {
|
if focused && i == *phrase {
|
||||||
length.pulses = *new_length;
|
length.pulses = *new_length;
|
||||||
length.focus = Some(focus);
|
length.focus = Some(*focus);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
let length = length.align_e().fill_x();
|
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);
|
let row2 = TuiStyle::bold(row2, true);
|
||||||
add(&col!(row1, row2).fill_x().bg(color.base.rgb))?;
|
add(&col!(row1, row2).fill_x().bg(color.base.rgb))?;
|
||||||
if focused && i == *phrase {
|
if focused && i == selected_phrase {
|
||||||
add(&CORNERS)?;
|
add(&CORNERS)?;
|
||||||
}
|
}
|
||||||
Ok(())
|
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 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 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_left = format!("[{}] Phrases", if entered {"■"} else {" "});
|
||||||
let upper_right = format!("({})", phrases.len());
|
let upper_right = format!("({})", self.0.phrases().len());
|
||||||
lay!(
|
lay!(
|
||||||
content,
|
content,
|
||||||
TuiStyle::fg(upper_left.to_string(), title_color).push_x(1).align_nw().fill_xy(),
|
TuiStyle::fg(upper_left.to_string(), title_color).push_x(1).align_nw().fill_xy(),
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,6 @@ impl TryFrom<&Arc<RwLock<JackClient>>> for SequencerTui {
|
||||||
focus: TransportFocus::PlayPause,
|
focus: TransportFocus::PlayPause,
|
||||||
size: Measure::new(),
|
size: Measure::new(),
|
||||||
phrases: vec![],
|
phrases: vec![],
|
||||||
editor: PhraseEditor::new(),
|
|
||||||
}.into(), None, None))
|
}.into(), None, None))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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 quant (&self) -> &Quantize;
|
||||||
fn bpm (&self) -> &BeatsPerMinute;
|
fn bpm (&self) -> &BeatsPerMinute;
|
||||||
fn next_quant (&self) -> f64 {
|
fn next_quant (&self) -> f64 {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue