pub(crate) struct AudioListenerNode {
channel_info: ChannelInfo,
position_x: Param,
position_y: Param,
position_z: Param,
forward_x: Param,
forward_y: Param,
forward_z: Param,
up_x: Param,
up_y: Param,
up_z: Param,
}Expand description
AudioListeners are fake nodes; from the user’s point of view they’re a non-node entity with zero inputs and outputs, but with AudioParams that can be manipulated.
Internally, PannerNodes all have an implicit PortIndex::Listener connection from a hidden output port on AudioListeners that contains all the position data.
This encodes the otherwise implicit dependency between AudioListeners and PannerNodes so that if there is a cycle involving panner nodes and the audio params on the listener, the cycle breaking algorithm can deal with it.
Fields§
§channel_info: ChannelInfo§position_x: Param§position_y: Param§position_z: Param§forward_x: Param§forward_y: Param§forward_z: Param§up_x: Param§up_y: Param§up_z: ParamImplementations§
Trait Implementations§
Source§impl AudioNodeCommon for AudioListenerNode
impl AudioNodeCommon for AudioListenerNode
fn channel_info(&self) -> &ChannelInfo
fn channel_info_mut(&mut self) -> &mut ChannelInfo
Source§impl AudioNodeEngine for AudioListenerNode
impl AudioNodeEngine for AudioListenerNode
fn node_type(&self) -> AudioNodeType
fn process(&mut self, inputs: Chunk, info: &BlockInfo) -> Chunk
fn input_count(&self) -> u32
fn get_param(&mut self, id: ParamType) -> &mut Param
fn message(&mut self, msg: AudioNodeMessage, sample_rate: f32)
Source§fn message_specific(&mut self, _: AudioNodeMessage, _sample_rate: f32)
fn message_specific(&mut self, _: AudioNodeMessage, _sample_rate: f32)
Messages specific to this node
fn output_count(&self) -> u32
Source§fn channel_count(&self) -> u8
fn channel_count(&self) -> u8
Number of input channels for each input port
fn channel_count_mode(&self) -> ChannelCountMode
fn channel_interpretation(&self) -> ChannelInterpretation
fn set_channel_interpretation(&mut self, i: ChannelInterpretation)
fn set_channel_count(&mut self, c: u8)
fn set_channel_count_mode(&mut self, m: ChannelCountMode)
Source§fn destination_data(&mut self) -> Option<Chunk>
fn destination_data(&mut self) -> Option<Chunk>
If we’re the destination node, extract the contained data
fn set_listenerdata(&mut self, _: Block)
Auto Trait Implementations§
impl Freeze for AudioListenerNode
impl RefUnwindSafe for AudioListenerNode
impl Send for AudioListenerNode
impl Sync for AudioListenerNode
impl Unpin for AudioListenerNode
impl UnsafeUnpin for AudioListenerNode
impl UnwindSafe for AudioListenerNode
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> MaybeBoxed<Box<T>> for T
impl<T> MaybeBoxed<Box<T>> for T
Source§fn maybe_boxed(self) -> Box<T>
fn maybe_boxed(self) -> Box<T>
Convert
Source§impl<T> MaybeBoxed<T> for T
impl<T> MaybeBoxed<T> for T
Source§fn maybe_boxed(self) -> T
fn maybe_boxed(self) -> T
Convert