use std::ops::RangeInclusive;
pub use xsynth_core::{
channel::ChannelInitOptions,
channel_group::{SynthFormat, ThreadCount},
};
#[derive(Clone, Debug, PartialEq)]
#[cfg_attr(
feature = "serde",
derive(serde::Deserialize, serde::Serialize),
serde(default)
)]
pub struct XSynthRealtimeConfig {
pub channel_init_options: ChannelInitOptions,
pub render_window_ms: f64,
pub format: SynthFormat,
pub multithreading: ThreadCount,
pub ignore_range: RangeInclusive<u8>,
}
impl Default for XSynthRealtimeConfig {
fn default() -> Self {
Self {
channel_init_options: Default::default(),
render_window_ms: 10.0,
format: Default::default(),
multithreading: ThreadCount::None,
ignore_range: 0..=0,
}
}
}