mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-06 19:56:42 +01:00
reenable global midi ins/outs
This commit is contained in:
parent
dff6f1e279
commit
9b549d7dfe
2 changed files with 13 additions and 4 deletions
|
|
@ -2,10 +2,10 @@ use crate::*;
|
|||
|
||||
#[derive(Debug)]
|
||||
pub struct JackPort<T: PortSpec> {
|
||||
/// Port name
|
||||
pub name: Arc<str>,
|
||||
/// Handle to JACK client, for receiving reconnect events.
|
||||
pub jack: Arc<RwLock<JackConnection>>,
|
||||
/// Port name
|
||||
pub name: Arc<str>,
|
||||
/// Port handle.
|
||||
pub port: Port<T>,
|
||||
/// List of ports to connect to.
|
||||
|
|
|
|||
|
|
@ -98,7 +98,8 @@ impl TekCli {
|
|||
Ok(match self.mode {
|
||||
TekMode::Clock =>
|
||||
engine.run(&jack.activate_with(|jack|Tek::new_clock(
|
||||
jack, self.bpm, self.sync_lead, self.sync_follow))?)?,
|
||||
jack, self.bpm, self.sync_lead, self.sync_follow,
|
||||
&midi_froms, &midi_tos))?)?,
|
||||
TekMode::Sequencer =>
|
||||
engine.run(&jack.activate_with(|jack|Tek::new_sequencer(
|
||||
jack, self.bpm, self.sync_lead, self.sync_follow,
|
||||
|
|
@ -297,7 +298,7 @@ impl Tek {
|
|||
editing: false.into(),
|
||||
midi_buf: vec![vec![];65536],
|
||||
player: Some(MidiPlayer::new(&jack, "sequencer", Some(&clip), &midi_froms, &midi_tos)?),
|
||||
..Self::new_clock(jack, bpm, sync_lead, sync_follow)?
|
||||
..Self::new_clock(jack, bpm, sync_lead, sync_follow, midi_froms, midi_tos)?
|
||||
})
|
||||
}
|
||||
fn new_clock (
|
||||
|
|
@ -305,12 +306,20 @@ impl Tek {
|
|||
bpm: Option<f64>,
|
||||
sync_lead: bool,
|
||||
sync_follow: bool,
|
||||
midi_froms: &[PortConnection],
|
||||
midi_tos: &[PortConnection],
|
||||
) -> Usually<Self> {
|
||||
let tek = Self {
|
||||
edn: include_str!("./view_transport.edn").to_string(),
|
||||
jack: jack.clone(),
|
||||
color: ItemPalette::random(),
|
||||
clock: Clock::new(jack, bpm),
|
||||
midi_ins: vec![
|
||||
JackPort::<MidiIn>::new(jack, "mi", midi_froms)?
|
||||
],
|
||||
midi_outs: vec![
|
||||
JackPort::<MidiOut>::new(jack, "mo", midi_tos)?
|
||||
],
|
||||
..Default::default()
|
||||
};
|
||||
tek.sync_lead(sync_lead);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue