tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

BaseAudioContext.webidl (3511B)


      1 /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
      2 /* This Source Code Form is subject to the terms of the Mozilla Public
      3 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
      4 * You can obtain one at http://mozilla.org/MPL/2.0/.
      5 *
      6 * The origin of this IDL file is
      7 * https://webaudio.github.io/web-audio-api/#idl-def-BaseAudioContext
      8 *
      9 * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
     10 * liability, trademark and document use rules apply.
     11 */
     12 
     13 callback DecodeSuccessCallback = undefined (AudioBuffer decodedData);
     14 callback DecodeErrorCallback = undefined (DOMException error);
     15 
     16 enum AudioContextState {
     17    "suspended",
     18    "running",
     19    "closed"
     20 };
     21 
     22 [Exposed=Window]
     23 interface BaseAudioContext : EventTarget {
     24    readonly        attribute AudioDestinationNode destination;
     25    readonly        attribute float                sampleRate;
     26    readonly        attribute double               currentTime;
     27    readonly        attribute AudioListener        listener;
     28    readonly        attribute AudioContextState    state;
     29    [Throws, SameObject, SecureContext]
     30    readonly        attribute AudioWorklet         audioWorklet;
     31 
     32    [NewObject]
     33    Promise<undefined> resume();
     34 
     35                    attribute EventHandler         onstatechange;
     36 
     37    [NewObject, Throws]
     38    AudioBuffer            createBuffer (unsigned long numberOfChannels,
     39                                         unsigned long length,
     40                                         float sampleRate);
     41 
     42    [NewObject]
     43    Promise<AudioBuffer> decodeAudioData(ArrayBuffer audioData,
     44                                         optional DecodeSuccessCallback successCallback,
     45                                         optional DecodeErrorCallback errorCallback);
     46 
     47    // AudioNode creation
     48    [NewObject]
     49    AudioBufferSourceNode createBufferSource();
     50 
     51    [NewObject]
     52    ConstantSourceNode createConstantSource();
     53 
     54    [NewObject, Throws]
     55    ScriptProcessorNode createScriptProcessor(optional unsigned long bufferSize = 0,
     56                                              optional unsigned long numberOfInputChannels = 2,
     57                                              optional unsigned long numberOfOutputChannels = 2);
     58 
     59    [NewObject, Throws]
     60    AnalyserNode createAnalyser();
     61 
     62    [NewObject, Throws]
     63    GainNode createGain();
     64 
     65    [NewObject, Throws]
     66    DelayNode createDelay(optional double maxDelayTime = 1); // TODO: no = 1
     67 
     68    [NewObject, Throws]
     69    BiquadFilterNode createBiquadFilter();
     70 
     71    [NewObject, Throws]
     72    IIRFilterNode createIIRFilter(sequence<double> feedforward, sequence<double> feedback);
     73 
     74    [NewObject, Throws]
     75    WaveShaperNode createWaveShaper();
     76 
     77    [NewObject, Throws]
     78    PannerNode createPanner();
     79 
     80    [NewObject, Throws]
     81    StereoPannerNode createStereoPanner();
     82 
     83    [NewObject, Throws]
     84    ConvolverNode createConvolver();
     85 
     86    [NewObject, Throws]
     87    ChannelSplitterNode createChannelSplitter(optional unsigned long numberOfOutputs = 6);
     88 
     89    [NewObject, Throws]
     90    ChannelMergerNode createChannelMerger(optional unsigned long numberOfInputs = 6);
     91 
     92    [NewObject, Throws]
     93    DynamicsCompressorNode createDynamicsCompressor();
     94 
     95    [NewObject, Throws]
     96    OscillatorNode createOscillator();
     97 
     98    [NewObject, Throws]
     99    PeriodicWave createPeriodicWave(sequence<float> real,
    100                                    sequence<float> imag,
    101                                    optional PeriodicWaveConstraints constraints = {});
    102 };