auto launch default phrase

This commit is contained in:
🪞👃🪞 2024-12-10 19:32:39 +01:00
parent 6705585f91
commit 387bc711e5

View file

@ -9,32 +9,41 @@ use SequencerFocus::*;
impl TryFrom<&Arc<RwLock<JackClient>>> for SequencerTui {
type Error = Box<dyn std::error::Error>;
fn try_from (jack: &Arc<RwLock<JackClient>>) -> Usually<Self> {
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)
})
}
}