tek/crates/device/src/sequencer.rs

28 lines
909 B
Rust

mod seq_audio; pub use self::seq_audio::*;
mod seq_clip; pub use self::seq_clip::*;
mod seq_launch; pub use self::seq_launch::*;
mod seq_model; pub use self::seq_model::*;
mod seq_view; pub use self::seq_view::*;
#[cfg(test)] #[test] pub fn test_midi_clip () {
use crate::*;
let clip = MidiClip::stop_all();
println!("{clip:?}");
let clip = MidiClip::default();
let mut clip = MidiClip::new("clip", true, 1, None, None);
clip.set_length(96);
clip.toggle_loop();
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);
let clip = std::sync::Arc::new(clip);
assert_eq!(clip.clone(), clip);
}
#[cfg(test)] #[test] fn test_midi_play () {
use crate::*;
let sequencer = Sequencer::default();
println!("{sequencer:?}");
}