MusicalTransport

Enum MusicalTransport 

Source
pub enum MusicalTransport {
    Static(StaticTransport),
    Dynamic(Arc<DynamicTransport>),
}

Variants§

§

Static(StaticTransport)

A musical transport with a single static tempo in beats per minute.

§

Dynamic(Arc<DynamicTransport>)

A musical transport with multiple keyframes of tempo. The tempo immediately jumps from one keyframe to another (the tempo is NOT linearly interpolated between keyframes).

Implementations§

Source§

impl MusicalTransport

Source

pub fn beats_per_minute(&self) -> Option<f64>

Returns the beats per minute if this is of type MusicalTransport::Static, None otherwise.

Source

pub fn musical_to_seconds( &self, musical: InstantMusical, transport_start: InstantSeconds, speed_multiplier: f64, ) -> InstantSeconds

Convert the time in musical beats to the corresponding time in seconds.

  • musical - The time in musical beats to convert.
  • transport_start - The instant of the start of the transport (musical time of 0).
  • speed_multiplier - A multiplier for the playback speed. A value of 1.0 means no change in speed, a value less than 1.0 means a decrease in speed, and a value greater than 1.0 means an increase in speed.
Source

pub fn musical_to_samples( &self, musical: InstantMusical, transport_start: InstantSamples, speed_multiplier: f64, sample_rate: NonZeroU32, ) -> InstantSamples

Convert the time in musical beats to the corresponding time in samples.

  • musical - The time in musical beats to convert.
  • transport_start - The instant of the start of the transport (musical time of 0).
  • speed_multiplier - A multiplier for the playback speed. A value of 1.0 means no change in speed, a value less than 1.0 means a decrease in speed, and a value greater than 1.0 means an increase in speed.
  • sample_rate - The sample rate of the stream.
Source

pub fn seconds_to_musical( &self, seconds: InstantSeconds, transport_start: InstantSeconds, speed_multiplier: f64, ) -> InstantMusical

Convert the time in seconds to the corresponding time in musical beats.

  • seconds - The time in seconds to convert.
  • transport_start - The instant of the start of the transport (musical time of 0).
  • speed_multiplier - A multiplier for the playback speed. A value of 1.0 means no change in speed, a value less than 1.0 means a decrease in speed, and a value greater than 1.0 means an increase in speed.
  • sample_rate - The sample rate of the stream.
Source

pub fn samples_to_musical( &self, sample_time: InstantSamples, transport_start: InstantSamples, speed_multiplier: f64, sample_rate: NonZeroU32, sample_rate_recip: f64, ) -> InstantMusical

Convert the time in samples to the corresponding time in musical beats.

  • sample_time - The time in samples to convert.
  • transport_start - The instant of the start of the transport (musical time of 0).
  • speed_multiplier - A multiplier for the playback speed. A value of 1.0 means no change in speed, a value less than 1.0 means a decrease in speed, and a value greater than 1.0 means an increase in speed.
  • sample_rate - The sample rate of the stream.
  • sample_rate - The reciprocal of the sample rate.
Source

pub fn delta_seconds_from( &self, from: InstantMusical, delta_seconds: DurationSeconds, speed_multiplier: f64, ) -> InstantMusical

Return the musical time that occurs delta_seconds seconds after the given from timestamp.

  • speed_multiplier - A multiplier for the playback speed. A value of 1.0 means no change in speed, a value less than 1.0 means a decrease in speed, and a value greater than 1.0 means an increase in speed.
Source

pub fn bpm_at_musical( &self, musical: InstantMusical, speed_multiplier: f64, ) -> f64

Return the tempo in beats per minute at the given musical time.

  • speed_multiplier - A multiplier for the playback speed. A value of 1.0 means no change in speed, a value less than 1.0 means a decrease in speed, and a value greater than 1.0 means an increase in speed.
Source

pub fn proc_transport_info( &self, frames: usize, playhead: InstantMusical, speed_multiplier: f64, sample_rate: NonZeroU32, ) -> ProcTransportInfo

Return information about this transport for this processing block.

  • frames - The number of frames in this processing block.
  • playhead - The current playhead of the transport at frame 0 in this processing block.
  • speed_multiplier - A multiplier for the playback speed. A value of 1.0 means no change in speed, a value less than 1.0 means a decrease in speed, and a value greater than 1.0 means an increase in speed.
  • sample_rate - The sample rate of the stream.
Source

pub fn transport_start( &self, now: InstantSamples, playhead: InstantMusical, speed_multiplier: f64, sample_rate: NonZeroU32, ) -> InstantSamples

Return the instant the beginning of this transport (musical time of 0) occurs on.

  • now - The current time in samples.
  • playhead - The current playhead of the transport.
  • speed_multiplier - A multiplier for the playback speed. A value of 1.0 means no change in speed, a value less than 1.0 means a decrease in speed, and a value greater than 1.0 means an increase in speed.
  • sample_rate - The sample rate of the stream.

Trait Implementations§

Source§

impl Clone for MusicalTransport

Source§

fn clone(&self) -> MusicalTransport

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Component for MusicalTransport
where Self: Send + Sync + 'static,

Source§

const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table

A constant indicating the storage type used for this component.
Source§

type Mutability = Mutable

A marker type to assist Bevy with determining if this component is mutable, or immutable. Mutable components will have Component<Mutability = Mutable>, while immutable components will instead have Component<Mutability = Immutable>. Read more
Source§

fn register_required_components( requiree: ComponentId, components: &mut ComponentsRegistrator<'_>, required_components: &mut RequiredComponents, inheritance_depth: u16, recursion_check_stack: &mut Vec<ComponentId>, )

Registers required components.
Source§

fn clone_behavior() -> ComponentCloneBehavior

Called when registering this component, allowing to override clone function (or disable cloning altogether) for this component. Read more
Source§

fn map_entities<M: EntityMapper>(this: &mut Self, mapper: &mut M)

Maps the entities on this component using the given 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 more
Source§

fn register_component_hooks(hooks: &mut ComponentHooks)

👎Deprecated since 0.16.0: Use the individual hook methods instead (e.g., Component::on_add, etc.)
Called when registering this component, allowing mutable access to its ComponentHooks.
Source§

fn on_add() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>

Gets the on_add ComponentHook for this Component if one is defined.
Source§

fn on_insert() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>

Gets the on_insert ComponentHook for this Component if one is defined.
Source§

fn on_replace() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>

Gets the on_replace ComponentHook for this Component if one is defined.
Source§

fn on_remove() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>

Gets the on_remove ComponentHook for this Component if one is defined.
Source§

fn on_despawn() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>

Gets the on_despawn ComponentHook for this Component if one is defined.
Source§

impl Debug for MusicalTransport

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for MusicalTransport

Source§

fn eq(&self, other: &MusicalTransport) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for MusicalTransport

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<C> Bundle for C
where C: Component,

Source§

fn component_ids( components: &mut ComponentsRegistrator<'_>, ids: &mut impl FnMut(ComponentId), )

Source§

fn register_required_components( components: &mut ComponentsRegistrator<'_>, required_components: &mut RequiredComponents, )

Registers components that are required by the components in this Bundle.
Source§

fn get_component_ids( components: &Components, ids: &mut impl FnMut(Option<ComponentId>), )

Gets this Bundle’s component ids. This will be None if the component has not been registered.
Source§

impl<C> BundleFromComponents for C
where C: Component,

Source§

unsafe fn from_components<T, F>(ctx: &mut T, func: &mut F) -> C
where F: for<'a> FnMut(&'a mut T) -> OwningPtr<'a>,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Converts 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>

Converts 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)

Converts &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)

Converts &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
where T: Any + Send,

Source§

fn into_any_send(self: Box<T>) -> Box<dyn Any + Send>

Converts Box<Trait> (where Trait: DowncastSend) to Box<dyn Any + Send>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

impl<C> DynamicBundle for C
where C: Component,

Source§

type Effect = ()

An operation on the entity that happens after inserting this bundle.
Source§

fn get_components( self, func: &mut impl FnMut(StorageType, OwningPtr<'_>), ) -> <C as DynamicBundle>::Effect

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<F, T> IntoSample<T> for F
where T: FromSample<F>,

Source§

fn into_sample(self) -> T

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> TypeData for T
where T: 'static + Send + Sync + Clone,

Source§

impl<T> ConditionalSend for T
where T: Send,