jsaddle-dom-0.10.0.0: src/JSDOM/Generated/PannerNode.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.PannerNode
(newPannerNode, setOrientation, setPosition, setPanningModel, getPanningModel, getPositionX, getPositionY, getPositionZ, getOrientationX, getOrientationY, getOrientationZ, setDistanceModel, getDistanceModel, setRefDistance, getRefDistance, setMaxDistance, getMaxDistance, setRolloffFactor, getRolloffFactor, setConeInnerAngle, getConeInnerAngle, setConeOuterAngle, getConeOuterAngle, setConeOuterGain, getConeOuterGain, PannerNode(..), gTypePannerNode)
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/PannerNode/PannerNode MDN PannerNode. documentation>
newPannerNode :: (MonadDOM m, IsBaseAudioContext context) => context -> Maybe PannerOptions -> m PannerNode
newPannerNode context options = liftDOM (((new (jsg "PannerNode") [toJSVal context, P.maybe (P.return jsUndefined) toJSVal options]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/PannerNode/setOrientation MDN PannerNode.setOrientation documentation>
setOrientation :: (MonadDOM m) => PannerNode -> Float -> Float -> Float -> m ()
setOrientation self x y z = liftDOM (void (self ^. jsf "setOrientation" [toJSVal x, toJSVal y, toJSVal z]))
-- | <https://developer.mozilla.org/docs/Web/API/PannerNode/setPosition MDN PannerNode.setPosition documentation>
setPosition :: (MonadDOM m) => PannerNode -> Float -> Float -> Float -> m ()
setPosition self x y z = liftDOM (void (self ^. jsf "setPosition" [toJSVal x, toJSVal y, toJSVal z]))
-- | <https://developer.mozilla.org/docs/Web/API/PannerNode/panningModel MDN PannerNode.panningModel documentation>
setPanningModel :: (MonadDOM m) => PannerNode -> PanningModelType -> m ()
setPanningModel self val = liftDOM (void (self ^. jss "panningModel" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/PannerNode/panningModel MDN PannerNode.panningModel documentation>
getPanningModel :: (MonadDOM m) => PannerNode -> m PanningModelType
getPanningModel self = liftDOM (((self ^. js "panningModel") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/PannerNode/positionX MDN PannerNode.positionX documentation>
getPositionX :: (MonadDOM m) => PannerNode -> m AudioParam
getPositionX self = liftDOM (((self ^. js "positionX") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/PannerNode/positionY MDN PannerNode.positionY documentation>
getPositionY :: (MonadDOM m) => PannerNode -> m AudioParam
getPositionY self = liftDOM (((self ^. js "positionY") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/PannerNode/positionZ MDN PannerNode.positionZ documentation>
getPositionZ :: (MonadDOM m) => PannerNode -> m AudioParam
getPositionZ self = liftDOM (((self ^. js "positionZ") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/PannerNode/orientationX MDN PannerNode.orientationX documentation>
getOrientationX :: (MonadDOM m) => PannerNode -> m AudioParam
getOrientationX self = liftDOM (((self ^. js "orientationX") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/PannerNode/orientationY MDN PannerNode.orientationY documentation>
getOrientationY :: (MonadDOM m) => PannerNode -> m AudioParam
getOrientationY self = liftDOM (((self ^. js "orientationY") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/PannerNode/orientationZ MDN PannerNode.orientationZ documentation>
getOrientationZ :: (MonadDOM m) => PannerNode -> m AudioParam
getOrientationZ self = liftDOM (((self ^. js "orientationZ") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/PannerNode/distanceModel MDN PannerNode.distanceModel documentation>
setDistanceModel :: (MonadDOM m) => PannerNode -> DistanceModelType -> m ()
setDistanceModel self val = liftDOM (void (self ^. jss "distanceModel" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/PannerNode/distanceModel MDN PannerNode.distanceModel documentation>
getDistanceModel :: (MonadDOM m) => PannerNode -> m DistanceModelType
getDistanceModel self = liftDOM (((self ^. js "distanceModel") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/PannerNode/refDistance MDN PannerNode.refDistance documentation>
setRefDistance :: (MonadDOM m) => PannerNode -> Double -> m ()
setRefDistance self val = liftDOM (void (self ^. jss "refDistance" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/PannerNode/refDistance MDN PannerNode.refDistance documentation>
getRefDistance :: (MonadDOM m) => PannerNode -> m Double
getRefDistance self = liftDOM (((self ^. js "refDistance") >>= valToNumber))
-- | <https://developer.mozilla.org/docs/Web/API/PannerNode/maxDistance MDN PannerNode.maxDistance documentation>
setMaxDistance :: (MonadDOM m) => PannerNode -> Double -> m ()
setMaxDistance self val = liftDOM (void (self ^. jss "maxDistance" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/PannerNode/maxDistance MDN PannerNode.maxDistance documentation>
getMaxDistance :: (MonadDOM m) => PannerNode -> m Double
getMaxDistance self = liftDOM (((self ^. js "maxDistance") >>= valToNumber))
-- | <https://developer.mozilla.org/docs/Web/API/PannerNode/rolloffFactor MDN PannerNode.rolloffFactor documentation>
setRolloffFactor :: (MonadDOM m) => PannerNode -> Double -> m ()
setRolloffFactor self val = liftDOM (void (self ^. jss "rolloffFactor" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/PannerNode/rolloffFactor MDN PannerNode.rolloffFactor documentation>
getRolloffFactor :: (MonadDOM m) => PannerNode -> m Double
getRolloffFactor self = liftDOM (((self ^. js "rolloffFactor") >>= valToNumber))
-- | <https://developer.mozilla.org/docs/Web/API/PannerNode/coneInnerAngle MDN PannerNode.coneInnerAngle documentation>
setConeInnerAngle :: (MonadDOM m) => PannerNode -> Double -> m ()
setConeInnerAngle self val = liftDOM (void (self ^. jss "coneInnerAngle" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/PannerNode/coneInnerAngle MDN PannerNode.coneInnerAngle documentation>
getConeInnerAngle :: (MonadDOM m) => PannerNode -> m Double
getConeInnerAngle self = liftDOM (((self ^. js "coneInnerAngle") >>= valToNumber))
-- | <https://developer.mozilla.org/docs/Web/API/PannerNode/coneOuterAngle MDN PannerNode.coneOuterAngle documentation>
setConeOuterAngle :: (MonadDOM m) => PannerNode -> Double -> m ()
setConeOuterAngle self val = liftDOM (void (self ^. jss "coneOuterAngle" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/PannerNode/coneOuterAngle MDN PannerNode.coneOuterAngle documentation>
getConeOuterAngle :: (MonadDOM m) => PannerNode -> m Double
getConeOuterAngle self = liftDOM (((self ^. js "coneOuterAngle") >>= valToNumber))
-- | <https://developer.mozilla.org/docs/Web/API/PannerNode/coneOuterGain MDN PannerNode.coneOuterGain documentation>
setConeOuterGain :: (MonadDOM m) => PannerNode -> Double -> m ()
setConeOuterGain self val = liftDOM (void (self ^. jss "coneOuterGain" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/PannerNode/coneOuterGain MDN PannerNode.coneOuterGain documentation>
getConeOuterGain :: (MonadDOM m) => PannerNode -> m Double
getConeOuterGain self = liftDOM (((self ^. js "coneOuterGain") >>= valToNumber))