#![doc = include_str!("../README.md")]
mod auto;
mod client_info;
mod enums;
mod event;
mod event_cntr;
mod event_data_connect;
mod event_data_queue;
mod functions;
mod queue_status;
mod queue_tempo;
mod remove_filter;
mod user_client;
pub use {
auto::{functions::*, *},
functions::*,
};
pub mod prelude {
pub use crate::{
auto::traits::*, client_info::*, queue_status::*, queue_tempo::*, remove_filter::*,
user_client::*,
};
}
pub mod subclass;
pub use alsaseq_sys as ffi;
#[allow(unused_imports)]
pub(crate) use {alsatimer, glib};
use crate::prelude::*;
use glib::{object::IsA, prelude::Cast, translate::*, types::StaticType};
pub enum QueueTimer {
Alsa(QueueTimerAlsa),
}
impl From<QueueTimerCommon> for QueueTimer {
fn from(obj: QueueTimerCommon) -> Self {
match obj.timer_type() {
QueueTimerType::Alsa => QueueTimer::Alsa(obj.downcast().unwrap()),
_ => unreachable!(),
}
}
}
impl AsRef<QueueTimerCommon> for QueueTimer {
fn as_ref(&self) -> &QueueTimerCommon {
match self {
QueueTimer::Alsa(timer) => timer.upcast_ref(),
}
}
}