/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ /* * The origin of this IDL file is * https://webaudio.github.io/web-audio-api/#oscillatornode */ enum OscillatorType { "sine", "square", "sawtooth", "triangle", "custom" }; dictionary OscillatorOptions : AudioNodeOptions { OscillatorType type = "sine"; float frequency = 440; float detune = 0; // PeriodicWave periodicWave; }; [Exposed=Window] interface OscillatorNode : AudioScheduledSourceNode { [Throws] constructor(BaseAudioContext context, optional OscillatorOptions options = {}); [SetterThrows] attribute OscillatorType type; readonly attribute AudioParam frequency; readonly attribute AudioParam detune; // void setPeriodicWave (PeriodicWave periodicWave); };