use crate::*; /// Running JACK [AsyncClient] with maximum type erasure. /// /// One [Box] contains function that handles [JackEvent]s. /// /// Another [Box] containing a function that handles realtime IO. /// /// That's all it knows about them. pub type DynamicAsyncClient<'j> = AsyncClient, DynamicAudioHandler<'j>>; /// Notification handler wrapper for [BoxedAudioHandler]. pub type DynamicAudioHandler<'j> = ClosureProcessHandler<(), BoxedAudioHandler<'j>>; /// Boxed realtime callback. pub type BoxedAudioHandler<'j> = Box Control + Send + Sync + 'j>; /// Notification handler wrapper for [BoxedJackEventHandler]. pub type DynamicNotifications<'j> = JackNotify>; /// Boxed [JackEvent] callback. pub type BoxedJackEventHandler<'j> = Box;