{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.BiquadFilterNode
(getFrequencyResponse, setType, getType, getFrequency, getDetune,
getQ, getGain, BiquadFilterNode(..), gTypeBiquadFilterNode)
where
import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
import qualified Prelude (error)
import Data.Typeable (Typeable)
import Data.Traversable (mapM)
import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, asyncFunction, new, array, jsUndefined, (!), (!!))
import Data.Int (Int64)
import Data.Word (Word, Word64)
import JSDOM.Types
import Control.Applicative ((<$>))
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Enums
getFrequencyResponse ::
(MonadDOM m, IsFloat32Array frequencyHz,
IsFloat32Array magResponse, IsFloat32Array phaseResponse) =>
BiquadFilterNode ->
Maybe frequencyHz ->
Maybe magResponse -> Maybe phaseResponse -> m ()
getFrequencyResponse :: forall (m :: * -> *) frequencyHz magResponse phaseResponse.
(MonadDOM m, IsFloat32Array frequencyHz,
IsFloat32Array magResponse, IsFloat32Array phaseResponse) =>
BiquadFilterNode
-> Maybe frequencyHz
-> Maybe magResponse
-> Maybe phaseResponse
-> m ()
getFrequencyResponse BiquadFilterNode
self Maybe frequencyHz
frequencyHz Maybe magResponse
magResponse Maybe phaseResponse
phaseResponse
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
(BiquadFilterNode
self BiquadFilterNode
-> Getting (JSM JSVal) BiquadFilterNode (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getFrequencyResponse"
[Maybe frequencyHz -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe frequencyHz
frequencyHz, Maybe magResponse -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe magResponse
magResponse, Maybe phaseResponse -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe phaseResponse
phaseResponse]))
setType ::
(MonadDOM m) => BiquadFilterNode -> BiquadFilterType -> m ()
setType :: forall (m :: * -> *).
MonadDOM m =>
BiquadFilterNode -> BiquadFilterType -> m ()
setType BiquadFilterNode
self BiquadFilterType
val = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (BiquadFilterNode
self BiquadFilterNode
-> Getting (DOM ()) BiquadFilterNode (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. String
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss String
"type" (BiquadFilterType -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal BiquadFilterType
val))
getType :: (MonadDOM m) => BiquadFilterNode -> m BiquadFilterType
getType :: forall (m :: * -> *).
MonadDOM m =>
BiquadFilterNode -> m BiquadFilterType
getType BiquadFilterNode
self = DOM BiquadFilterType -> m BiquadFilterType
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((BiquadFilterNode
self BiquadFilterNode
-> Getting (JSM JSVal) BiquadFilterNode (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter BiquadFilterNode (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"type") JSM JSVal
-> (JSVal -> DOM BiquadFilterType) -> DOM BiquadFilterType
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM BiquadFilterType
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getFrequency :: (MonadDOM m) => BiquadFilterNode -> m AudioParam
getFrequency :: forall (m :: * -> *).
MonadDOM m =>
BiquadFilterNode -> m AudioParam
getFrequency BiquadFilterNode
self
= DOM AudioParam -> m AudioParam
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((BiquadFilterNode
self BiquadFilterNode
-> Getting (JSM JSVal) BiquadFilterNode (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter BiquadFilterNode (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"frequency") JSM JSVal -> (JSVal -> DOM AudioParam) -> DOM AudioParam
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM AudioParam
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getDetune :: (MonadDOM m) => BiquadFilterNode -> m AudioParam
getDetune :: forall (m :: * -> *).
MonadDOM m =>
BiquadFilterNode -> m AudioParam
getDetune BiquadFilterNode
self
= DOM AudioParam -> m AudioParam
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((BiquadFilterNode
self BiquadFilterNode
-> Getting (JSM JSVal) BiquadFilterNode (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter BiquadFilterNode (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"detune") JSM JSVal -> (JSVal -> DOM AudioParam) -> DOM AudioParam
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM AudioParam
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getQ :: (MonadDOM m) => BiquadFilterNode -> m AudioParam
getQ :: forall (m :: * -> *).
MonadDOM m =>
BiquadFilterNode -> m AudioParam
getQ BiquadFilterNode
self = DOM AudioParam -> m AudioParam
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((BiquadFilterNode
self BiquadFilterNode
-> Getting (JSM JSVal) BiquadFilterNode (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter BiquadFilterNode (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"Q") JSM JSVal -> (JSVal -> DOM AudioParam) -> DOM AudioParam
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM AudioParam
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getGain :: (MonadDOM m) => BiquadFilterNode -> m AudioParam
getGain :: forall (m :: * -> *).
MonadDOM m =>
BiquadFilterNode -> m AudioParam
getGain BiquadFilterNode
self = DOM AudioParam -> m AudioParam
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((BiquadFilterNode
self BiquadFilterNode
-> Getting (JSM JSVal) BiquadFilterNode (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter BiquadFilterNode (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"gain") JSM JSVal -> (JSVal -> DOM AudioParam) -> DOM AudioParam
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM AudioParam
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)