diff --git a/.gitignore b/.gitignore index 1a417612..a30778be 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ perf.data* flamegraph*.svg vgcore* example.mid +*/cov diff --git a/Justfile b/Justfile index ebecf465..ff7bc100 100644 --- a/Justfile +++ b/Justfile @@ -6,6 +6,8 @@ cloc: for src in {cli,edn/src,input/src,jack/src,midi/src,output/src,plugin/src,sampler/src,tek/src,time/src,tui/src}; do echo; echo $src; cloc --quiet $src; done test: cargo test --workspace --exclude jack +cov: + CARGO_INCREMENTAL=0 RUSTFLAGS='-Cinstrument-coverage' LLVM_PROFILE_FILE='cov/cargo-test-%p-%m.profraw' cargo test --workspace --exclude jack prof: CARGO_PROFILE_RELEASE_DEBUG=true cargo flamegraph -- arranger status: diff --git a/tek/src/view.rs b/tek/src/view.rs index 64472938..6055b5ce 100644 --- a/tek/src/view.rs +++ b/tek/src/view.rs @@ -201,7 +201,7 @@ impl Tek { let w = self.w(); let fg = Tui::g(224); let bg = Tui::g(64); - let mut h = 1 + self.midi_ins.len(); + let mut h = 2.max(1 + self.midi_ins.len()); for midi_in in self.midi_ins.iter() { h += midi_in.conn().len() } let conn = move|conn: &PortConnect|{ Fill::x(Align::w(Tui::bold(false, Tui::fg_bg(fg, bg, conn.info())))) @@ -231,7 +231,7 @@ impl Tek { fn view_outputs (&self) -> impl Content + use<'_> { let fg = Tui::g(224); let bg = Tui::g(64); - let mut h = 1 + self.midi_outs.len(); + let mut h = 2.max(1 + self.midi_outs.len()); for midi_out in self.midi_outs.iter() { h += midi_out.conn().len() } let header: ThunkBox<_> = io_header!( self, @@ -269,7 +269,10 @@ impl Tek { let bs = Style::default().fg(bfg).bg(bg); let cell = Bsp::e( Tui::fg_bg(bg, bg2, "▐"), - Tui::fg_bg(fg, bg, Tui::bold(true, Fill::x(Align::nw(name))))); + Bsp::w( + Tui::fg_bg(bg, Reset, "▌"), + Tui::fg_bg(fg, bg, Tui::bold(true, Fill::x(Align::nw(name)))), + )); Outer(active, bs).enclose(cell) }); self.view_row(self.w(), 1, header, cells)