Vixen
02b45cc4
csharp
public sealed class MixerSnapshots

The named mix states from a MixerAsset, and the blend between them.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

Interpolated in decibels. Halfway between −60 dB and 0 dB is −30 dB, not 0.5 — loudness is roughly logarithmic, and a linear blend spends most of its duration at a level indistinguishable from the loud end and then drops. The same reasoning as Decibel, and the same floor.

A transition starts from wherever things are, not from the previous snapshot. So interrupting one halfway through and going somewhere else does not jump, and a bus whose gain was moved by hand since the last transition is respected rather than snapped back.

Only what a snapshot names is touched. Anything it does not mention keeps what it had — which is what stops every snapshot in a project going stale the moment somebody adds a bus.

Stepped from AudioEngine.Update on game time, like every other fade here.

Fields and properties (3)

  • public IEnumerable<string> Names

    Every snapshot's name.

  • public string? Current

    Which snapshot was last asked for, or if none has been.

  • public bool IsTransitioning

    Whether a transition is still running.

Methods (2)

  • public bool Has(string name)

    Whether a snapshot of that name exists.

  • public bool TransitionTo(string name, TimeSpan duration)

    Blends the mixer to a snapshot.

Used by (4)

  • AudioEngineVixen.Audio
  • MixerAssetTestsVixen.Audio.Tests
  • MixerBuildResultVixen.Audio
  • MixerBuilderVixen.Audio