mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-06 11:46:41 +01:00
rewrite jack init
This commit is contained in:
parent
6c8f85ab84
commit
b2c9bfc0e2
19 changed files with 448 additions and 679 deletions
|
|
@ -27,7 +27,7 @@ pub trait MidiRecordApi: HasClock + HasPlayClip + HasMidiIns {
|
|||
let notes_in = self.notes_in().clone();
|
||||
let monitoring = self.monitoring();
|
||||
for input in self.midi_ins_mut().iter() {
|
||||
for (sample, event, bytes) in parse_midi_input(input.port.iter(scope)) {
|
||||
for (sample, event, bytes) in parse_midi_input(input.port().iter(scope)) {
|
||||
if let LiveEvent::Midi { message, .. } = event {
|
||||
if monitoring {
|
||||
midi_buf[sample].push(bytes.to_vec());
|
||||
|
|
@ -67,7 +67,7 @@ pub trait MidiRecordApi: HasClock + HasPlayClip + HasMidiIns {
|
|||
let mut clip = clip.write().unwrap();
|
||||
let length = clip.length;
|
||||
for input in self.midi_ins_mut().iter() {
|
||||
for (sample, event, bytes) in parse_midi_input(input.port.iter(scope)) {
|
||||
for (sample, event, bytes) in parse_midi_input(input.port().iter(scope)) {
|
||||
if let LiveEvent::Midi { message, .. } = event {
|
||||
clip.record_event({
|
||||
let sample = (sample0 + sample - start) as f64;
|
||||
|
|
|
|||
|
|
@ -143,7 +143,7 @@ pub trait MidiPlaybackApi: HasPlayClip + HasClock + HasMidiOuts {
|
|||
fn write (&mut self, scope: &ProcessScope, out: &[Vec<Vec<u8>>]) {
|
||||
let samples = scope.n_frames() as usize;
|
||||
for port in self.midi_outs_mut().iter_mut() {
|
||||
Self::write_port(&mut port.port.writer(scope), samples, out)
|
||||
Self::write_port(&mut port.port_mut().writer(scope), samples, out)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -62,11 +62,11 @@ impl Default for MidiPlayer {
|
|||
}
|
||||
impl MidiPlayer {
|
||||
pub fn new (
|
||||
jack: &JackClient,
|
||||
jack: &Jack,
|
||||
name: impl AsRef<str>,
|
||||
clip: Option<&Arc<RwLock<MidiClip>>>,
|
||||
midi_from: &[PortConnection],
|
||||
midi_to: &[PortConnection],
|
||||
midi_from: &[PortConnect],
|
||||
midi_to: &[PortConnect],
|
||||
) -> Usually<Self> {
|
||||
let name = name.as_ref();
|
||||
let clock = Clock::from(jack);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue