use super::*; /// Trait for things that have a JACK process callback. pub trait Process { fn process (&mut self, _: &Client, _: &ProcessScope) -> Control { Control::Continue } } /// Define the JACK process callback associated with a struct. #[macro_export] macro_rules! process { ($T:ty) => { impl Process for $T {} }; ($T:ty |$self:ident, $c:ident, $s:ident|$block:tt) => { impl Process for $T { fn process (&mut $self, $c: &Client, $s: &ProcessScope) -> Control { $block } } }; ($T:ty = $process:path) => { impl Process for $T { fn process (&mut self, c: &Client, s: &ProcessScope) -> Control { $process(self, c, s) } } } }