mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-08 04:36:45 +01:00
wip: refactor pt.4, reduce number of files
This commit is contained in:
parent
adf5b3f0f8
commit
8c37c95cc6
60 changed files with 2185 additions and 2187 deletions
|
|
@ -20,16 +20,6 @@ impl SequencerCli {
|
|||
fn run (&self) -> Usually<()> {
|
||||
Tui::run(JackClient::new("tek_sequencer")?.activate_with(|jack|{
|
||||
let transport = TransportToolbar::new(jack, None);
|
||||
let sequencer = Sequencer {
|
||||
jack: jack.clone(),
|
||||
focus_cursor: (1, 1),
|
||||
entered: false,
|
||||
phrases: Arc::new(RwLock::new(PhrasePool::new())),
|
||||
editor: PhraseEditor::new(),
|
||||
clock: transport.clock.clone(),
|
||||
player: PhrasePlayer::new(jack, &transport.clock, "tek_sequencer")?,
|
||||
transport: self.transport.then_some(Arc::new(RwLock::new(transport))),
|
||||
};
|
||||
if let Some(_) = self.name.as_ref() {
|
||||
// TODO: sequencer.name = Arc::new(RwLock::new(name.clone()));
|
||||
}
|
||||
|
|
@ -41,8 +31,28 @@ impl SequencerCli {
|
|||
//phrase.write().unwrap().length = length;
|
||||
//}
|
||||
}
|
||||
Ok(sequencer)
|
||||
Ok(SequencerView {
|
||||
jack: jack.clone(),
|
||||
focus_cursor: (1, 1),
|
||||
entered: false,
|
||||
phrases: Arc::new(RwLock::new(PhrasePool::new())),
|
||||
editor: PhraseEditor::new(),
|
||||
clock: transport.clock.clone(),
|
||||
player: PhrasePlayer::new(jack, &transport.clock, "tek_sequencer")?,
|
||||
transport: self.transport.then_some(Arc::new(RwLock::new(transport))),
|
||||
})
|
||||
})?)?;
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
/// JACK process callback for sequencer app
|
||||
impl Audio for SequencerView {
|
||||
fn process (&mut self, client: &Client, scope: &ProcessScope) -> Control {
|
||||
if let Some(ref transport) = self.transport {
|
||||
transport.write().unwrap().process(client, scope);
|
||||
}
|
||||
self.player.process(client, scope);
|
||||
Control::Continue
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue