cidre/av/audio/unit/
time_effect.rs1use crate::{arc, at, av::audio, define_cls, define_obj_type, objc};
2
3define_obj_type!(pub TimeEffect(audio::Unit));
4
5impl arc::A<TimeEffect> {
6 #[objc::msg_send(initWithAudioComponentDescription:)]
7 pub fn init_with_audio_component_desc(
8 self,
9 description: at::audio::ComponentDesc,
10 ) -> arc::R<TimeEffect>;
11}
12
13impl TimeEffect {
21 define_cls!(AV_AUDIO_UNIT_TIME_EFFECT);
22
23 #[objc::msg_send(bypass)]
24 pub fn bypass(&self) -> bool;
25
26 #[objc::msg_send(setBypass:)]
27 pub fn set_bypass(&mut self, value: bool);
28
29 pub fn with_component_desc(description: at::audio::ComponentDesc) -> arc::R<Self> {
30 Self::alloc().init_with_audio_component_desc(description)
31 }
32}
33
34unsafe extern "C" {
35 static AV_AUDIO_UNIT_TIME_EFFECT: &'static objc::Class<TimeEffect>;
36}