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>, //markers: Sequence>, //audio: Sequence>, //midi: Sequence>, //osc: Sequence>, //} //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 { //events: Vec>, //next: usize, //} //impl Sequence { //fn new () -> Self { //Self { events: vec![], next: 0 } //} //} //struct Event { //time: u64, //data: T, //} //struct Marker { //name: String, //}