mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-07 04:06:45 +01:00
auto launch default phrase
This commit is contained in:
parent
6705585f91
commit
387bc711e5
1 changed files with 14 additions and 5 deletions
|
|
@ -9,32 +9,41 @@ use SequencerFocus::*;
|
||||||
impl TryFrom<&Arc<RwLock<JackClient>>> for SequencerTui {
|
impl TryFrom<&Arc<RwLock<JackClient>>> for SequencerTui {
|
||||||
type Error = Box<dyn std::error::Error>;
|
type Error = Box<dyn std::error::Error>;
|
||||||
fn try_from (jack: &Arc<RwLock<JackClient>>) -> Usually<Self> {
|
fn try_from (jack: &Arc<RwLock<JackClient>>) -> Usually<Self> {
|
||||||
|
|
||||||
let clock = ClockModel::from(jack);
|
let clock = ClockModel::from(jack);
|
||||||
|
|
||||||
let mut phrase = Phrase::default();
|
let mut phrase = Phrase::default();
|
||||||
phrase.name = "New".into();
|
phrase.name = "New".into();
|
||||||
phrase.color = ItemColor::random().into();
|
phrase.color = ItemColor::random().into();
|
||||||
phrase.set_length(384);
|
phrase.set_length(384);
|
||||||
|
|
||||||
let mut phrases = PhraseListModel::default();
|
let mut phrases = PhraseListModel::default();
|
||||||
let phrase = Arc::new(RwLock::new(phrase));
|
let phrase = Arc::new(RwLock::new(phrase));
|
||||||
phrases.phrases.push(phrase.clone());
|
phrases.phrases.push(phrase.clone());
|
||||||
phrases.phrase.store(1, Ordering::Relaxed);
|
phrases.phrase.store(1, Ordering::Relaxed);
|
||||||
|
|
||||||
let mut editor = PhraseEditorModel::default();
|
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 {
|
Ok(Self {
|
||||||
|
clock,
|
||||||
|
phrases,
|
||||||
|
player,
|
||||||
|
editor,
|
||||||
jack: jack.clone(),
|
jack: jack.clone(),
|
||||||
phrases: phrases,
|
|
||||||
player: PhrasePlayerModel::from(&clock),
|
|
||||||
editor: editor,
|
|
||||||
size: Measure::new(),
|
size: Measure::new(),
|
||||||
cursor: (0, 0),
|
cursor: (0, 0),
|
||||||
entered: false,
|
entered: false,
|
||||||
split: 20,
|
split: 20,
|
||||||
midi_buf: vec![vec![];65536],
|
midi_buf: vec![vec![];65536],
|
||||||
note_buf: vec![],
|
note_buf: vec![],
|
||||||
clock,
|
|
||||||
perf: PerfModel::default(),
|
perf: PerfModel::default(),
|
||||||
focus: FocusState::Focused(SequencerFocus::PhraseEditor)
|
focus: FocusState::Focused(SequencerFocus::PhraseEditor)
|
||||||
})
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue