refactor app/jack init

This commit is contained in:
🪞👃🪞 2024-07-10 13:15:53 +03:00
parent 117f4d5363
commit 23d9910399
7 changed files with 166 additions and 80 deletions

View file

@ -14,7 +14,7 @@ macro_rules! edn {
}
impl App {
pub fn load_edn (&mut self, mut src: &str) -> Usually<()> {
pub fn load_edn (&mut self, mut src: &str) -> Usually<&mut Self> {
loop {
match clojure_reader::edn::read(src) {
Ok((edn, rest)) => {
@ -33,7 +33,7 @@ impl App {
},
}
}
Ok(())
Ok(self)
}
fn load_edn_one <'e> (&mut self, edn: Edn<'e>) -> Usually<()> {
match edn {
@ -96,7 +96,7 @@ impl Track {
fn load_edn <'a, 'e> (app: &'a mut App, args: &[Edn<'e>]) -> Usually<&'a mut Self> {
let ppq = app.timebase.ppq() as usize;
let mut name = app.new_track_name();
let mut gain = 0.0f64;
let mut _gain = 0.0f64;
let mut devices: Vec<JackDevice> = vec![];
let mut phrases: Vec<Phrase> = vec![];
edn!(edn in args {
@ -105,7 +105,7 @@ impl Track {
name = String::from(*n);
}
if let Some(Edn::Double(g)) = map.get(&Edn::Key(":gain")) {
gain = f64::from(*g)
_gain = f64::from(*g)
}
},
Edn::List(args) => match args.get(0) {
@ -132,7 +132,7 @@ impl Track {
track.add_device(device)?;
}
if let Some(device) = track.devices.get(0) {
device.connect_midi_in(0, &track.midi_out.clone_unowned())?;
//device.connect_midi_in(0, &track.midi_out.clone_unowned())?;
}
if let Some(device) = track.devices.get(track.devices.len() - 1) {
if let Some(ref left) = left {