{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.AnalyserNode
(getFloatFrequencyData, getByteFrequencyData,
getByteTimeDomainData, setFftSize, getFftSize,
getFrequencyBinCount, setMinDecibels, getMinDecibels,
setMaxDecibels, getMaxDecibels, setSmoothingTimeConstant,
getSmoothingTimeConstant, AnalyserNode(..), gTypeAnalyserNode)
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
getFloatFrequencyData ::
(MonadDOM m, IsFloat32Array array) =>
AnalyserNode -> Maybe array -> m ()
getFloatFrequencyData :: forall (m :: * -> *) array.
(MonadDOM m, IsFloat32Array array) =>
AnalyserNode -> Maybe array -> m ()
getFloatFrequencyData AnalyserNode
self Maybe array
array
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (AnalyserNode
self AnalyserNode
-> Getting (JSM JSVal) AnalyserNode (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
"getFloatFrequencyData" [Maybe array -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe array
array]))
getByteFrequencyData ::
(MonadDOM m, IsUint8Array array) =>
AnalyserNode -> Maybe array -> m ()
getByteFrequencyData :: forall (m :: * -> *) array.
(MonadDOM m, IsUint8Array array) =>
AnalyserNode -> Maybe array -> m ()
getByteFrequencyData AnalyserNode
self Maybe array
array
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (AnalyserNode
self AnalyserNode
-> Getting (JSM JSVal) AnalyserNode (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
"getByteFrequencyData" [Maybe array -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe array
array]))
getByteTimeDomainData ::
(MonadDOM m, IsUint8Array array) =>
AnalyserNode -> Maybe array -> m ()
getByteTimeDomainData :: forall (m :: * -> *) array.
(MonadDOM m, IsUint8Array array) =>
AnalyserNode -> Maybe array -> m ()
getByteTimeDomainData AnalyserNode
self Maybe array
array
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (AnalyserNode
self AnalyserNode
-> Getting (JSM JSVal) AnalyserNode (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
"getByteTimeDomainData" [Maybe array -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe array
array]))
setFftSize :: (MonadDOM m) => AnalyserNode -> Word -> m ()
setFftSize :: forall (m :: * -> *). MonadDOM m => AnalyserNode -> Word -> m ()
setFftSize AnalyserNode
self Word
val = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (AnalyserNode
self AnalyserNode -> Getting (DOM ()) AnalyserNode (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
"fftSize" (Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Word
val))
getFftSize :: (MonadDOM m) => AnalyserNode -> m Word
getFftSize :: forall (m :: * -> *). MonadDOM m => AnalyserNode -> m Word
getFftSize AnalyserNode
self
= DOM Word -> m Word
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (Double -> Word
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word) -> JSM Double -> DOM Word
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((AnalyserNode
self AnalyserNode
-> Getting (JSM JSVal) AnalyserNode (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter AnalyserNode (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"fftSize") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getFrequencyBinCount :: (MonadDOM m) => AnalyserNode -> m Word
getFrequencyBinCount :: forall (m :: * -> *). MonadDOM m => AnalyserNode -> m Word
getFrequencyBinCount AnalyserNode
self
= DOM Word -> m Word
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(Double -> Word
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word) -> JSM Double -> DOM Word
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((AnalyserNode
self AnalyserNode
-> Getting (JSM JSVal) AnalyserNode (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter AnalyserNode (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"frequencyBinCount") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
setMinDecibels :: (MonadDOM m) => AnalyserNode -> Double -> m ()
setMinDecibels :: forall (m :: * -> *). MonadDOM m => AnalyserNode -> Double -> m ()
setMinDecibels AnalyserNode
self Double
val
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (AnalyserNode
self AnalyserNode -> Getting (DOM ()) AnalyserNode (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
"minDecibels" (Double -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Double
val))
getMinDecibels :: (MonadDOM m) => AnalyserNode -> m Double
getMinDecibels :: forall (m :: * -> *). MonadDOM m => AnalyserNode -> m Double
getMinDecibels AnalyserNode
self
= JSM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((AnalyserNode
self AnalyserNode
-> Getting (JSM JSVal) AnalyserNode (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter AnalyserNode (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"minDecibels") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber)
setMaxDecibels :: (MonadDOM m) => AnalyserNode -> Double -> m ()
setMaxDecibels :: forall (m :: * -> *). MonadDOM m => AnalyserNode -> Double -> m ()
setMaxDecibels AnalyserNode
self Double
val
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (AnalyserNode
self AnalyserNode -> Getting (DOM ()) AnalyserNode (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
"maxDecibels" (Double -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Double
val))
getMaxDecibels :: (MonadDOM m) => AnalyserNode -> m Double
getMaxDecibels :: forall (m :: * -> *). MonadDOM m => AnalyserNode -> m Double
getMaxDecibels AnalyserNode
self
= JSM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((AnalyserNode
self AnalyserNode
-> Getting (JSM JSVal) AnalyserNode (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter AnalyserNode (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"maxDecibels") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber)
setSmoothingTimeConstant ::
(MonadDOM m) => AnalyserNode -> Double -> m ()
setSmoothingTimeConstant :: forall (m :: * -> *). MonadDOM m => AnalyserNode -> Double -> m ()
setSmoothingTimeConstant AnalyserNode
self Double
val
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (AnalyserNode
self AnalyserNode -> Getting (DOM ()) AnalyserNode (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
"smoothingTimeConstant" (Double -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Double
val))
getSmoothingTimeConstant ::
(MonadDOM m) => AnalyserNode -> m Double
getSmoothingTimeConstant :: forall (m :: * -> *). MonadDOM m => AnalyserNode -> m Double
getSmoothingTimeConstant AnalyserNode
self
= JSM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((AnalyserNode
self AnalyserNode
-> Getting (JSM JSVal) AnalyserNode (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter AnalyserNode (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"smoothingTimeConstant") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber)