Enum songbird::events::Event[][src]

#[non_exhaustive]pub enum Event {
    Periodic(DurationOption<Duration>),
    Delayed(Duration),
    Track(TrackEvent),
    Core(CoreEvent),
    Cancel,
}

Classes of event which may occur, triggering a handler at the local (track-specific) or global level.

Local time-based events rely upon the current playback time of a track, and so will not fire if a track becomes paused or stops. In case this is required, global events are a better fit.

Event handlers themselves are described in EventData::action.

Variants (Non-exhaustive)

Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Periodic(DurationOption<Duration>)

Periodic events rely upon two parameters: a period and an optional phase.

If the phase is None, then the event will first fire in one period. Periodic events repeat automatically so long as the action in EventData returns None.

Delayed(Duration)

Delayed events rely upon a delay parameter, and fire one delay after the audio context processes them.

Delayed events are automatically removed once fired, so long as the action in EventData returns None.

Track(TrackEvent)

Track events correspond to certain actions or changes of state, such as a track finishing, looping, or being manually stopped.

Track events persist while the action in EventData returns None.

Core(CoreEvent)

Core events

Track events persist while the action in EventData returns None. Core events must be applied globally, as attaching them to a track is a no-op.

Cancel

Cancels the event, if it was intended to persist.

Trait Implementations

impl Clone for Event[src]

impl Copy for Event[src]

impl Debug for Event[src]

impl Eq for Event[src]

impl From<CoreEvent> for Event[src]

impl From<TrackEvent> for Event[src]

impl Hash for Event[src]

impl PartialEq<Event> for Event[src]

impl StructuralEq for Event[src]

impl StructuralPartialEq for Event[src]

Auto Trait Implementations

impl RefUnwindSafe for Event

impl Send for Event

impl Sync for Event

impl Unpin for Event

impl UnwindSafe for Event

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

impl<T> WithSubscriber for T[src]