From 9e8572ae0f44edba8cc9bd4b4584f092e33ffcd5 Mon Sep 17 00:00:00 2001 From: unspeaker Date: Fri, 9 May 2025 22:11:15 +0300 Subject: [PATCH] tests compile again --- crates/app/examples/midi_import.rs | 7 +++++-- crates/app/src/lib.rs | 26 ++++++++++++++++++++++++++ crates/app/src/view.rs | 20 ++++++++++---------- crates/device/src/sequencer.rs | 28 +--------------------------- crates/engine/src/lib.rs | 18 +++++++++--------- 5 files changed, 51 insertions(+), 48 deletions(-) diff --git a/crates/app/examples/midi_import.rs b/crates/app/examples/midi_import.rs index 90b848a1..339bb880 100644 --- a/crates/app/examples/midi_import.rs +++ b/crates/app/examples/midi_import.rs @@ -11,7 +11,10 @@ impl HasClips for ExampleClips { } } fn main () -> Result<(), Box> { - let mut clips = ExampleClips(Arc::new(vec![].into())); - PoolClipCommand::Import(0, std::path::PathBuf::from("./example.mid")).execute(&mut clips)?; + let mut clips = MidiPool::default();//ExampleClips(Arc::new(vec![].into())); + PoolClipCommand::Import { + index: 0, + path: std::path::PathBuf::from("./example.mid") + }.execute(&mut clips)?; Ok(()) } diff --git a/crates/app/src/lib.rs b/crates/app/src/lib.rs index c83d835b..cda6e94b 100644 --- a/crates/app/src/lib.rs +++ b/crates/app/src/lib.rs @@ -122,3 +122,29 @@ mod view; pub use self::view::*; let _ = app.h_outputs(); let _ = app.h_scenes(); } + +#[cfg(test)] #[test] fn test_midi_edit () { + let editor = MidiEditor::default(); + let mut editor = MidiEditor { + mode: PianoHorizontal::new(Some(&Arc::new(RwLock::new(MidiClip::stop_all())))), + size: Default::default(), + //keys: Default::default(), + }; + let _ = editor.put_note(true); + let _ = editor.put_note(false); + let _ = editor.clip_status(); + let _ = editor.edit_status(); + struct TestEditorHost(Option); + has_editor!(|self: TestEditorHost|{ + editor = self.0; + editor_w = 0; + editor_h = 0; + is_editing = false; + }); + let mut host = TestEditorHost(Some(editor)); + let _ = host.editor(); + let _ = host.editor_mut(); + let _ = host.is_editing(); + let _ = host.editor_w(); + let _ = host.editor_h(); +} diff --git a/crates/app/src/view.rs b/crates/app/src/view.rs index 22bf3d02..271c8251 100644 --- a/crates/app/src/view.rs +++ b/crates/app/src/view.rs @@ -4,10 +4,10 @@ pub(crate) use ::tengri::tui::ratatui::prelude::Position; #[tengri_proc::view(TuiOut)] impl App { - fn view_nil (&self) -> impl Content + use<'_> { + pub fn view_nil (&self) -> impl Content + use<'_> { "nil" } - fn view_status (&self) -> impl Content + use<'_> { + pub fn view_status (&self) -> impl Content + use<'_> { self.update_clock(); let cache = self.view_cache.read().unwrap(); view_status( @@ -15,7 +15,7 @@ impl App { cache.sr.view.clone(), cache.buf.view.clone(), cache.lat.view.clone(), ) } - fn view_transport (&self) -> impl Content + use<'_> { + pub fn view_transport (&self) -> impl Content + use<'_> { self.update_clock(); let cache = self.view_cache.read().unwrap(); view_transport( @@ -23,25 +23,25 @@ impl App { cache.bpm.view.clone(), cache.beat.view.clone(), cache.time.view.clone(), ) } - fn view_arranger (&self) -> impl Content + use<'_> { + pub fn view_arranger (&self) -> impl Content + use<'_> { ArrangerView::new(self) } - fn view_pool (&self) -> impl Content + use<'_> { + pub fn view_pool (&self) -> impl Content + use<'_> { self.pool().map(|p|Fixed::x(self.w_sidebar(), PoolView(self.is_editing(), p))) } - fn view_editor (&self) -> impl Content + use<'_> { + pub fn view_editor (&self) -> impl Content + use<'_> { self.editor().map(|e|Bsp::n(Bsp::e(e.clip_status(), e.edit_status()), e)) } - fn view_samples_keys (&self) -> impl Content + use<'_> { + pub fn view_samples_keys (&self) -> impl Content + use<'_> { self.sampler().map(|s|s.view_list(false, self.editor().unwrap())) } - fn view_samples_grid (&self) -> impl Content + use<'_> { + pub fn view_samples_grid (&self) -> impl Content + use<'_> { self.sampler().map(|s|s.view_grid()) } - fn view_sample_viewer (&self) -> impl Content + use<'_> { + pub fn view_sample_viewer (&self) -> impl Content + use<'_> { self.sampler().map(|s|s.view_sample(self.editor().unwrap().get_note_pos())) } - fn view_dialog (&self) -> impl Content + use<'_> { + pub fn view_dialog (&self) -> impl Content + use<'_> { When::new(self.dialog.is_some(), Bsp::b( Fill::xy(Tui::fg_bg(Rgb(64,64,64), Rgb(32,32,32), "")), Fixed::xy(30, 15, Tui::fg_bg(Rgb(255,255,255), Rgb(16,16,16), Bsp::b( diff --git a/crates/device/src/sequencer.rs b/crates/device/src/sequencer.rs index 8bccc2eb..ba8ab65e 100644 --- a/crates/device/src/sequencer.rs +++ b/crates/device/src/sequencer.rs @@ -13,7 +13,7 @@ mod seq_view; pub use self::seq_view::*; let mut clip = MidiClip::new("clip", true, 1, None, None); clip.set_length(96); clip.toggle_loop(); - clip.record_event(12, midly::MidiMessage::NoteOn { key: 36.into(), vel: 100.into() }); + clip.record_event(12, MidiMessage::NoteOn { key: 36.into(), vel: 100.into() }); assert!(clip.contains_note_on(36.into(), 6, 18)); assert_eq!(&clip.notes, &clip.duplicate().notes); @@ -25,29 +25,3 @@ mod seq_view; pub use self::seq_view::*; let player = MidiPlayer::default(); println!("{player:?}"); } - -#[cfg(test)] #[test] fn test_midi_edit () { - let editor = MidiEditor::default(); - let mut editor = MidiEditor { - mode: PianoHorizontal::new(Some(&Arc::new(RwLock::new(MidiClip::stop_all())))), - size: Default::default(), - keys: Default::default(), - }; - let _ = editor.put_note(true); - let _ = editor.put_note(false); - let _ = editor.clip_status(); - let _ = editor.edit_status(); - struct TestEditorHost(Option); - has_editor!(|self: TestEditorHost|{ - editor = self.0; - editor_w = 0; - editor_h = 0; - is_editing = false; - }); - let mut host = TestEditorHost(Some(editor)); - let _ = host.editor(); - let _ = host.editor_mut(); - let _ = host.is_editing(); - let _ = host.editor_w(); - let _ = host.editor_h(); -} diff --git a/crates/engine/src/lib.rs b/crates/engine/src/lib.rs index fb4352f8..860178fc 100644 --- a/crates/engine/src/lib.rs +++ b/crates/engine/src/lib.rs @@ -58,14 +58,14 @@ impl InteriorMutable for AtomicUsize { #[cfg(test)] #[test] fn test_midi_range () { let model = MidiRangeModel::from((1, false)); - let _ = model.time_len(); - let _ = model.time_zoom(); - let _ = model.time_lock(); - let _ = model.time_start(); - let _ = model.time_axis(); - let _ = model.time_end(); + let _ = model.get_time_len(); + let _ = model.get_time_zoom(); + let _ = model.get_time_lock(); + let _ = model.get_time_start(); + let _ = model.get_time_axis(); + let _ = model.get_time_end(); - let _ = model.note_lo(); - let _ = model.note_axis(); - let _ = model.note_hi(); + let _ = model.get_note_lo(); + let _ = model.get_note_axis(); + let _ = model.get_note_hi(); }