pub struct SamplerNode {
pub sample: Option<ArcGc<dyn SampleResource>>,
pub volume: Volume,
pub play: Notify<bool>,
pub play_from: PlayFrom,
pub repeat_mode: RepeatMode,
pub speed: f64,
pub mono_to_stereo: bool,
pub crossfade_on_seek: bool,
pub min_gain: f32,
}Expand description
A node that plays samples
It supports pausing, resuming, looping, and changing the playback speed.
Fields§
§sample: Option<ArcGc<dyn SampleResource>>The sample resource to use.
volume: VolumeThe volume to play the sample at.
Note, this gain parameter is NOT smoothed! If you need the gain to be
smoothed, please use a VolumeNode or a VolumePanNode.
play: Notify<bool>Whether or not the current sample should start/restart playing (true), or be paused/stopped (false).
play_from: PlayFromDefines where the sampler should start playing from when
SamplerNode::play is set to true.
repeat_mode: RepeatModeHow many times a sample should be repeated.
speed: f64The speed at which to play the sample at. 1.0 means to play the sound at
its original speed, < 1.0 means to play the sound slower (which will make
it lower-pitched), and > 1.0 means to play the sound faster (which will
make it higher-pitched).
mono_to_stereo: boolIf true, then mono samples will be converted to stereo during playback.
By default this is set to true.
crossfade_on_seek: boolIf true, then samples will be crossfaded when the playhead or sample is changed (if a sample was currently playing when the event was sent).
By default this is set to true.
min_gain: f32If the resutling gain (in raw amplitude, not decibels) is less
than or equal to this value, then the gain will be clamped to
0.0 (silence).
By default this is set to 0.00001 (-100 decibels).
Implementations§
Source§impl SamplerNode
impl SamplerNode
Sourcepub fn set_sample(&mut self, sample: ArcGc<dyn SampleResource>)
pub fn set_sample(&mut self, sample: ArcGc<dyn SampleResource>)
Set the parameters to a play a single sample.
Sourcepub fn sync_sample_event(&self) -> NodeEventType
pub fn sync_sample_event(&self) -> NodeEventType
Returns an event type to sync the sample parameter.
Sourcepub fn sync_volume_event(&self) -> NodeEventType
pub fn sync_volume_event(&self) -> NodeEventType
Returns an event type to sync the volume parameter.
Sourcepub fn sync_play_event(&self) -> NodeEventType
pub fn sync_play_event(&self) -> NodeEventType
Returns an event type to sync the play parameter.
Sourcepub fn sync_play_from_event(&self) -> NodeEventType
pub fn sync_play_from_event(&self) -> NodeEventType
Returns an event type to sync the play_from parameter.
Sourcepub fn sync_repeat_mode_event(&self) -> NodeEventType
pub fn sync_repeat_mode_event(&self) -> NodeEventType
Returns an event type to sync the playhead parameter.
Sourcepub fn sync_speed_event(&self) -> NodeEventType
pub fn sync_speed_event(&self) -> NodeEventType
Returns an event type to sync the speed parameter.
Sourcepub fn start_or_restart(&mut self)
pub fn start_or_restart(&mut self)
Start/restart the sample in this node.
If a sample is already playing, then it will restart from the beginning.
Sourcepub fn start_from(&mut self, from: PlayFrom)
pub fn start_from(&mut self, from: PlayFrom)
Play the sample in this node from the given playhead.
Sourcepub fn stop(&mut self)
pub fn stop(&mut self)
Stop sample playback.
Calling SamplerNode::resume after this will restart the sample from
the beginning.
Sourcepub fn start_or_restart_requested(&self) -> bool
pub fn start_or_restart_requested(&self) -> bool
Returns true if the current state is set to restart the sample.
Sourcepub fn resume_requested(&self) -> bool
pub fn resume_requested(&self) -> bool
Returns true if the current state is set to resume the sample.
Sourcepub fn pause_requested(&self) -> bool
pub fn pause_requested(&self) -> bool
Returns true if the current state is set to pause the sample.
Sourcepub fn stop_requested(&self) -> bool
pub fn stop_requested(&self) -> bool
Returns true if the current state is set to stop the sample.
Trait Implementations§
Source§impl AudioNode for SamplerNode
impl AudioNode for SamplerNode
Source§type Configuration = SamplerConfig
type Configuration = SamplerConfig
Source§fn info(&self, config: &Self::Configuration) -> AudioNodeInfo
fn info(&self, config: &Self::Configuration) -> AudioNodeInfo
Source§fn construct_processor(
&self,
config: &Self::Configuration,
cx: ConstructProcessorContext<'_>,
) -> impl AudioNodeProcessor
fn construct_processor( &self, config: &Self::Configuration, cx: ConstructProcessorContext<'_>, ) -> impl AudioNodeProcessor
Source§fn update(&mut self, configuration: &Self::Configuration, cx: UpdateContext<'_>)
fn update(&mut self, configuration: &Self::Configuration, cx: UpdateContext<'_>)
AudioNodeInfo::call_update_method was set to true, then the Firewheel
context will call this method on every update cycle. Read moreSource§impl Clone for SamplerNode
impl Clone for SamplerNode
Source§fn clone(&self) -> SamplerNode
fn clone(&self) -> SamplerNode
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Component for SamplerNode
impl Component for SamplerNode
Source§const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§type Mutability = Mutable
type Mutability = Mutable
Component<Mutability = Mutable>,
while immutable components will instead have Component<Mutability = Immutable>. Read moreSource§fn register_required_components(
_requiree: ComponentId,
required_components: &mut RequiredComponentsRegistrator<'_, '_>,
)
fn register_required_components( _requiree: ComponentId, required_components: &mut RequiredComponentsRegistrator<'_, '_>, )
Source§fn clone_behavior() -> ComponentCloneBehavior
fn clone_behavior() -> ComponentCloneBehavior
Source§fn on_add() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_add() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn on_insert() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_insert() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn on_replace() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_replace() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn on_remove() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_remove() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn on_despawn() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_despawn() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn map_entities<E>(_this: &mut Self, _mapper: &mut E)where
E: EntityMapper,
fn map_entities<E>(_this: &mut Self, _mapper: &mut E)where
E: EntityMapper,
EntityMapper. This is used to remap entities in contexts like scenes and entity cloning.
When deriving Component, this is populated by annotating fields containing entities with #[entities] Read moreSource§impl Debug for SamplerNode
impl Debug for SamplerNode
Source§impl Default for SamplerNode
impl Default for SamplerNode
Source§impl<'de> Deserialize<'de> for SamplerNode
impl<'de> Deserialize<'de> for SamplerNode
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Diff for SamplerNode
impl Diff for SamplerNode
Source§fn diff<__E: EventQueue>(
&self,
baseline: &Self,
path: PathBuilder,
event_queue: &mut __E,
)
fn diff<__E: EventQueue>( &self, baseline: &Self, path: PathBuilder, event_queue: &mut __E, )
self to baseline and generate events to resolve any differences.Source§impl FromReflect for SamplerNode
impl FromReflect for SamplerNode
Source§fn from_reflect(reflect: &dyn PartialReflect) -> Option<Self>
fn from_reflect(reflect: &dyn PartialReflect) -> Option<Self>
Self from a reflected value.Source§fn take_from_reflect(
reflect: Box<dyn PartialReflect>,
) -> Result<Self, Box<dyn PartialReflect>>
fn take_from_reflect( reflect: Box<dyn PartialReflect>, ) -> Result<Self, Box<dyn PartialReflect>>
Self using,
constructing the value using from_reflect if that fails. Read moreSource§impl GetTypeRegistration for SamplerNode
impl GetTypeRegistration for SamplerNode
Source§fn get_type_registration() -> TypeRegistration
fn get_type_registration() -> TypeRegistration
TypeRegistration for this type.Source§fn register_type_dependencies(registry: &mut TypeRegistry)
fn register_type_dependencies(registry: &mut TypeRegistry)
Source§impl PartialEq for SamplerNode
impl PartialEq for SamplerNode
Source§impl PartialReflect for SamplerNode
impl PartialReflect for SamplerNode
Source§fn get_represented_type_info(&self) -> Option<&'static TypeInfo>
fn get_represented_type_info(&self) -> Option<&'static TypeInfo>
Source§fn try_apply(&mut self, value: &dyn PartialReflect) -> Result<(), ApplyError>
fn try_apply(&mut self, value: &dyn PartialReflect) -> Result<(), ApplyError>
Source§fn reflect_kind(&self) -> ReflectKind
fn reflect_kind(&self) -> ReflectKind
Source§fn reflect_ref(&self) -> ReflectRef<'_>
fn reflect_ref(&self) -> ReflectRef<'_>
Source§fn reflect_mut(&mut self) -> ReflectMut<'_>
fn reflect_mut(&mut self) -> ReflectMut<'_>
Source§fn reflect_owned(self: Box<Self>) -> ReflectOwned
fn reflect_owned(self: Box<Self>) -> ReflectOwned
Source§fn try_into_reflect(
self: Box<Self>,
) -> Result<Box<dyn Reflect>, Box<dyn PartialReflect>>
fn try_into_reflect( self: Box<Self>, ) -> Result<Box<dyn Reflect>, Box<dyn PartialReflect>>
Source§fn try_as_reflect(&self) -> Option<&dyn Reflect>
fn try_as_reflect(&self) -> Option<&dyn Reflect>
Source§fn try_as_reflect_mut(&mut self) -> Option<&mut dyn Reflect>
fn try_as_reflect_mut(&mut self) -> Option<&mut dyn Reflect>
Source§fn into_partial_reflect(self: Box<Self>) -> Box<dyn PartialReflect>
fn into_partial_reflect(self: Box<Self>) -> Box<dyn PartialReflect>
Source§fn as_partial_reflect(&self) -> &dyn PartialReflect
fn as_partial_reflect(&self) -> &dyn PartialReflect
Source§fn as_partial_reflect_mut(&mut self) -> &mut dyn PartialReflect
fn as_partial_reflect_mut(&mut self) -> &mut dyn PartialReflect
Source§fn reflect_partial_eq(&self, value: &dyn PartialReflect) -> Option<bool>
fn reflect_partial_eq(&self, value: &dyn PartialReflect) -> Option<bool>
Source§fn reflect_clone(&self) -> Result<Box<dyn Reflect>, ReflectCloneError>
fn reflect_clone(&self) -> Result<Box<dyn Reflect>, ReflectCloneError>
Self using reflection. Read moreSource§fn apply(&mut self, value: &(dyn PartialReflect + 'static))
fn apply(&mut self, value: &(dyn PartialReflect + 'static))
Source§fn to_dynamic(&self) -> Box<dyn PartialReflect>
fn to_dynamic(&self) -> Box<dyn PartialReflect>
Source§fn reflect_clone_and_take<T>(&self) -> Result<T, ReflectCloneError>
fn reflect_clone_and_take<T>(&self) -> Result<T, ReflectCloneError>
PartialReflect, combines reflect_clone and
take in a useful fashion, automatically constructing an appropriate
ReflectCloneError if the downcast fails. Read moreSource§fn reflect_hash(&self) -> Option<u64>
fn reflect_hash(&self) -> Option<u64>
Source§fn debug(&self, f: &mut Formatter<'_>) -> Result<(), Error>
fn debug(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Source§fn is_dynamic(&self) -> bool
fn is_dynamic(&self) -> bool
Source§impl Patch for SamplerNode
impl Patch for SamplerNode
Source§type Patch = SamplerNodePatch
type Patch = SamplerNodePatch
Source§fn patch(data: &ParamData, path: &[u32]) -> Result<Self::Patch, PatchError>
fn patch(data: &ParamData, path: &[u32]) -> Result<Self::Patch, PatchError>
Source§fn patch_event(event: &NodeEventType) -> Option<Self::Patch>
fn patch_event(event: &NodeEventType) -> Option<Self::Patch>
Source§impl Reflect for SamplerNode
impl Reflect for SamplerNode
Source§fn as_any_mut(&mut self) -> &mut dyn Any
fn as_any_mut(&mut self) -> &mut dyn Any
&mut dyn Any. Read moreSource§fn into_reflect(self: Box<Self>) -> Box<dyn Reflect>
fn into_reflect(self: Box<Self>) -> Box<dyn Reflect>
Source§fn as_reflect(&self) -> &dyn Reflect
fn as_reflect(&self) -> &dyn Reflect
Source§fn as_reflect_mut(&mut self) -> &mut dyn Reflect
fn as_reflect_mut(&mut self) -> &mut dyn Reflect
Source§impl Serialize for SamplerNode
impl Serialize for SamplerNode
Source§impl Struct for SamplerNode
impl Struct for SamplerNode
Source§fn field(&self, name: &str) -> Option<&dyn PartialReflect>
fn field(&self, name: &str) -> Option<&dyn PartialReflect>
name as a &dyn PartialReflect.Source§fn field_mut(&mut self, name: &str) -> Option<&mut dyn PartialReflect>
fn field_mut(&mut self, name: &str) -> Option<&mut dyn PartialReflect>
name as a
&mut dyn PartialReflect.Source§fn field_at(&self, index: usize) -> Option<&dyn PartialReflect>
fn field_at(&self, index: usize) -> Option<&dyn PartialReflect>
index as a
&dyn PartialReflect.Source§fn field_at_mut(&mut self, index: usize) -> Option<&mut dyn PartialReflect>
fn field_at_mut(&mut self, index: usize) -> Option<&mut dyn PartialReflect>
index
as a &mut dyn PartialReflect.Source§fn name_at(&self, index: usize) -> Option<&str>
fn name_at(&self, index: usize) -> Option<&str>
index.Source§fn iter_fields(&self) -> FieldIter<'_>
fn iter_fields(&self) -> FieldIter<'_>
Source§fn to_dynamic_struct(&self) -> DynamicStruct
fn to_dynamic_struct(&self) -> DynamicStruct
DynamicStruct from this struct.Source§fn get_represented_struct_info(&self) -> Option<&'static StructInfo>
fn get_represented_struct_info(&self) -> Option<&'static StructInfo>
None if TypeInfo is not available.Source§impl TypePath for SamplerNode
impl TypePath for SamplerNode
Source§fn type_path() -> &'static str
fn type_path() -> &'static str
Source§fn short_type_path() -> &'static str
fn short_type_path() -> &'static str
Source§fn type_ident() -> Option<&'static str>
fn type_ident() -> Option<&'static str>
Source§fn crate_name() -> Option<&'static str>
fn crate_name() -> Option<&'static str>
Source§impl Typed for SamplerNode
impl Typed for SamplerNode
impl StructuralPartialEq for SamplerNode
Auto Trait Implementations§
impl Freeze for SamplerNode
impl !RefUnwindSafe for SamplerNode
impl Send for SamplerNode
impl Sync for SamplerNode
impl Unpin for SamplerNode
impl !UnwindSafe for SamplerNode
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<C> Bundle for Cwhere
C: Component,
impl<C> Bundle for Cwhere
C: Component,
fn component_ids( components: &mut ComponentsRegistrator<'_>, ids: &mut impl FnMut(ComponentId), )
Source§fn get_component_ids(
components: &Components,
ids: &mut impl FnMut(Option<ComponentId>),
)
fn get_component_ids( components: &Components, ids: &mut impl FnMut(Option<ComponentId>), )
Source§impl<C> BundleFromComponents for Cwhere
C: Component,
impl<C> BundleFromComponents for Cwhere
C: Component,
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<C> DynamicBundle for Cwhere
C: Component,
impl<C> DynamicBundle for Cwhere
C: Component,
Source§unsafe fn get_components(
ptr: MovingPtr<'_, C>,
func: &mut impl FnMut(StorageType, OwningPtr<'_>),
) -> <C as DynamicBundle>::Effect
unsafe fn get_components( ptr: MovingPtr<'_, C>, func: &mut impl FnMut(StorageType, OwningPtr<'_>), ) -> <C as DynamicBundle>::Effect
Source§unsafe fn apply_effect(
_ptr: MovingPtr<'_, MaybeUninit<C>>,
_entity: &mut EntityWorldMut<'_>,
)
unsafe fn apply_effect( _ptr: MovingPtr<'_, MaybeUninit<C>>, _entity: &mut EntityWorldMut<'_>, )
Source§impl<T> DynamicTypePath for Twhere
T: TypePath,
impl<T> DynamicTypePath for Twhere
T: TypePath,
Source§fn reflect_type_path(&self) -> &str
fn reflect_type_path(&self) -> &str
TypePath::type_path.Source§fn reflect_short_type_path(&self) -> &str
fn reflect_short_type_path(&self) -> &str
Source§fn reflect_type_ident(&self) -> Option<&str>
fn reflect_type_ident(&self) -> Option<&str>
TypePath::type_ident.Source§fn reflect_crate_name(&self) -> Option<&str>
fn reflect_crate_name(&self) -> Option<&str>
TypePath::crate_name.Source§fn reflect_module_path(&self) -> Option<&str>
fn reflect_module_path(&self) -> Option<&str>
Source§impl<T> DynamicTyped for Twhere
T: Typed,
impl<T> DynamicTyped for Twhere
T: Typed,
Source§fn reflect_type_info(&self) -> &'static TypeInfo
fn reflect_type_info(&self) -> &'static TypeInfo
Typed::type_info.Source§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
Source§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates Self using default().
Source§impl<S> GetField for Swhere
S: Struct,
impl<S> GetField for Swhere
S: Struct,
Source§impl<T> GetPath for T
impl<T> GetPath for T
Source§fn reflect_path<'p>(
&self,
path: impl ReflectPath<'p>,
) -> Result<&(dyn PartialReflect + 'static), ReflectPathError<'p>>
fn reflect_path<'p>( &self, path: impl ReflectPath<'p>, ) -> Result<&(dyn PartialReflect + 'static), ReflectPathError<'p>>
path. Read moreSource§fn reflect_path_mut<'p>(
&mut self,
path: impl ReflectPath<'p>,
) -> Result<&mut (dyn PartialReflect + 'static), ReflectPathError<'p>>
fn reflect_path_mut<'p>( &mut self, path: impl ReflectPath<'p>, ) -> Result<&mut (dyn PartialReflect + 'static), ReflectPathError<'p>>
path. Read moreSource§fn path<'p, T>(
&self,
path: impl ReflectPath<'p>,
) -> Result<&T, ReflectPathError<'p>>where
T: Reflect,
fn path<'p, T>(
&self,
path: impl ReflectPath<'p>,
) -> Result<&T, ReflectPathError<'p>>where
T: Reflect,
path. Read moreSource§fn path_mut<'p, T>(
&mut self,
path: impl ReflectPath<'p>,
) -> Result<&mut T, ReflectPathError<'p>>where
T: Reflect,
fn path_mut<'p, T>(
&mut self,
path: impl ReflectPath<'p>,
) -> Result<&mut T, ReflectPathError<'p>>where
T: Reflect,
path. Read more