packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/AudioNode.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.AudioNode
       (connect, connect_, connectParam, disconnect', disconnect, disconnectDestinationNode, disconnectDestinationNodeOutput, disconnectDestinationNodeOutputInput, disconnectDestinationParam, disconnectDestinationParamOutput, getContext, getNumberOfInputs, getNumberOfOutputs, setChannelCount, getChannelCount, setChannelCountMode, getChannelCountMode, setChannelInterpretation, getChannelInterpretation, AudioNode(..), gTypeAudioNode, IsAudioNode, toAudioNode)
       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/AudioNode/connect MDN AudioNode.connect documentation>
connect :: (MonadDOM m, IsAudioNode self, IsAudioNode destinationNode) => self -> destinationNode -> Maybe Word -> Maybe Word -> m AudioNode
connect self destinationNode output input = liftDOM ((((Types.toAudioNode self) ^. jsf "connect" [toJSVal destinationNode, P.maybe (P.return jsUndefined) toJSVal output, P.maybe (P.return jsUndefined) toJSVal input]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/AudioNode/connect MDN AudioNode.connect documentation>
connect_ :: (MonadDOM m, IsAudioNode self, IsAudioNode destinationNode) => self -> destinationNode -> Maybe Word -> Maybe Word -> m ()
connect_ self destinationNode output input = liftDOM (void ((Types.toAudioNode self) ^. jsf "connect" [toJSVal destinationNode, P.maybe (P.return jsUndefined) toJSVal output, P.maybe (P.return jsUndefined) toJSVal input]))

-- | <https://developer.mozilla.org/docs/Web/API/AudioNode/connect MDN AudioNode.connect documentation>
connectParam :: (MonadDOM m, IsAudioNode self) => self -> AudioParam -> Maybe Word -> m ()
connectParam self destinationParam output = liftDOM (void ((Types.toAudioNode self) ^. jsf "connect" [toJSVal destinationParam, P.maybe (P.return jsUndefined) toJSVal output]))

-- | <https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect MDN AudioNode.disconnect documentation>
disconnect' :: (MonadDOM m, IsAudioNode self) => self -> m ()
disconnect' self = liftDOM (void ((Types.toAudioNode self) ^. jsf "disconnect" ()))

-- | <https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect MDN AudioNode.disconnect documentation>
disconnect :: (MonadDOM m, IsAudioNode self) => self -> Word -> m ()
disconnect self output = liftDOM (void ((Types.toAudioNode self) ^. jsf "disconnect" [toJSVal output]))

-- | <https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect MDN AudioNode.disconnect documentation>
disconnectDestinationNode :: (MonadDOM m, IsAudioNode self, IsAudioNode destinationNode) => self -> destinationNode -> m ()
disconnectDestinationNode self destinationNode = liftDOM (void ((Types.toAudioNode self) ^. jsf "disconnect" [toJSVal destinationNode]))

-- | <https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect MDN AudioNode.disconnect documentation>
disconnectDestinationNodeOutput :: (MonadDOM m, IsAudioNode self, IsAudioNode destinationNode) => self -> destinationNode -> Word -> m ()
disconnectDestinationNodeOutput self destinationNode output = liftDOM (void ((Types.toAudioNode self) ^. jsf "disconnect" [toJSVal destinationNode, toJSVal output]))

-- | <https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect MDN AudioNode.disconnect documentation>
disconnectDestinationNodeOutputInput :: (MonadDOM m, IsAudioNode self, IsAudioNode destinationNode) => self -> destinationNode -> Word -> Word -> m ()
disconnectDestinationNodeOutputInput self destinationNode output input = liftDOM (void ((Types.toAudioNode self) ^. jsf "disconnect" [toJSVal destinationNode, toJSVal output, toJSVal input]))

-- | <https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect MDN AudioNode.disconnect documentation>
disconnectDestinationParam :: (MonadDOM m, IsAudioNode self) => self -> AudioParam -> m ()
disconnectDestinationParam self destinationParam = liftDOM (void ((Types.toAudioNode self) ^. jsf "disconnect" [toJSVal destinationParam]))

-- | <https://developer.mozilla.org/docs/Web/API/AudioNode/disconnect MDN AudioNode.disconnect documentation>
disconnectDestinationParamOutput :: (MonadDOM m, IsAudioNode self) => self -> AudioParam -> Word -> m ()
disconnectDestinationParamOutput self destinationParam output = liftDOM (void ((Types.toAudioNode self) ^. jsf "disconnect" [toJSVal destinationParam, toJSVal output]))

-- | <https://developer.mozilla.org/docs/Web/API/AudioNode/context MDN AudioNode.context documentation>
getContext :: (MonadDOM m, IsAudioNode self) => self -> m BaseAudioContext
getContext self = liftDOM ((((Types.toAudioNode self) ^. js "context") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/AudioNode/numberOfInputs MDN AudioNode.numberOfInputs documentation>
getNumberOfInputs :: (MonadDOM m, IsAudioNode self) => self -> m Word
getNumberOfInputs self = liftDOM ((P.round <$> (((Types.toAudioNode self) ^. js "numberOfInputs") >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/AudioNode/numberOfOutputs MDN AudioNode.numberOfOutputs documentation>
getNumberOfOutputs :: (MonadDOM m, IsAudioNode self) => self -> m Word
getNumberOfOutputs self = liftDOM ((P.round <$> (((Types.toAudioNode self) ^. js "numberOfOutputs") >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/AudioNode/channelCount MDN AudioNode.channelCount documentation>
setChannelCount :: (MonadDOM m, IsAudioNode self) => self -> Word -> m ()
setChannelCount self val = liftDOM (void ((Types.toAudioNode self) ^. jss "channelCount" (toJSVal val)))

-- | <https://developer.mozilla.org/docs/Web/API/AudioNode/channelCount MDN AudioNode.channelCount documentation>
getChannelCount :: (MonadDOM m, IsAudioNode self) => self -> m Word
getChannelCount self = liftDOM ((P.round <$> (((Types.toAudioNode self) ^. js "channelCount") >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/AudioNode/channelCountMode MDN AudioNode.channelCountMode documentation>
setChannelCountMode :: (MonadDOM m, IsAudioNode self) => self -> ChannelCountMode -> m ()
setChannelCountMode self val = liftDOM (void ((Types.toAudioNode self) ^. jss "channelCountMode" (toJSVal val)))

-- | <https://developer.mozilla.org/docs/Web/API/AudioNode/channelCountMode MDN AudioNode.channelCountMode documentation>
getChannelCountMode :: (MonadDOM m, IsAudioNode self) => self -> m ChannelCountMode
getChannelCountMode self = liftDOM ((((Types.toAudioNode self) ^. js "channelCountMode") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/AudioNode/channelInterpretation MDN AudioNode.channelInterpretation documentation>
setChannelInterpretation :: (MonadDOM m, IsAudioNode self) => self -> ChannelInterpretation -> m ()
setChannelInterpretation self val = liftDOM (void ((Types.toAudioNode self) ^. jss "channelInterpretation" (toJSVal val)))

-- | <https://developer.mozilla.org/docs/Web/API/AudioNode/channelInterpretation MDN AudioNode.channelInterpretation documentation>
getChannelInterpretation :: (MonadDOM m, IsAudioNode self) => self -> m ChannelInterpretation
getChannelInterpretation self = liftDOM ((((Types.toAudioNode self) ^. js "channelInterpretation") >>= fromJSValUnchecked))