mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-06 19:56:42 +01:00
implement ConnectPort
This commit is contained in:
parent
0cca06e054
commit
9e4406c66a
4 changed files with 77 additions and 64 deletions
|
|
@ -49,15 +49,19 @@ impl MidiPlayer {
|
|||
pub fn new (
|
||||
jack: &Arc<RwLock<JackConnection>>,
|
||||
name: impl AsRef<str>,
|
||||
clip: Option<&Arc<RwLock<MidiClip>>>,
|
||||
midi_from: &[impl AsRef<str>],
|
||||
midi_to: &[impl AsRef<str>],
|
||||
) -> Usually<Self> {
|
||||
let name = name.as_ref();
|
||||
let midi_in = jack.midi_in(&format!("M/{name}"), midi_from)?;
|
||||
jack.connect_midi_from(&midi_in, midi_from)?;
|
||||
let midi_out = jack.midi_out(&format!("{name}/M"), midi_to)?;
|
||||
jack.connect_midi_to(&midi_out, midi_to)?;
|
||||
let clock = Clock::from(jack);
|
||||
Ok(Self {
|
||||
clock: Clock::from(jack),
|
||||
play_phrase: None,
|
||||
play_phrase: Some((Moment::zero(&clock.timebase), clip.cloned())),
|
||||
|
||||
next_phrase: None,
|
||||
recording: false,
|
||||
monitoring: false,
|
||||
|
|
@ -67,9 +71,10 @@ impl MidiPlayer {
|
|||
midi_ins: vec![midi_in],
|
||||
midi_outs: vec![midi_out],
|
||||
notes_out: RwLock::new([false;128]).into(),
|
||||
note_buf: vec![0;8],
|
||||
reset: true,
|
||||
|
||||
note_buf: vec![0;8],
|
||||
clock,
|
||||
})
|
||||
}
|
||||
pub fn play_status (&self) -> impl Content<TuiOut> {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue