unify edn_view entrypoint

This commit is contained in:
🪞👃🪞 2025-01-14 15:39:28 +01:00
parent df50bb9f47
commit 9cd6e9f195
16 changed files with 603 additions and 541 deletions

View file

@ -1,18 +1,19 @@
use tek::*;
use tek_midi::*;
use std::sync::*;
struct ExampleClips(Vec<Arc<RwLock<Clip>>>);
struct ExampleClips(Arc<RwLock<Vec<Arc<RwLock<MidiClip>>>>>);
impl HasClips for ExampleClips {
fn phrases (&self) -> &Vec<Arc<RwLock<Clip>>> {
&self.0
fn clips (&self) -> RwLockReadGuard<'_, Vec<Arc<RwLock<MidiClip>>>> {
self.0.read().unwrap()
}
fn phrases_mut (&mut self) -> &mut Vec<Arc<RwLock<Clip>>> {
&mut self.0
fn clips_mut (&self) -> RwLockWriteGuard<'_, Vec<Arc<RwLock<MidiClip>>>> {
self.0.write().unwrap()
}
}
fn main () -> Usually<()> {
let mut phrases = ExampleClips(vec![]);
PoolClipCommand::Import(0, String::from("./example.mid")).execute(&mut phrases)?;
fn main () -> Result<(), Box<dyn std::error::Error>> {
let mut clips = ExampleClips(Arc::new(vec![].into()));
PoolClipCommand::Import(0, String::from("./example.mid")).execute(&mut clips)?;
Ok(())
}