reenable transport control in standalone sequencer

This commit is contained in:
🪞👃🪞 2024-10-09 14:58:39 +03:00
parent 225eda0d24
commit a694903bdb

View file

@ -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<RwLock<TransportToolbar<Tui>>>, 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