mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-07 20:26:42 +01:00
wip: down to 25 errors woo
This commit is contained in:
parent
89288f2920
commit
6ce83fb27a
25 changed files with 688 additions and 620 deletions
|
|
@ -1,20 +1,20 @@
|
|||
//! MIDI sequencer
|
||||
use crate::*;
|
||||
|
||||
impl<T: Has<Sequencer>> HasSequencer for T {
|
||||
fn sequencer (&self) -> &impl MidiSequencer {
|
||||
self.get()
|
||||
}
|
||||
fn sequencer_mut (&mut self) -> &mut impl MidiSequencer {
|
||||
self.get_mut()
|
||||
}
|
||||
}
|
||||
|
||||
pub trait HasSequencer {
|
||||
fn sequencer (&self) -> &impl MidiSequencer;
|
||||
fn sequencer_mut (&mut self) -> &mut impl MidiSequencer;
|
||||
}
|
||||
|
||||
#[macro_export] macro_rules! has_sequencer {
|
||||
(|$self:ident:$Struct:ident$(<$($L:lifetime),*$($T:ident$(:$U:path)?),*>)?|$cb:expr) => {
|
||||
impl $(<$($L),*$($T $(: $U)?),*>)? HasSequencer for $Struct $(<$($L),*$($T),*>)? {
|
||||
fn sequencer (&$self) -> &impl MidiSequencer { &$cb }
|
||||
fn sequencer_mut (&mut $self) -> &mut impl MidiSequencer { &mut$cb }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// Contains state for playing a clip
|
||||
pub struct Sequencer {
|
||||
/// State of clock and playhead
|
||||
|
|
@ -102,7 +102,7 @@ impl std::fmt::Debug for Sequencer {
|
|||
}
|
||||
}
|
||||
|
||||
has_clock!(|self: Sequencer|self.clock);
|
||||
has!(Clock: |self: Sequencer|self.clock);
|
||||
has!(Vec<JackMidiIn>: |self:Sequencer| self.midi_ins);
|
||||
has!(Vec<JackMidiOut>: |self:Sequencer| self.midi_outs);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue