@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
34 lines (33 loc) • 993 B
JavaScript
;
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);
}
}