wip: AudioEngine (new jack init)

This commit is contained in:
🪞👃🪞 2024-11-03 02:44:58 +02:00
parent 98cf8da424
commit 2303b258f6
5 changed files with 108 additions and 80 deletions

View file

@ -24,10 +24,10 @@ impl SequencerCli {
let clock = transport.read().unwrap().clock.clone();
let sequencer = Sequencer {
jack: None,
player: None,
focus_cursor: (1, 1),
phrases: Arc::new(RwLock::new(PhrasePool::new())),
editor: PhraseEditor::new(),
player: PhrasePlayer::new(&clock),
transport: self.transport.then_some(transport),
clock,
};
@ -44,11 +44,13 @@ impl SequencerCli {
}
let sequencer = Arc::new(RwLock::new(sequencer));
let jack = jack.activate(&sequencer.clone(), Sequencer::callback)?;
let jack = Some(jack.into());
let jack = Arc::new(jack);
let player = PhrasePlayer::new(&jack, &clock);
if let Some(ref transport) = sequencer.read().unwrap().transport {
transport.write().unwrap().jack = jack.clone();
transport.write().unwrap().jack = Some(jack.clone());
}
sequencer.write().unwrap().jack = jack.clone();
sequencer.write().unwrap().jack = Some(jack.clone());
sequencer.write().unwrap().player = player;
Tui::run(sequencer).map(|_|())
}
}