jsaddle-dom-0.10.0.0: src/JSDOM/Generated/AudioProcessingEventInit.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.AudioProcessingEventInit
(newAudioProcessingEventInit, setPlaybackTime, getPlaybackTime, setInputBuffer, getInputBuffer, setOutputBuffer, getOutputBuffer, AudioProcessingEventInit(..), gTypeAudioProcessingEventInit)
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://webaudio.github.io/web-audio-api/#AudioProcessingEventInit AudioProcessingEventInit specification>
newAudioProcessingEventInit :: (MonadDOM m) => Double -> AudioBuffer -> AudioBuffer -> m AudioProcessingEventInit
newAudioProcessingEventInit playbackTime inputBuffer outputBuffer = liftDOM ((((new (jsg "Object") () >>= \o -> (o ^. jss "playbackTime" (toJSVal playbackTime)) P.>> (o ^. jss "inputBuffer" (toJSVal inputBuffer)) P.>> (o ^. jss "outputBuffer" (toJSVal outputBuffer)) P.>> P.return o)) >>= fromJSValUnchecked))
-- | <https://webaudio.github.io/web-audio-api/#dom-audioprocessingeventinit-playbacktime AudioProcessingEventInit.playbackTime specification>
setPlaybackTime :: (MonadDOM m) => AudioProcessingEventInit -> Double -> m ()
setPlaybackTime self val = liftDOM (void (self ^. jss "playbackTime" (toJSVal val)))
-- | <https://webaudio.github.io/web-audio-api/#dom-audioprocessingeventinit-playbacktime AudioProcessingEventInit.playbackTime specification>
getPlaybackTime :: (MonadDOM m) => AudioProcessingEventInit -> m Double
getPlaybackTime self = liftDOM (((self ^. js "playbackTime") >>= valToNumber))
-- | <https://webaudio.github.io/web-audio-api/#dom-audioprocessingeventinit-inputbuffer AudioProcessingEventInit.inputBuffer specification>
setInputBuffer :: (MonadDOM m) => AudioProcessingEventInit -> AudioBuffer -> m ()
setInputBuffer self val = liftDOM (void (self ^. jss "inputBuffer" (toJSVal val)))
-- | <https://webaudio.github.io/web-audio-api/#dom-audioprocessingeventinit-inputbuffer AudioProcessingEventInit.inputBuffer specification>
getInputBuffer :: (MonadDOM m) => AudioProcessingEventInit -> m AudioBuffer
getInputBuffer self = liftDOM (((self ^. js "inputBuffer") >>= fromJSValUnchecked))
-- | <https://webaudio.github.io/web-audio-api/#dom-audioprocessingeventinit-outputbuffer AudioProcessingEventInit.outputBuffer specification>
setOutputBuffer :: (MonadDOM m) => AudioProcessingEventInit -> AudioBuffer -> m ()
setOutputBuffer self val = liftDOM (void (self ^. jss "outputBuffer" (toJSVal val)))
-- | <https://webaudio.github.io/web-audio-api/#dom-audioprocessingeventinit-outputbuffer AudioProcessingEventInit.outputBuffer specification>
getOutputBuffer :: (MonadDOM m) => AudioProcessingEventInit -> m AudioBuffer
getOutputBuffer self = liftDOM (((self ^. js "outputBuffer") >>= fromJSValUnchecked))