synthizer/
scalar_panned_source.rs

1use crate::internal_prelude::*;
2
3#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd, Hash)]
4pub struct ScalarPannedSource(pub(crate) Handle);
5
6impl ScalarPannedSource {
7    pub fn new(
8        context: &Context,
9        panner_strategy: PannerStrategy,
10        panning_scalar: f64,
11    ) -> Result<ScalarPannedSource> {
12        wrap_constructor(|ud, cb| {
13            let mut h = Default::default();
14            check_error(unsafe {
15                syz_createScalarPannedSource(
16                    &mut h as *mut syz_Handle,
17                    context.to_syz_handle(),
18                    panner_strategy as i32,
19                    panning_scalar,
20                    std::ptr::null_mut(),
21                    ud,
22                    Some(cb),
23                )
24            })?;
25            Ok(ScalarPannedSource(Handle::new(h)))
26        })
27    }
28
29    source_properties!();
30    double_p!(SYZ_P_PANNING_SCALAR, panning_scalar);
31
32    object_common!();
33    pausable_common!();
34    source_common!();
35}
36
37handle_traits!(ScalarPannedSource);