UNPKG

@polygonjs/polygonjs

Version:

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

33 lines (32 loc) 1.01 kB
"use strict"; import { TypedAudioNode } from "./_Base"; import { NodeParamsConfig } from "../utils/params/ParamsConfig"; import { AudioBuilder } from "../../../core/audio/AudioBuilder"; import { PolySynth } from "tone/build/esm/instrument/PolySynth"; import { Synth } from "tone/build/esm/instrument/Synth"; import { AudioType } from "../../poly/registers/nodes/types/Audio"; class PolySynthAudioParamsConfig extends NodeParamsConfig { } const ParamsConfig = new PolySynthAudioParamsConfig(); export class PolySynthAudioNode extends TypedAudioNode { constructor() { super(...arguments); this.paramsConfig = ParamsConfig; } static type() { return AudioType.POLY_SYNTH; } initializeNode() { this.io.inputs.setCount(0); } cook(inputContents) { const synth = new PolySynth(Synth, { oscillator: { partials: [0, 2, 3, 4] } }); const audioBuilder = new AudioBuilder(); audioBuilder.setInstrument(synth); this.setAudioBuilder(audioBuilder); } }