| // META: script=/resources/WebIDLParser.js |
| // META: script=/resources/idlharness.js |
| // META: timeout=long |
| |
| // https://webaudio.github.io/web-audio-api/ |
| |
| 'use strict'; |
| |
| idl_test( |
| ['webaudio'], |
| ['cssom', 'uievents', 'mediacapture-streams', 'html', 'dom'], |
| async idl_array => { |
| idl_array.add_untested_idls('interface SVGElement {};'); |
| |
| idl_array.add_objects({ |
| BaseAudioContext: [], |
| AudioContext: ['context'], |
| OfflineAudioContext: ['new OfflineAudioContext(1, 1, sample_rate)'], |
| OfflineAudioCompletionEvent: [ |
| 'new OfflineAudioCompletionEvent("", {renderedBuffer: buffer})' |
| ], |
| AudioBuffer: ['buffer'], |
| AudioNode: [], |
| AudioParam: ['new AudioBufferSourceNode(context).playbackRate'], |
| AudioScheduledSourceNode: [], |
| AnalyserNode: ['new AnalyserNode(context)'], |
| AudioBufferSourceNode: ['new AudioBufferSourceNode(context)'], |
| AudioDestinationNode: ['context.destination'], |
| AudioListener: ['context.listener'], |
| AudioProcessingEvent: [`new AudioProcessingEvent('', { |
| playbackTime: 0, inputBuffer: buffer, outputBuffer: buffer |
| })`], |
| BiquadFilterNode: ['new BiquadFilterNode(context)'], |
| ChannelMergerNode: ['new ChannelMergerNode(context)'], |
| ChannelSplitterNode: ['new ChannelSplitterNode(context)'], |
| ConstantSourceNode: ['new ConstantSourceNode(context)'], |
| ConvolverNode: ['new ConvolverNode(context)'], |
| DelayNode: ['new DelayNode(context)'], |
| DynamicsCompressorNode: ['new DynamicsCompressorNode(context)'], |
| GainNode: ['new GainNode(context)'], |
| IIRFilterNode: [ |
| 'new IIRFilterNode(context, {feedforward: [1], feedback: [1]})' |
| ], |
| MediaElementAudioSourceNode: [ |
| 'new MediaElementAudioSourceNode(context, {mediaElement: new Audio})' |
| ], |
| MediaStreamAudioDestinationNode: [ |
| 'new MediaStreamAudioDestinationNode(context)' |
| ], |
| MediaStreamAudioSourceNode: [], |
| MediaStreamTrackAudioSourceNode: [], |
| OscillatorNode: ['new OscillatorNode(context)'], |
| PannerNode: ['new PannerNode(context)'], |
| PeriodicWave: ['new PeriodicWave(context)'], |
| ScriptProcessorNode: ['context.createScriptProcessor()'], |
| StereoPannerNode: ['new StereoPannerNode(context)'], |
| WaveShaperNode: ['new WaveShaperNode(context)'], |
| AudioWorklet: ['context.audioWorklet'], |
| AudioWorkletGlobalScope: [], |
| AudioParamMap: ['worklet_node.parameters'], |
| AudioWorkletNode: ['worklet_node'], |
| AudioWorkletProcessor: [], |
| }); |
| |
| self.sample_rate = 44100; |
| self.context = new AudioContext; |
| self.buffer = new AudioBuffer({length: 1, sampleRate: sample_rate}); |
| await context.audioWorklet.addModule( |
| 'the-audio-api/the-audioworklet-interface/processors/dummy-processor.js'); |
| self.worklet_node = new AudioWorkletNode(context, 'dummy'); |
| } |
| ); |