From 387bc711e554bb36e7c6ab20a4ae1945af60c647 Mon Sep 17 00:00:00 2001 From: unspeaker Date: Tue, 10 Dec 2024 19:32:39 +0100 Subject: [PATCH] auto launch default phrase --- crates/tek/src/tui/app_sequencer.rs | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/crates/tek/src/tui/app_sequencer.rs b/crates/tek/src/tui/app_sequencer.rs index 66e1a55b..75d0b9b5 100644 --- a/crates/tek/src/tui/app_sequencer.rs +++ b/crates/tek/src/tui/app_sequencer.rs @@ -9,32 +9,41 @@ use SequencerFocus::*; impl TryFrom<&Arc>> for SequencerTui { type Error = Box; fn try_from (jack: &Arc>) -> Usually { + let clock = ClockModel::from(jack); + let mut phrase = Phrase::default(); phrase.name = "New".into(); phrase.color = ItemColor::random().into(); phrase.set_length(384); + let mut phrases = PhraseListModel::default(); let phrase = Arc::new(RwLock::new(phrase)); phrases.phrases.push(phrase.clone()); phrases.phrase.store(1, Ordering::Relaxed); + let mut editor = PhraseEditorModel::default(); - editor.show_phrase(Some(phrase)); + editor.show_phrase(Some(phrase.clone())); + + let mut player = PhrasePlayerModel::from(&clock); + player.play_phrase = Some((Moment::zero(&clock.timebase), Some(phrase))); + Ok(Self { + clock, + phrases, + player, + editor, jack: jack.clone(), - phrases: phrases, - player: PhrasePlayerModel::from(&clock), - editor: editor, size: Measure::new(), cursor: (0, 0), entered: false, split: 20, midi_buf: vec![vec![];65536], note_buf: vec![], - clock, perf: PerfModel::default(), focus: FocusState::Focused(SequencerFocus::PhraseEditor) }) + } }