mirror of
https://github.com/fluencelabs/wasm-bindgen
synced 2025-03-19 19:50:52 +00:00
* Try to enable all webidls * Separate out unavailable webidl files by reason. * Create record of fully tested WebIDL files * Update notes to reflect new situation with web-idl * Make a blank ident fail, disable the necessary widls. It turns out that all the blank idents came from blank enum variants, which is allowed in webidl apparently.
103 lines
3.5 KiB
Plaintext
Vendored
103 lines
3.5 KiB
Plaintext
Vendored
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* 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 http://mozilla.org/MPL/2.0/.
|
|
*
|
|
* The origin of this IDL file is
|
|
* https://webaudio.github.io/web-audio-api/#idl-def-BaseAudioContext
|
|
*
|
|
* Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
|
|
* liability, trademark and document use rules apply.
|
|
*/
|
|
|
|
callback DecodeSuccessCallback = void (AudioBuffer decodedData);
|
|
callback DecodeErrorCallback = void (DOMException error);
|
|
|
|
enum AudioContextState {
|
|
"suspended",
|
|
"running",
|
|
"closed"
|
|
};
|
|
|
|
interface BaseAudioContext : EventTarget {
|
|
readonly attribute AudioDestinationNode destination;
|
|
readonly attribute float sampleRate;
|
|
readonly attribute double currentTime;
|
|
readonly attribute AudioListener listener;
|
|
readonly attribute AudioContextState state;
|
|
[Throws, SameObject, SecureContext, Pref="dom.audioworklet.enabled"]
|
|
readonly attribute AudioWorklet audioWorklet;
|
|
// Bug 1324552: readonly attribute double baseLatency;
|
|
|
|
[Throws]
|
|
Promise<void> resume();
|
|
|
|
attribute EventHandler onstatechange;
|
|
|
|
[NewObject, Throws]
|
|
AudioBuffer createBuffer (unsigned long numberOfChannels,
|
|
unsigned long length,
|
|
float sampleRate);
|
|
|
|
[Throws]
|
|
Promise<AudioBuffer> decodeAudioData(ArrayBuffer audioData,
|
|
optional DecodeSuccessCallback successCallback,
|
|
optional DecodeErrorCallback errorCallback);
|
|
|
|
// AudioNode creation
|
|
[NewObject, Throws]
|
|
AudioBufferSourceNode createBufferSource();
|
|
|
|
[NewObject, Throws]
|
|
ConstantSourceNode createConstantSource();
|
|
|
|
[NewObject, Throws]
|
|
ScriptProcessorNode createScriptProcessor(optional unsigned long bufferSize = 0,
|
|
optional unsigned long numberOfInputChannels = 2,
|
|
optional unsigned long numberOfOutputChannels = 2);
|
|
|
|
[NewObject, Throws]
|
|
AnalyserNode createAnalyser();
|
|
|
|
[NewObject, Throws]
|
|
GainNode createGain();
|
|
|
|
[NewObject, Throws]
|
|
DelayNode createDelay(optional double maxDelayTime = 1); // TODO: no = 1
|
|
|
|
[NewObject, Throws]
|
|
BiquadFilterNode createBiquadFilter();
|
|
|
|
[NewObject, Throws]
|
|
IIRFilterNode createIIRFilter(sequence<double> feedforward, sequence<double> feedback);
|
|
|
|
[NewObject, Throws]
|
|
WaveShaperNode createWaveShaper();
|
|
|
|
[NewObject, Throws]
|
|
PannerNode createPanner();
|
|
|
|
[NewObject, Throws]
|
|
StereoPannerNode createStereoPanner();
|
|
|
|
[NewObject, Throws]
|
|
ConvolverNode createConvolver();
|
|
|
|
[NewObject, Throws]
|
|
ChannelSplitterNode createChannelSplitter(optional unsigned long numberOfOutputs = 6);
|
|
|
|
[NewObject, Throws]
|
|
ChannelMergerNode createChannelMerger(optional unsigned long numberOfInputs = 6);
|
|
|
|
[NewObject, Throws]
|
|
DynamicsCompressorNode createDynamicsCompressor();
|
|
|
|
[NewObject, Throws]
|
|
OscillatorNode createOscillator();
|
|
|
|
[NewObject, Throws]
|
|
PeriodicWave createPeriodicWave(Float32Array real,
|
|
Float32Array imag,
|
|
optional PeriodicWaveConstraints constraints);
|
|
};
|