From a694903bdb26e5ec047059662532d8e8c37ba274 Mon Sep 17 00:00:00 2001 From: unspeaker Date: Wed, 9 Oct 2024 14:58:39 +0300 Subject: [PATCH] reenable transport control in standalone sequencer --- crates/tek_sequencer/src/sequencer_cli.rs | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/crates/tek_sequencer/src/sequencer_cli.rs b/crates/tek_sequencer/src/sequencer_cli.rs index 28418f4b..87583979 100644 --- a/crates/tek_sequencer/src/sequencer_cli.rs +++ b/crates/tek_sequencer/src/sequencer_cli.rs @@ -18,13 +18,26 @@ pub struct SequencerCli { impl SequencerCli { fn run (&self) -> Usually<()> { + let jack = JackClient::Inactive( + Client::new("tek_arranger", ClientOptions::NO_START_SERVER)?.0 + ); + let jack_transport = jack.transport(); + let mut transport = TransportToolbar::new(Some(jack_transport)); + transport.set_focused(true); + let transport = Arc::new(RwLock::new(transport)); + transport.write().unwrap().jack = Some( + jack.activate( + &transport.clone(), + |state: &Arc>>, client, scope| { + state.write().unwrap().process(client, scope) + } + )? + ); let seq = Sequencer { focus: 0, editor: PhraseEditor::new(), phrases: Arc::new(RwLock::new(PhrasePool::new())), - transport: self.transport.unwrap_or(true).then_some( - Arc::new(RwLock::new(TransportToolbar::new(None))) - ), + transport: Some(transport), }; if let Some(name) = self.name.as_ref() { // TODO