connect devices to main out

This commit is contained in:
🪞👃🪞 2024-07-11 15:06:53 +03:00
parent 8f3c83f8c3
commit ed5144f722

View file

@ -18,6 +18,7 @@ pub fn main () -> Usually<()> {
.with_midi_ins(&["nanoKEY Studio.*capture.*"])? .with_midi_ins(&["nanoKEY Studio.*capture.*"])?
.with_audio_outs(&["Komplete.+:playback_FL", "Komplete.+:playback_FR"])? .with_audio_outs(&["Komplete.+:playback_FL", "Komplete.+:playback_FR"])?
.activate(Some(|app: &Arc<RwLock<App>>| { .activate(Some(|app: &Arc<RwLock<App>>| {
let (midi_in, mut midi_outs) = { let (midi_in, mut midi_outs) = {
let app = app.read().unwrap(); let app = app.read().unwrap();
let jack = app.jack.as_ref().unwrap(); let jack = app.jack.as_ref().unwrap();
@ -27,6 +28,7 @@ pub fn main () -> Usually<()> {
.collect::<Vec<_>>(); .collect::<Vec<_>>();
(midi_in, midi_outs) (midi_in, midi_outs)
}; };
{ {
let mut app = app.write().unwrap(); let mut app = app.write().unwrap();
let jack = app.jack.as_ref().unwrap(); let jack = app.jack.as_ref().unwrap();
@ -38,10 +40,15 @@ pub fn main () -> Usually<()> {
app.midi_in = Some(Arc::new(midi_in)); app.midi_in = Some(Arc::new(midi_in));
for (index, track) in app.tracks.iter_mut().enumerate() { for (index, track) in app.tracks.iter_mut().enumerate() {
track.midi_out = midi_outs[index].take(); track.midi_out = midi_outs[index].take();
}
for track in app.tracks.iter() {
track.connect_first_device()?; track.connect_first_device()?;
track.connect_last_device(&app)?;
} }
} }
Ok(()) Ok(())
}))?; }))?;
run(app)?; run(app)?;
Ok(()) Ok(())