Vixen
02b45cc4
csharp
public interface IAudioEffectAsset

An effect, as a file declares it.

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

Remarks

An interface with a [DataContract] name per implementation, which is how the rest of the engine does polymorphism in a file — the contract name is the YAML tag, so !ReverbEffect selects the type and nothing keeps a registration table in sync. The compositor asset in Vixen.Rendering is the same arrangement.

A parallel model, not annotations on the effects themselves. An IAudioEffect owns delay lines, filter state and a comb bank; the asset owns numbers. Merging them would mean a type that is half serialisable, and the half that is not is the half that matters at run time — nobody wants a reverb's tail in a file.

Create is a method and not a lookup table. Constructing an effect from a name would be reflection, which ADR-002 forbids in runtime code and which does not survive trimming. Every asset knows what it makes.

Fields and properties (1)

  • bool Enabled

    Whether the effect starts switched on.

Methods (1)

Used by (20)

  • BitCrusherEffectAssetVixen.Audio
  • CompressorEffectAssetVixen.Audio
  • DelayEffectAssetVixen.Audio
  • DistortionEffectAssetVixen.Audio
  • EqualizerEffectAssetVixen.Audio
  • FilterEffectAssetVixen.Audio
  • GateEffectAssetVixen.Audio
  • LimiterEffectAssetVixen.Audio
  • MixerAssetTestsVixen.Audio.Tests
  • MixerBuilderVixen.Audio
  • MixerBusAssetVixen.Audio
  • ModulatedDelayEffectAssetVixen.Audio
  • PhaserEffectAssetVixen.Audio
  • PitchShiftEffectAssetVixen.Audio
  • ReverbEffectAssetVixen.Audio
  • SpectrumAnalyzerEffectAssetVixen.Audio
  • TypeRegistrationVixen.Audio
  • Vixen_Audio_Assets_MixerBusAssetSerializerVixen.Audio
  • AudioMixerDocumentVixen.Editor.AssetEditors
  • AudioMixerViewVixen.Editor.AssetEditors