Builds a minimal audio graph (by default in AudioManager.default) and synchronizes it with the containing Node

┌ AudioManager(.default) ────────────────────────┐
│ ┌ ComponentAudio ───────────────────┐          │
│ │    ┌──────┐   ┌──────┐   ┌──────┐ │ ┌──────┐ │  
│ │    │source│ → │panner│ → │ gain │ → │ gain │ │
│ │    └──────┘   └──────┘   └──────┘ │ └──────┘ │  
│ └───────────────────────────────────┘          │
└────────────────────────────────────────────────┘

Authors

Thomas Dorner, HFU, 2019 | Jirka Dell'Oro-Friedl, HFU, 2019

Hierarchy (view full)

Implements

Constructors

Properties

mtxPivot: Matrix4x4 = ...

places and directs the panner relative to the world transform of the Node

baseClass: typeof Component = Component

refers back to this class from any subclass e.g. in order to find compatible other resources

iSubclass: number = ...

subclasses get a iSubclass number for identification

subclasses: typeof Component[] = []

list of all the subclasses derived from this class, if they registered properly

Accessors

  • get isSingleton(): boolean
  • Is true, when only one instance of the component class can be attached to a node

    Returns boolean

  • get type(): string
  • Retrieves the type of this mutable subclass as the name of the runtime class

    Returns string

    The type of the mutable

Methods

  • Connects this components gain-node to the gain node of the AudioManager this component runs on. Only call this method if the component is not attached to a Node but needs to be heard.

    Parameters

    • _on: boolean

    Returns void

  • Collect applicable attributes of the instance and copies of their values in a Mutator-object. By default, a mutator cannot be extended, since extensions are not available in the object the mutator belongs to. A mutator may be reduced by the descendants of Mutable to contain only the properties needed.

    Returns Mutator

  • Inserts AudioNodes between the panner and the local gain of this ComponentAudio _input and _output may be the same AudioNode, if there is only one to insert, or may have multiple AudioNode between them to create an effect-graph.
    Note that ComponentAudio does not keep track of inserted AudioNodes!

    ┌ AudioManager(.default) ──────────────────────────────────────────────────────┐
    │ ┌ ComponentAudio ─────────────────────────────────────────────────┐          │
    │ │    ┌──────┐   ┌──────┐   ┌──────┐          ┌───────┐   ┌──────┐ │ ┌──────┐ │  
    │ │    │source│ → │panner│ → │_input│ → ...  → │_output│ → │ gain │ → │ gain │ │
    │ │    └──────┘   └──────┘   └──────┘          └───────┘   └──────┘ │ └──────┘ │  
    │ └─────────────────────────────────────────────────────────────────┘          │
    └──────────────────────────────────────────────────────────────────────────────┘
    

    Parameters

    • _input: AudioNode
    • _output: AudioNode

    Returns void

  • Updates the attribute values of the instance according to the state of the mutator. The mutation may be restricted to a subset of the mutator and the event dispatching suppressed. Uses mutateBase, but can be overwritten in subclasses

    Parameters

    • _mutator: Mutator
    • _selection: string[] = null
    • _dispatchMutate: boolean = true

    Returns Promise<void>