UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

34 lines (33 loc) 993 B
"use strict"; import { TypedAudioNode } from "./_Base"; import { NodeParamsConfig } from "../utils/params/ParamsConfig"; class ToDestinationAudioParamsConfig extends NodeParamsConfig { } const ParamsConfig = new ToDestinationAudioParamsConfig(); export class ToDestinationAudioNode extends TypedAudioNode { constructor() { super(...arguments); this.paramsConfig = ParamsConfig; } static type() { return "toDestination"; } initializeNode() { this.io.inputs.setCount(1); } cook(inputContents) { const audioBuilder = inputContents[0]; const audioNode = audioBuilder.audioNode(); if (!audioNode) { this.states.error.set("no audioNode in input"); this.cookController.endCook(); return; } if (this._previousAudioNode) { this._previousAudioNode.disconnect(this._previousAudioNode.context.destination); } audioNode.toDestination(); this._previousAudioNode = audioNode; this.setAudioBuilder(audioBuilder); } }