getting there

This commit is contained in:
Josh Jeppson 2024-11-14 09:20:45 -07:00
parent 2629a52be0
commit fffc1f7e3f

View file

@ -3,6 +3,7 @@
use clap::Parser; use clap::Parser;
use eframe::egui::*; use eframe::egui::*;
use egui_flex::{item, Flex, FlexAlignContent}; use egui_flex::{item, Flex, FlexAlignContent};
use jack::AsyncClient;
use std::sync::{Arc, Mutex}; use std::sync::{Arc, Mutex};
@ -29,7 +30,7 @@ fn main() -> eframe::Result {
) )
} }
fn start_jack(mixer: Arc<Mutex<FslcMix>>) { fn start_jack(mixer: Arc<Mutex<FslcMix>>) -> |&jack::Client, &jack::ProcessScope| -> jack::Control {
let unlocked_mixer = mixer.lock().unwrap(); let unlocked_mixer = mixer.lock().unwrap();
let (client, _status) = jack::Client::new("fslcmix", jack::ClientOptions::default()).unwrap(); let (client, _status) = jack::Client::new("fslcmix", jack::ClientOptions::default()).unwrap();
let in_ports = unlocked_mixer.channels.iter().map( let in_ports = unlocked_mixer.channels.iter().map(
@ -47,10 +48,10 @@ fn start_jack(mixer: Arc<Mutex<FslcMix>>) {
} }
jack::Control::Continue jack::Control::Continue
} }
}; }
// Create process and activate the client // Create process and activate the client
let process = jack::contrib::ClosureProcessHandler::new(process_callback); // let process = jack::contrib::ClosureProcessHandler::new(process_callback);
client.activate_async((), process).unwrap(); // client.activate_async((), process).unwrap();
} }
struct MixApp { struct MixApp {