jsaddle-dom-0.10.0.0: src/JSDOM/Generated/AudioParam.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.AudioParam
(cancelAndHoldAtTime, cancelAndHoldAtTime_, cancelScheduledValues, cancelScheduledValues_, exponentialRampToValueAtTime, exponentialRampToValueAtTime_, linearRampToValueAtTime, linearRampToValueAtTime_, setTargetAtTime, setTargetAtTime_, setValueAtTime, setValueAtTime_, setValueCurveAtTime, setValueCurveAtTime_, setValue, getValue, setAutomationRate, getAutomationRate, getDefaultValue, getMinValue, getMaxValue, AudioParam(..), gTypeAudioParam)
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/AudioParam/cancelAndHoldAtTime MDN AudioParam.cancelAndHoldAtTime documentation>
cancelAndHoldAtTime :: (MonadDOM m) => AudioParam -> Double -> m AudioParam
cancelAndHoldAtTime self cancelTime = liftDOM (((self ^. jsf "cancelAndHoldAtTime" [toJSVal cancelTime]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/AudioParam/cancelAndHoldAtTime MDN AudioParam.cancelAndHoldAtTime documentation>
cancelAndHoldAtTime_ :: (MonadDOM m) => AudioParam -> Double -> m ()
cancelAndHoldAtTime_ self cancelTime = liftDOM (void (self ^. jsf "cancelAndHoldAtTime" [toJSVal cancelTime]))
-- | <https://developer.mozilla.org/docs/Web/API/AudioParam/cancelScheduledValues MDN AudioParam.cancelScheduledValues documentation>
cancelScheduledValues :: (MonadDOM m) => AudioParam -> Double -> m AudioParam
cancelScheduledValues self cancelTime = liftDOM (((self ^. jsf "cancelScheduledValues" [toJSVal cancelTime]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/AudioParam/cancelScheduledValues MDN AudioParam.cancelScheduledValues documentation>
cancelScheduledValues_ :: (MonadDOM m) => AudioParam -> Double -> m ()
cancelScheduledValues_ self cancelTime = liftDOM (void (self ^. jsf "cancelScheduledValues" [toJSVal cancelTime]))
-- | <https://developer.mozilla.org/docs/Web/API/AudioParam/exponentialRampToValueAtTime MDN AudioParam.exponentialRampToValueAtTime documentation>
exponentialRampToValueAtTime :: (MonadDOM m) => AudioParam -> Float -> Double -> m AudioParam
exponentialRampToValueAtTime self value endTime = liftDOM (((self ^. jsf "exponentialRampToValueAtTime" [toJSVal value, toJSVal endTime]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/AudioParam/exponentialRampToValueAtTime MDN AudioParam.exponentialRampToValueAtTime documentation>
exponentialRampToValueAtTime_ :: (MonadDOM m) => AudioParam -> Float -> Double -> m ()
exponentialRampToValueAtTime_ self value endTime = liftDOM (void (self ^. jsf "exponentialRampToValueAtTime" [toJSVal value, toJSVal endTime]))
-- | <https://developer.mozilla.org/docs/Web/API/AudioParam/linearRampToValueAtTime MDN AudioParam.linearRampToValueAtTime documentation>
linearRampToValueAtTime :: (MonadDOM m) => AudioParam -> Float -> Double -> m AudioParam
linearRampToValueAtTime self value endTime = liftDOM (((self ^. jsf "linearRampToValueAtTime" [toJSVal value, toJSVal endTime]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/AudioParam/linearRampToValueAtTime MDN AudioParam.linearRampToValueAtTime documentation>
linearRampToValueAtTime_ :: (MonadDOM m) => AudioParam -> Float -> Double -> m ()
linearRampToValueAtTime_ self value endTime = liftDOM (void (self ^. jsf "linearRampToValueAtTime" [toJSVal value, toJSVal endTime]))
-- | <https://developer.mozilla.org/docs/Web/API/AudioParam/setTargetAtTime MDN AudioParam.setTargetAtTime documentation>
setTargetAtTime :: (MonadDOM m) => AudioParam -> Float -> Double -> Float -> m AudioParam
setTargetAtTime self target startTime timeConstant = liftDOM (((self ^. jsf "setTargetAtTime" [toJSVal target, toJSVal startTime, toJSVal timeConstant]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/AudioParam/setTargetAtTime MDN AudioParam.setTargetAtTime documentation>
setTargetAtTime_ :: (MonadDOM m) => AudioParam -> Float -> Double -> Float -> m ()
setTargetAtTime_ self target startTime timeConstant = liftDOM (void (self ^. jsf "setTargetAtTime" [toJSVal target, toJSVal startTime, toJSVal timeConstant]))
-- | <https://developer.mozilla.org/docs/Web/API/AudioParam/setValueAtTime MDN AudioParam.setValueAtTime documentation>
setValueAtTime :: (MonadDOM m) => AudioParam -> Float -> Double -> m AudioParam
setValueAtTime self value startTime = liftDOM (((self ^. jsf "setValueAtTime" [toJSVal value, toJSVal startTime]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/AudioParam/setValueAtTime MDN AudioParam.setValueAtTime documentation>
setValueAtTime_ :: (MonadDOM m) => AudioParam -> Float -> Double -> m ()
setValueAtTime_ self value startTime = liftDOM (void (self ^. jsf "setValueAtTime" [toJSVal value, toJSVal startTime]))
-- | <https://developer.mozilla.org/docs/Web/API/AudioParam/setValueCurveAtTime MDN AudioParam.setValueCurveAtTime documentation>
setValueCurveAtTime :: (MonadDOM m) => AudioParam -> [Float] -> Double -> Double -> m AudioParam
setValueCurveAtTime self values startTime duration = liftDOM (((self ^. jsf "setValueCurveAtTime" [toJSVal values, toJSVal startTime, toJSVal duration]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/AudioParam/setValueCurveAtTime MDN AudioParam.setValueCurveAtTime documentation>
setValueCurveAtTime_ :: (MonadDOM m) => AudioParam -> [Float] -> Double -> Double -> m ()
setValueCurveAtTime_ self values startTime duration = liftDOM (void (self ^. jsf "setValueCurveAtTime" [toJSVal values, toJSVal startTime, toJSVal duration]))
-- | <https://developer.mozilla.org/docs/Web/API/AudioParam/value MDN AudioParam.value documentation>
setValue :: (MonadDOM m) => AudioParam -> Float -> m ()
setValue self val = liftDOM (void (self ^. jss "value" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/AudioParam/value MDN AudioParam.value documentation>
getValue :: (MonadDOM m) => AudioParam -> m Float
getValue self = liftDOM ((P.realToFrac <$> ((self ^. js "value") >>= valToNumber)))
-- | <https://webaudio.github.io/web-audio-api/#dom-audioparam-automationrate AudioParam.automationRate specification>
setAutomationRate :: (MonadDOM m) => AudioParam -> AutomationRate -> m ()
setAutomationRate self val = liftDOM (void (self ^. jss "automationRate" (toJSVal val)))
-- | <https://webaudio.github.io/web-audio-api/#dom-audioparam-automationrate AudioParam.automationRate specification>
getAutomationRate :: (MonadDOM m) => AudioParam -> m AutomationRate
getAutomationRate self = liftDOM (((self ^. js "automationRate") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/AudioParam/defaultValue MDN AudioParam.defaultValue documentation>
getDefaultValue :: (MonadDOM m) => AudioParam -> m Float
getDefaultValue self = liftDOM ((P.realToFrac <$> ((self ^. js "defaultValue") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/AudioParam/minValue MDN AudioParam.minValue documentation>
getMinValue :: (MonadDOM m) => AudioParam -> m Float
getMinValue self = liftDOM ((P.realToFrac <$> ((self ^. js "minValue") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/AudioParam/maxValue MDN AudioParam.maxValue documentation>
getMaxValue :: (MonadDOM m) => AudioParam -> m Float
getMaxValue self = liftDOM ((P.realToFrac <$> ((self ^. js "maxValue") >>= valToNumber)))