packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/BaseAudioContext.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from webaudio-1.1 (webref). Do not edit.
module JSDOM.Generated.BaseAudioContext
       (createAnalyser, createAnalyser_, createBiquadFilter, createBiquadFilter_, createBuffer, createBuffer_, createBufferSource, createBufferSource_, createChannelMerger, createChannelMerger_, createChannelSplitter, createChannelSplitter_, createConstantSource, createConstantSource_, createConvolver, createConvolver_, createDelay, createDelay_, createDynamicsCompressor, createDynamicsCompressor_, createGain, createGain_, createIIRFilter, createIIRFilter_, createOscillator, createOscillator_, createPanner, createPanner_, createPeriodicWave, createPeriodicWave_, createScriptProcessor, createScriptProcessor_, createStereoPanner, createStereoPanner_, createWaveShaper, createWaveShaper_, decodeAudioData, decodeAudioData_, getDestination, getSampleRate, getCurrentTime, getListener, getState, getAudioWorklet, statechange, BaseAudioContext(..), gTypeBaseAudioContext, IsBaseAudioContext, toBaseAudioContext)
       where
import Prelude ((.), (==), (>>=), (<$>), (++), Bool(..), Maybe(..), IO, Int, Word, Double, Float)
import qualified Prelude as P
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import Language.Javascript.JSaddle (JSM, JSVal, JSString, toJSVal, valToBool, valToNumber, js, jss, jsf, jsg, new, function, asyncFunction, jsUndefined, jsNull)
import JSDOM.Types
import qualified JSDOM.Types as Types
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Generated.Enums

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createAnalyser MDN BaseAudioContext.createAnalyser documentation>
createAnalyser :: (MonadDOM m, IsBaseAudioContext self) => self -> m AnalyserNode
createAnalyser self = liftDOM ((((Types.toBaseAudioContext self) ^. jsf "createAnalyser" ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createAnalyser MDN BaseAudioContext.createAnalyser documentation>
createAnalyser_ :: (MonadDOM m, IsBaseAudioContext self) => self -> m ()
createAnalyser_ self = liftDOM (void ((Types.toBaseAudioContext self) ^. jsf "createAnalyser" ()))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createBiquadFilter MDN BaseAudioContext.createBiquadFilter documentation>
createBiquadFilter :: (MonadDOM m, IsBaseAudioContext self) => self -> m BiquadFilterNode
createBiquadFilter self = liftDOM ((((Types.toBaseAudioContext self) ^. jsf "createBiquadFilter" ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createBiquadFilter MDN BaseAudioContext.createBiquadFilter documentation>
createBiquadFilter_ :: (MonadDOM m, IsBaseAudioContext self) => self -> m ()
createBiquadFilter_ self = liftDOM (void ((Types.toBaseAudioContext self) ^. jsf "createBiquadFilter" ()))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createBuffer MDN BaseAudioContext.createBuffer documentation>
createBuffer :: (MonadDOM m, IsBaseAudioContext self) => self -> Word -> Word -> Float -> m AudioBuffer
createBuffer self numberOfChannels length sampleRate = liftDOM ((((Types.toBaseAudioContext self) ^. jsf "createBuffer" [toJSVal numberOfChannels, toJSVal length, toJSVal sampleRate]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createBuffer MDN BaseAudioContext.createBuffer documentation>
createBuffer_ :: (MonadDOM m, IsBaseAudioContext self) => self -> Word -> Word -> Float -> m ()
createBuffer_ self numberOfChannels length sampleRate = liftDOM (void ((Types.toBaseAudioContext self) ^. jsf "createBuffer" [toJSVal numberOfChannels, toJSVal length, toJSVal sampleRate]))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createBufferSource MDN BaseAudioContext.createBufferSource documentation>
createBufferSource :: (MonadDOM m, IsBaseAudioContext self) => self -> m AudioBufferSourceNode
createBufferSource self = liftDOM ((((Types.toBaseAudioContext self) ^. jsf "createBufferSource" ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createBufferSource MDN BaseAudioContext.createBufferSource documentation>
createBufferSource_ :: (MonadDOM m, IsBaseAudioContext self) => self -> m ()
createBufferSource_ self = liftDOM (void ((Types.toBaseAudioContext self) ^. jsf "createBufferSource" ()))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createChannelMerger MDN BaseAudioContext.createChannelMerger documentation>
createChannelMerger :: (MonadDOM m, IsBaseAudioContext self) => self -> Maybe Word -> m ChannelMergerNode
createChannelMerger self numberOfInputs = liftDOM ((((Types.toBaseAudioContext self) ^. jsf "createChannelMerger" [P.maybe (P.return jsUndefined) toJSVal numberOfInputs]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createChannelMerger MDN BaseAudioContext.createChannelMerger documentation>
createChannelMerger_ :: (MonadDOM m, IsBaseAudioContext self) => self -> Maybe Word -> m ()
createChannelMerger_ self numberOfInputs = liftDOM (void ((Types.toBaseAudioContext self) ^. jsf "createChannelMerger" [P.maybe (P.return jsUndefined) toJSVal numberOfInputs]))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createChannelSplitter MDN BaseAudioContext.createChannelSplitter documentation>
createChannelSplitter :: (MonadDOM m, IsBaseAudioContext self) => self -> Maybe Word -> m ChannelSplitterNode
createChannelSplitter self numberOfOutputs = liftDOM ((((Types.toBaseAudioContext self) ^. jsf "createChannelSplitter" [P.maybe (P.return jsUndefined) toJSVal numberOfOutputs]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createChannelSplitter MDN BaseAudioContext.createChannelSplitter documentation>
createChannelSplitter_ :: (MonadDOM m, IsBaseAudioContext self) => self -> Maybe Word -> m ()
createChannelSplitter_ self numberOfOutputs = liftDOM (void ((Types.toBaseAudioContext self) ^. jsf "createChannelSplitter" [P.maybe (P.return jsUndefined) toJSVal numberOfOutputs]))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createConstantSource MDN BaseAudioContext.createConstantSource documentation>
createConstantSource :: (MonadDOM m, IsBaseAudioContext self) => self -> m ConstantSourceNode
createConstantSource self = liftDOM ((((Types.toBaseAudioContext self) ^. jsf "createConstantSource" ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createConstantSource MDN BaseAudioContext.createConstantSource documentation>
createConstantSource_ :: (MonadDOM m, IsBaseAudioContext self) => self -> m ()
createConstantSource_ self = liftDOM (void ((Types.toBaseAudioContext self) ^. jsf "createConstantSource" ()))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createConvolver MDN BaseAudioContext.createConvolver documentation>
createConvolver :: (MonadDOM m, IsBaseAudioContext self) => self -> m ConvolverNode
createConvolver self = liftDOM ((((Types.toBaseAudioContext self) ^. jsf "createConvolver" ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createConvolver MDN BaseAudioContext.createConvolver documentation>
createConvolver_ :: (MonadDOM m, IsBaseAudioContext self) => self -> m ()
createConvolver_ self = liftDOM (void ((Types.toBaseAudioContext self) ^. jsf "createConvolver" ()))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createDelay MDN BaseAudioContext.createDelay documentation>
createDelay :: (MonadDOM m, IsBaseAudioContext self) => self -> Maybe Double -> m DelayNode
createDelay self maxDelayTime = liftDOM ((((Types.toBaseAudioContext self) ^. jsf "createDelay" [P.maybe (P.return jsUndefined) toJSVal maxDelayTime]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createDelay MDN BaseAudioContext.createDelay documentation>
createDelay_ :: (MonadDOM m, IsBaseAudioContext self) => self -> Maybe Double -> m ()
createDelay_ self maxDelayTime = liftDOM (void ((Types.toBaseAudioContext self) ^. jsf "createDelay" [P.maybe (P.return jsUndefined) toJSVal maxDelayTime]))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createDynamicsCompressor MDN BaseAudioContext.createDynamicsCompressor documentation>
createDynamicsCompressor :: (MonadDOM m, IsBaseAudioContext self) => self -> m DynamicsCompressorNode
createDynamicsCompressor self = liftDOM ((((Types.toBaseAudioContext self) ^. jsf "createDynamicsCompressor" ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createDynamicsCompressor MDN BaseAudioContext.createDynamicsCompressor documentation>
createDynamicsCompressor_ :: (MonadDOM m, IsBaseAudioContext self) => self -> m ()
createDynamicsCompressor_ self = liftDOM (void ((Types.toBaseAudioContext self) ^. jsf "createDynamicsCompressor" ()))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createGain MDN BaseAudioContext.createGain documentation>
createGain :: (MonadDOM m, IsBaseAudioContext self) => self -> m GainNode
createGain self = liftDOM ((((Types.toBaseAudioContext self) ^. jsf "createGain" ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createGain MDN BaseAudioContext.createGain documentation>
createGain_ :: (MonadDOM m, IsBaseAudioContext self) => self -> m ()
createGain_ self = liftDOM (void ((Types.toBaseAudioContext self) ^. jsf "createGain" ()))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createIIRFilter MDN BaseAudioContext.createIIRFilter documentation>
createIIRFilter :: (MonadDOM m, IsBaseAudioContext self) => self -> [Double] -> [Double] -> m IIRFilterNode
createIIRFilter self feedforward feedback = liftDOM ((((Types.toBaseAudioContext self) ^. jsf "createIIRFilter" [toJSVal feedforward, toJSVal feedback]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createIIRFilter MDN BaseAudioContext.createIIRFilter documentation>
createIIRFilter_ :: (MonadDOM m, IsBaseAudioContext self) => self -> [Double] -> [Double] -> m ()
createIIRFilter_ self feedforward feedback = liftDOM (void ((Types.toBaseAudioContext self) ^. jsf "createIIRFilter" [toJSVal feedforward, toJSVal feedback]))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createOscillator MDN BaseAudioContext.createOscillator documentation>
createOscillator :: (MonadDOM m, IsBaseAudioContext self) => self -> m OscillatorNode
createOscillator self = liftDOM ((((Types.toBaseAudioContext self) ^. jsf "createOscillator" ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createOscillator MDN BaseAudioContext.createOscillator documentation>
createOscillator_ :: (MonadDOM m, IsBaseAudioContext self) => self -> m ()
createOscillator_ self = liftDOM (void ((Types.toBaseAudioContext self) ^. jsf "createOscillator" ()))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createPanner MDN BaseAudioContext.createPanner documentation>
createPanner :: (MonadDOM m, IsBaseAudioContext self) => self -> m PannerNode
createPanner self = liftDOM ((((Types.toBaseAudioContext self) ^. jsf "createPanner" ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createPanner MDN BaseAudioContext.createPanner documentation>
createPanner_ :: (MonadDOM m, IsBaseAudioContext self) => self -> m ()
createPanner_ self = liftDOM (void ((Types.toBaseAudioContext self) ^. jsf "createPanner" ()))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createPeriodicWave MDN BaseAudioContext.createPeriodicWave documentation>
createPeriodicWave :: (MonadDOM m, IsBaseAudioContext self, IsPeriodicWaveConstraints constraints) => self -> [Float] -> [Float] -> Maybe constraints -> m PeriodicWave
createPeriodicWave self real imag constraints = liftDOM ((((Types.toBaseAudioContext self) ^. jsf "createPeriodicWave" [toJSVal real, toJSVal imag, P.maybe (P.return jsUndefined) toJSVal constraints]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createPeriodicWave MDN BaseAudioContext.createPeriodicWave documentation>
createPeriodicWave_ :: (MonadDOM m, IsBaseAudioContext self, IsPeriodicWaveConstraints constraints) => self -> [Float] -> [Float] -> Maybe constraints -> m ()
createPeriodicWave_ self real imag constraints = liftDOM (void ((Types.toBaseAudioContext self) ^. jsf "createPeriodicWave" [toJSVal real, toJSVal imag, P.maybe (P.return jsUndefined) toJSVal constraints]))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createScriptProcessor MDN BaseAudioContext.createScriptProcessor documentation>
createScriptProcessor :: (MonadDOM m, IsBaseAudioContext self) => self -> Maybe Word -> Maybe Word -> Maybe Word -> m ScriptProcessorNode
createScriptProcessor self bufferSize numberOfInputChannels numberOfOutputChannels = liftDOM ((((Types.toBaseAudioContext self) ^. jsf "createScriptProcessor" [P.maybe (P.return jsUndefined) toJSVal bufferSize, P.maybe (P.return jsUndefined) toJSVal numberOfInputChannels, P.maybe (P.return jsUndefined) toJSVal numberOfOutputChannels]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createScriptProcessor MDN BaseAudioContext.createScriptProcessor documentation>
createScriptProcessor_ :: (MonadDOM m, IsBaseAudioContext self) => self -> Maybe Word -> Maybe Word -> Maybe Word -> m ()
createScriptProcessor_ self bufferSize numberOfInputChannels numberOfOutputChannels = liftDOM (void ((Types.toBaseAudioContext self) ^. jsf "createScriptProcessor" [P.maybe (P.return jsUndefined) toJSVal bufferSize, P.maybe (P.return jsUndefined) toJSVal numberOfInputChannels, P.maybe (P.return jsUndefined) toJSVal numberOfOutputChannels]))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createStereoPanner MDN BaseAudioContext.createStereoPanner documentation>
createStereoPanner :: (MonadDOM m, IsBaseAudioContext self) => self -> m StereoPannerNode
createStereoPanner self = liftDOM ((((Types.toBaseAudioContext self) ^. jsf "createStereoPanner" ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createStereoPanner MDN BaseAudioContext.createStereoPanner documentation>
createStereoPanner_ :: (MonadDOM m, IsBaseAudioContext self) => self -> m ()
createStereoPanner_ self = liftDOM (void ((Types.toBaseAudioContext self) ^. jsf "createStereoPanner" ()))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createWaveShaper MDN BaseAudioContext.createWaveShaper documentation>
createWaveShaper :: (MonadDOM m, IsBaseAudioContext self) => self -> m WaveShaperNode
createWaveShaper self = liftDOM ((((Types.toBaseAudioContext self) ^. jsf "createWaveShaper" ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/createWaveShaper MDN BaseAudioContext.createWaveShaper documentation>
createWaveShaper_ :: (MonadDOM m, IsBaseAudioContext self) => self -> m ()
createWaveShaper_ self = liftDOM (void ((Types.toBaseAudioContext self) ^. jsf "createWaveShaper" ()))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/decodeAudioData MDN BaseAudioContext.decodeAudioData documentation>
decodeAudioData :: (MonadDOM m, IsBaseAudioContext self, IsArrayBuffer audioData) => self -> audioData -> Maybe DecodeSuccessCallback -> Maybe DecodeErrorCallback -> m AudioBuffer
decodeAudioData self audioData successCallback errorCallback = liftDOM ((((((Types.toBaseAudioContext self) ^. jsf "decodeAudioData" [toJSVal audioData, toJSVal successCallback, toJSVal errorCallback]) >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/decodeAudioData MDN BaseAudioContext.decodeAudioData documentation>
decodeAudioData_ :: (MonadDOM m, IsBaseAudioContext self, IsArrayBuffer audioData) => self -> audioData -> Maybe DecodeSuccessCallback -> Maybe DecodeErrorCallback -> m ()
decodeAudioData_ self audioData successCallback errorCallback = liftDOM (void ((((Types.toBaseAudioContext self) ^. jsf "decodeAudioData" [toJSVal audioData, toJSVal successCallback, toJSVal errorCallback]) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/destination MDN BaseAudioContext.destination documentation>
getDestination :: (MonadDOM m, IsBaseAudioContext self) => self -> m AudioDestinationNode
getDestination self = liftDOM ((((Types.toBaseAudioContext self) ^. js "destination") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/sampleRate MDN BaseAudioContext.sampleRate documentation>
getSampleRate :: (MonadDOM m, IsBaseAudioContext self) => self -> m Float
getSampleRate self = liftDOM ((P.realToFrac <$> (((Types.toBaseAudioContext self) ^. js "sampleRate") >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/currentTime MDN BaseAudioContext.currentTime documentation>
getCurrentTime :: (MonadDOM m, IsBaseAudioContext self) => self -> m Double
getCurrentTime self = liftDOM ((((Types.toBaseAudioContext self) ^. js "currentTime") >>= valToNumber))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/listener MDN BaseAudioContext.listener documentation>
getListener :: (MonadDOM m, IsBaseAudioContext self) => self -> m AudioListener
getListener self = liftDOM ((((Types.toBaseAudioContext self) ^. js "listener") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/state MDN BaseAudioContext.state documentation>
getState :: (MonadDOM m, IsBaseAudioContext self) => self -> m AudioContextState
getState self = liftDOM ((((Types.toBaseAudioContext self) ^. js "state") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/BaseAudioContext/audioWorklet MDN BaseAudioContext.audioWorklet documentation>
getAudioWorklet :: (MonadDOM m, IsBaseAudioContext self) => self -> m AudioWorklet
getAudioWorklet self = liftDOM ((((Types.toBaseAudioContext self) ^. js "audioWorklet") >>= fromJSValUnchecked))

-- | <https://webaudio.github.io/web-audio-api/#dom-baseaudiocontext-onstatechange statechange event>
statechange :: (IsBaseAudioContext self, IsEventTarget self) => EventName self Event
statechange = unsafeEventName (toJSString "statechange")