pub unsafe trait DeviceObject: Any {
// Required methods
fn alto(&self) -> &Alto;
fn specifier(&self) -> Option<&CStr>;
fn as_raw(&self) -> *mut ALCdevice;
fn is_extension_present(&self, _: Alc) -> bool;
fn connected(&self) -> AltoResult<bool>;
fn enumerate_soft_hrtfs(&self) -> Vec<CString>;
fn soft_hrtf_status(&self) -> SoftHrtfStatus;
fn soft_output_limiter(&self) -> bool;
fn max_aux_sends(&self) -> ALCint;
fn to_device(&self) -> Device;
}
Expand description
Common capabilities expoed by both real and loopback devices.
Required Methods§
Sourcefn is_extension_present(&self, _: Alc) -> bool
fn is_extension_present(&self, _: Alc) -> bool
alcIsExtensionPresent()
Sourcefn connected(&self) -> AltoResult<bool>
fn connected(&self) -> AltoResult<bool>
alcGetIntegerv(ALC_CONNECTED)
Requires ALC_EXT_disconnect
Sourcefn enumerate_soft_hrtfs(&self) -> Vec<CString>
fn enumerate_soft_hrtfs(&self) -> Vec<CString>
alcGetStringiSOFT(ALC_HRTF_SPECIFIER_SOFT)
Requires ALC_SOFT_HRTF
Sourcefn soft_hrtf_status(&self) -> SoftHrtfStatus
fn soft_hrtf_status(&self) -> SoftHrtfStatus
alcGetIntegerv(ALC_HRTF_STATUS_SOFT)
Requires ALC_SOFT_HRTF
Sourcefn soft_output_limiter(&self) -> bool
fn soft_output_limiter(&self) -> bool
alcGetIntegerv(ALC_OUTPUT_LIMITER_SOFT)
Requires ALC_SOFT_output_limiter
Sourcefn max_aux_sends(&self) -> ALCint
fn max_aux_sends(&self) -> ALCint
alcGetIntegerv(ALC_MAX_AUXILIARY_SENDS)
Requires ALC_EXT_EFX