check pass, test pass.. but does it run?

This commit is contained in:
🪞👃🪞 2024-12-31 16:39:33 +01:00
parent 1de163d0d3
commit 9f7b23a252
10 changed files with 65 additions and 48 deletions

View file

@ -20,7 +20,7 @@ impl<'a> ArrangerVClips<'a> {
impl<'a> Content<Tui> for ArrangerVClips<'a> {
fn content (&self) -> impl Content<Tui> {
let iter = self.scenes.iter().zip(self.rows.iter().map(|row|row.0));
let col = Coll::map(iter, |(scene, pulses), i|Self::format_scene(self.tracks, scene, pulses));
let col = Tui::map(iter, |(scene, pulses), i|Self::format_scene(self.tracks, scene, pulses));
Fill::xy(col)
}
}
@ -37,7 +37,7 @@ impl<'a> ArrangerVClips<'a> {
let name = Tui::fg_bg(scene.color.lightest.rgb, scene.color.base.rgb,
Expand::x(1, Tui::bold(true, scene.name.read().unwrap().clone()))
);
let clips = Coll::map(ArrangerTrack::with_widths(tracks), move|(index, track, x1, x2), _|
let clips = Tui::map(ArrangerTrack::with_widths(tracks), move|(index, track, x1, x2), _|
Push::x((x2 - x1) as u16, Self::format_clip(scene, index, track, (x2 - x1) as u16, height))
);
Fixed::y(height, row!(icon, name, clips))

View file

@ -20,7 +20,7 @@ render!(Tui: (self: ArrangerVHead<'a>) => {
row!(Tui::fg(color.light.rgb, ""), Tui::fg(color.lightest.rgb, field))
}
Some(Push::x(self.scenes_w,
Coll::map(ArrangerTrack::with_widths(self.tracks), |(_, track, x1, x2), i| {
Tui::map(ArrangerTrack::with_widths(self.tracks), |(_, track, x1, x2), i| {
let (w, h) = (ArrangerTrack::MIN_WIDTH.max(x2 - x1), HEADER_H);
let color = track.color();
let input = Self::format_input(track);

View file

@ -20,7 +20,7 @@ pub enum FileBrowserCommand {
Chdir(PathBuf),
Filter(String),
}
render!(Tui: (self: FileBrowser) => Stack::down(|add|{
render!(Tui: (self: FileBrowser) => /*Stack::down(|add|{
let mut i = 0;
for (_, name) in self.dirs.iter() {
if i >= self.scroll {
@ -36,7 +36,7 @@ render!(Tui: (self: FileBrowser) => Stack::down(|add|{
}
add(&format!("{}/{i}", self.index))?;
Ok(())
}));
})*/"todo");
impl FileBrowser {
pub fn new (cwd: Option<PathBuf>) -> Usually<Self> {
let cwd = if let Some(cwd) = cwd { cwd } else { std::env::current_dir()? };

View file

@ -178,7 +178,7 @@ render!(Tui: (self: GrooveboxSamples<'a>) => {
let note_lo = self.0.editor.note_lo().load(Relaxed);
let note_pt = self.0.editor.note_point();
let note_hi = self.0.editor.note_hi();
Fill::xy(Coll::map((note_lo..=note_hi).rev(), move|note, i| {
Fill::xy(Tui::map((note_lo..=note_hi).rev(), move|note, i| {
let mut bg = if note == note_pt { TuiTheme::g(64) } else { Color::Reset };
let mut fg = TuiTheme::g(160);
if let Some((index, _)) = self.0.sampler.recording {

View file

@ -216,10 +216,10 @@ render!(Tui: (self: PoolView<'a>) => {
let color = self.0.phrase().read().unwrap().color;
let border = Fill::xy(Outer(Style::default().fg(color.base.rgb).bg(bg)));
let enclose = |x|lay!(border, Padding::xy(0, 1, Tui::bg(bg, x)));
let content = Cond::either(
let content = Tui::either(
self.0.file_picker().is_some(),
Thunk::new(||self.0.file_picker().unwrap()),
Thunk::new(||Coll::map(phrases.iter(), |phrase, i|{
Thunk::new(||Tui::map(phrases.iter(), |phrase, i|{
let MidiClip { ref name, color, length, .. } = *phrase.read().unwrap();
let mut length = PhraseLength::new(length, None);
if let Some(PoolMode::Length(phrase, new_length, focus)) = self.0.mode {
@ -243,7 +243,7 @@ render!(Tui: (self: PoolView<'a>) => {
row2
}),
)));
Push::y(i as u16 * 2, lay!(clip, Cond::when(i == self.0.phrase_index(), CORNERS)))
Push::y(i as u16 * 2, lay!(clip, Tui::when(i == self.0.phrase_index(), CORNERS)))
})));
enclose(lay!(
//add(&Lozenge(Style::default().bg(border_bg).fg(border_color)))?;

View file

@ -56,12 +56,12 @@ render!(Tui: (self: SequencerTui) => {
p.as_ref().map(|p|p.read().unwrap().color)
).flatten().clone();
let toolbar = Cond::when(self.transport, row!(
let toolbar = Tui::when(self.transport, row!(
PlayPause(self.clock.is_rolling()),
TransportView::new(self, color, true),
));
let play_queue = Cond::when(self.selectors, row!(
let play_queue = Tui::when(self.selectors, row!(
PhraseSelector::play_phrase(&self.player),
PhraseSelector::next_phrase(&self.player),
));

View file

@ -121,7 +121,7 @@ render!(Tui: (self: TransportField) => row!(
pub struct PlayPause(pub bool);
render!(Tui: (self: PlayPause) => Tui::bg(
if self.0{Color::Rgb(0,128,0)}else{Color::Rgb(128,64,0)},
Fixed::x(5, Cond::either(self.0, Tui::fg(Color::Rgb(0, 255, 0), col!(
Fixed::x(5, Tui::either(self.0, Tui::fg(Color::Rgb(0, 255, 0), col!(
" 🭍🭑🬽 ",
" 🭞🭜🭘 ",
)), Tui::fg(Color::Rgb(255, 128, 0), col!(