mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-06 19:56:42 +01:00
wip: refactor pt.21: api traits
This commit is contained in:
parent
b8708d6b2d
commit
029614631e
10 changed files with 626 additions and 490 deletions
|
|
@ -24,7 +24,7 @@ impl TryFrom<&Arc<RwLock<JackClient>>> for ArrangerApp {
|
|||
let phrases = Arc::new(RwLock::new(PhrasePool { phrases: vec![] }));
|
||||
|
||||
let model = Arc::new(RwLock::new(Arranger {
|
||||
arrangement: Arc::new(RwLock::new(ArrangerModel {
|
||||
arrangement: Arc::new(RwLock::new(ArrangerModel {
|
||||
jack: jack.clone(),
|
||||
clock: clock.clone(),
|
||||
name: Arc::new(RwLock::new(String::new())),
|
||||
|
|
@ -32,13 +32,13 @@ impl TryFrom<&Arc<RwLock<JackClient>>> for ArrangerApp {
|
|||
tracks: vec![],
|
||||
scenes: vec![],
|
||||
})),
|
||||
sequencer: Arc::new(RwLock::new(SequencerModel {
|
||||
sequencer: Arc::new(RwLock::new(SequencerModel {
|
||||
transport: transport.clone(),
|
||||
phrases: phrases.clone(),
|
||||
player: Arc::new(RwLock::new(MIDIPlayer::new(jack, &clock, "preview")?)),
|
||||
})),
|
||||
transport: transport.clone(),
|
||||
phrases: phrases.clone(),
|
||||
transport: transport.clone(),
|
||||
phrases: phrases.clone(),
|
||||
}));
|
||||
|
||||
Ok(Self::new(
|
||||
|
|
|
|||
|
|
@ -43,15 +43,6 @@ impl TryFrom<&Arc<RwLock<JackClient>>> for SequencerApp {
|
|||
}
|
||||
}
|
||||
|
||||
pub struct SequencerModel {
|
||||
/// State of the JACK transport.
|
||||
pub transport: Arc<RwLock<tek_api::Transport>>,
|
||||
/// State of the phrase pool.
|
||||
pub phrases: Arc<RwLock<PhrasePool>>,
|
||||
/// State of the phrase player.
|
||||
pub player: Arc<RwLock<MIDIPlayer>>,
|
||||
}
|
||||
|
||||
impl<E: Engine> From<&Arc<RwLock<SequencerModel>>> for SequencerView<E> {
|
||||
fn from (model: &Arc<RwLock<SequencerModel>>) -> Self {
|
||||
Self {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue