ghcjs-dom-javascript-0.10.0.0: src/GHCJS/DOM/JSFFI/Generated/AudioContextOptions.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from webaudio-1.1 (webref). Do not edit.
module GHCJS.DOM.JSFFI.Generated.AudioContextOptions
(js_newAudioContextOptions, js_setLatencyHint, js_getLatencyHint, js_setSampleRate, js_getSampleRate, js_setSinkId, js_getSinkId, js_setRenderSizeHint, js_getRenderSizeHint, newAudioContextOptions, setLatencyHint, getLatencyHint, getLatencyHintUnsafe, getLatencyHintUnchecked, setSampleRate, getSampleRate, getSampleRateUnsafe, getSampleRateUnchecked, setSinkId, getSinkId, getSinkIdUnsafe, getSinkIdUnchecked, setRenderSizeHint, getRenderSizeHint, getRenderSizeHintUnsafe, getRenderSizeHintUnchecked, AudioContextOptions(..), gTypeAudioContextOptions)
where
import Prelude ((.), (==), (>>=), (<$>), (++), Bool(..), Maybe(..), IO, Int, Word, Double, Float)
import qualified Prelude as P
import Control.Monad (void)
import GHCJS.Types (JSVal, JSString)
import GHCJS.Foreign (jsUndefined, jsNull)
import GHCJS.DOM.Types
import qualified GHCJS.DOM.Types as Types
import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import GHCJS.DOM.JSFFI.Generated.Enums
foreign import javascript safe "(() => { return ({}); })"
js_newAudioContextOptions :: IO AudioContextOptions
-- | <https://webaudio.github.io/web-audio-api/#AudioContextOptions AudioContextOptions specification>
newAudioContextOptions :: (MonadDOM m) => m AudioContextOptions
newAudioContextOptions = liftDOM ((js_newAudioContextOptions))
foreign import javascript safe "(($1, $2) => { $1[\"latencyHint\"] = $2; })"
js_setLatencyHint :: AudioContextOptions -> AudioContextLatencyCategoryOrDouble -> IO ()
-- | <https://webaudio.github.io/web-audio-api/#dom-audiocontextoptions-latencyhint AudioContextOptions.latencyHint specification>
setLatencyHint :: (MonadDOM m, IsAudioContextLatencyCategoryOrDouble val) => AudioContextOptions -> val -> m ()
setLatencyHint self val = liftDOM (void ((js_setLatencyHint (self) (Types.toAudioContextLatencyCategoryOrDouble val))))
foreign import javascript unsafe "(($1) => { return $1[\"latencyHint\"]; })"
js_getLatencyHint :: AudioContextOptions -> IO JSVal
-- | <https://webaudio.github.io/web-audio-api/#dom-audiocontextoptions-latencyhint AudioContextOptions.latencyHint specification>
getLatencyHint :: (MonadDOM m) => AudioContextOptions -> m (Maybe AudioContextLatencyCategoryOrDouble)
getLatencyHint self = liftDOM (((js_getLatencyHint (self)) >>= fromJSValUnchecked))
-- | <https://webaudio.github.io/web-audio-api/#dom-audiocontextoptions-latencyhint AudioContextOptions.latencyHint specification>
getLatencyHintUnsafe :: (MonadDOM m, HasCallStack) => AudioContextOptions -> m AudioContextLatencyCategoryOrDouble
getLatencyHintUnsafe self = liftDOM ((((js_getLatencyHint (self)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://webaudio.github.io/web-audio-api/#dom-audiocontextoptions-latencyhint AudioContextOptions.latencyHint specification>
getLatencyHintUnchecked :: (MonadDOM m) => AudioContextOptions -> m AudioContextLatencyCategoryOrDouble
getLatencyHintUnchecked self = liftDOM ((pFromJSVal <$> (js_getLatencyHint (self))))
foreign import javascript safe "(($1, $2) => { $1[\"sampleRate\"] = $2; })"
js_setSampleRate :: AudioContextOptions -> Float -> IO ()
-- | <https://webaudio.github.io/web-audio-api/#dom-audiocontextoptions-samplerate AudioContextOptions.sampleRate specification>
setSampleRate :: (MonadDOM m) => AudioContextOptions -> Float -> m ()
setSampleRate self val = liftDOM (void ((js_setSampleRate (self) (val))))
foreign import javascript unsafe "(($1) => { return $1[\"sampleRate\"]; })"
js_getSampleRate :: AudioContextOptions -> IO JSVal
-- | <https://webaudio.github.io/web-audio-api/#dom-audiocontextoptions-samplerate AudioContextOptions.sampleRate specification>
getSampleRate :: (MonadDOM m) => AudioContextOptions -> m (Maybe Float)
getSampleRate self = liftDOM (((js_getSampleRate (self)) >>= fromJSValUnchecked))
-- | <https://webaudio.github.io/web-audio-api/#dom-audiocontextoptions-samplerate AudioContextOptions.sampleRate specification>
getSampleRateUnsafe :: (MonadDOM m, HasCallStack) => AudioContextOptions -> m Float
getSampleRateUnsafe self = liftDOM ((((js_getSampleRate (self)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://webaudio.github.io/web-audio-api/#dom-audiocontextoptions-samplerate AudioContextOptions.sampleRate specification>
getSampleRateUnchecked :: (MonadDOM m) => AudioContextOptions -> m Float
getSampleRateUnchecked self = liftDOM ((pFromJSVal <$> (js_getSampleRate (self))))
foreign import javascript safe "(($1, $2) => { $1[\"sinkId\"] = $2; })"
js_setSinkId :: AudioContextOptions -> StringOrAudioSinkOptions -> IO ()
-- | <https://webaudio.github.io/web-audio-api/#dom-audiocontextoptions-sinkid AudioContextOptions.sinkId specification>
setSinkId :: (MonadDOM m, IsStringOrAudioSinkOptions val) => AudioContextOptions -> val -> m ()
setSinkId self val = liftDOM (void ((js_setSinkId (self) (Types.toStringOrAudioSinkOptions val))))
foreign import javascript unsafe "(($1) => { return $1[\"sinkId\"]; })"
js_getSinkId :: AudioContextOptions -> IO JSVal
-- | <https://webaudio.github.io/web-audio-api/#dom-audiocontextoptions-sinkid AudioContextOptions.sinkId specification>
getSinkId :: (MonadDOM m) => AudioContextOptions -> m (Maybe StringOrAudioSinkOptions)
getSinkId self = liftDOM (((js_getSinkId (self)) >>= fromJSValUnchecked))
-- | <https://webaudio.github.io/web-audio-api/#dom-audiocontextoptions-sinkid AudioContextOptions.sinkId specification>
getSinkIdUnsafe :: (MonadDOM m, HasCallStack) => AudioContextOptions -> m StringOrAudioSinkOptions
getSinkIdUnsafe self = liftDOM ((((js_getSinkId (self)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://webaudio.github.io/web-audio-api/#dom-audiocontextoptions-sinkid AudioContextOptions.sinkId specification>
getSinkIdUnchecked :: (MonadDOM m) => AudioContextOptions -> m StringOrAudioSinkOptions
getSinkIdUnchecked self = liftDOM ((pFromJSVal <$> (js_getSinkId (self))))
foreign import javascript safe "(($1, $2) => { $1[\"renderSizeHint\"] = $2; })"
js_setRenderSizeHint :: AudioContextOptions -> AudioContextRenderSizeCategoryOrWord -> IO ()
-- | <https://webaudio.github.io/web-audio-api/#dom-audiocontextoptions-rendersizehint AudioContextOptions.renderSizeHint specification>
setRenderSizeHint :: (MonadDOM m, IsAudioContextRenderSizeCategoryOrWord val) => AudioContextOptions -> val -> m ()
setRenderSizeHint self val = liftDOM (void ((js_setRenderSizeHint (self) (Types.toAudioContextRenderSizeCategoryOrWord val))))
foreign import javascript unsafe "(($1) => { return $1[\"renderSizeHint\"]; })"
js_getRenderSizeHint :: AudioContextOptions -> IO JSVal
-- | <https://webaudio.github.io/web-audio-api/#dom-audiocontextoptions-rendersizehint AudioContextOptions.renderSizeHint specification>
getRenderSizeHint :: (MonadDOM m) => AudioContextOptions -> m (Maybe AudioContextRenderSizeCategoryOrWord)
getRenderSizeHint self = liftDOM (((js_getRenderSizeHint (self)) >>= fromJSValUnchecked))
-- | <https://webaudio.github.io/web-audio-api/#dom-audiocontextoptions-rendersizehint AudioContextOptions.renderSizeHint specification>
getRenderSizeHintUnsafe :: (MonadDOM m, HasCallStack) => AudioContextOptions -> m AudioContextRenderSizeCategoryOrWord
getRenderSizeHintUnsafe self = liftDOM ((((js_getRenderSizeHint (self)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://webaudio.github.io/web-audio-api/#dom-audiocontextoptions-rendersizehint AudioContextOptions.renderSizeHint specification>
getRenderSizeHintUnchecked :: (MonadDOM m) => AudioContextOptions -> m AudioContextRenderSizeCategoryOrWord
getRenderSizeHintUnchecked self = liftDOM ((pFromJSVal <$> (js_getRenderSizeHint (self))))