mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-06 19:56:42 +01:00
80 lines
1.4 KiB
Rust
80 lines
1.4 KiB
Rust
pub mod audio;
|
|
pub mod midi;
|
|
pub mod osc;
|
|
pub mod time;
|
|
|
|
pub type Frame = usize;
|
|
|
|
pub enum Time {
|
|
Fixed(Frame),
|
|
Synced(usize),
|
|
}
|
|
|
|
//enum Event {
|
|
//Trigger,
|
|
//Gate,
|
|
//MIDI(MIDIEvent),
|
|
//Audio,
|
|
//OSC,
|
|
//Text,
|
|
//Sequence
|
|
//}
|
|
|
|
//struct Clip {
|
|
//name: String,
|
|
//length: u64,
|
|
//start: u64,
|
|
//end: u64,
|
|
//clips: Sequence<Event<Clip>>,
|
|
//markers: Sequence<Event<Marker>>,
|
|
//audio: Sequence<Event<audio::Sample>>,
|
|
//midi: Sequence<Event<midi::Message>>,
|
|
//osc: Sequence<Event<osc::Command>>,
|
|
//}
|
|
|
|
//enum ClipData {
|
|
//Trigger,
|
|
//Gate,
|
|
//MIDI,
|
|
//Audio,
|
|
//OSC,
|
|
//Text,
|
|
//Clip
|
|
//}
|
|
|
|
//impl Clip {
|
|
//fn new (name: &str, length: u64) -> Self {
|
|
//Self {
|
|
//name: name.into(),
|
|
//length,
|
|
//start: 0,
|
|
//end: length,
|
|
//clips: Sequence::new(),
|
|
//markers: Sequence::new(),
|
|
//audio: Sequence::new(),
|
|
//midi: Sequence::new(),
|
|
//osc: Sequence::new(),
|
|
//}
|
|
//}
|
|
//}
|
|
|
|
//struct Sequence<T> {
|
|
//events: Vec<Event<T>>,
|
|
//next: usize,
|
|
//}
|
|
|
|
//impl<T> Sequence<T> {
|
|
//fn new () -> Self {
|
|
//Self { events: vec![], next: 0 }
|
|
//}
|
|
//}
|
|
|
|
//struct Event<T> {
|
|
//time: u64,
|
|
//data: T,
|
|
//}
|
|
|
|
//struct Marker {
|
|
//name: String,
|
|
//}
|
|
|