mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-06 11:46:41 +01:00
unify edn_view entrypoint
This commit is contained in:
parent
df50bb9f47
commit
9cd6e9f195
16 changed files with 603 additions and 541 deletions
|
|
@ -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(())
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue