packages feed

ghcjs-dom-javascript-0.10.0.0: src/GHCJS/DOM/JSFFI/Generated/AudioEncoderConfig.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from webcodecs (webref). Do not edit.
module GHCJS.DOM.JSFFI.Generated.AudioEncoderConfig
       (js_newAudioEncoderConfig, js_setCodec, js_getCodec, js_setSampleRate, js_getSampleRate, js_setNumberOfChannels, js_getNumberOfChannels, js_setBitrate, js_getBitrate, js_setBitrateMode, js_getBitrateMode, js_setAac, js_getAac, js_setFlac, js_getFlac, js_setOpus, js_getOpus, newAudioEncoderConfig, setCodec, getCodec, setSampleRate, getSampleRate, setNumberOfChannels, getNumberOfChannels, setBitrate, getBitrate, getBitrateUnsafe, getBitrateUnchecked, setBitrateMode, getBitrateMode, getBitrateModeUnsafe, getBitrateModeUnchecked, setAac, getAac, getAacUnsafe, getAacUnchecked, setFlac, getFlac, getFlacUnsafe, getFlacUnchecked, setOpus, getOpus, getOpusUnsafe, getOpusUnchecked, AudioEncoderConfig(..), gTypeAudioEncoderConfig)
       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 "(($1, $2, $3) => { return ({\"codec\": $1, \"sampleRate\": $2, \"numberOfChannels\": $3}); })"
        js_newAudioEncoderConfig :: JSString -> Word -> Word -> IO AudioEncoderConfig
-- | <https://w3c.github.io/webcodecs/#dictdef-audioencoderconfig AudioEncoderConfig specification>
newAudioEncoderConfig :: (MonadDOM m, ToJSString codec) => codec -> Word -> Word -> m AudioEncoderConfig
newAudioEncoderConfig codec sampleRate numberOfChannels = liftDOM ((js_newAudioEncoderConfig (toJSString codec) (sampleRate) (numberOfChannels)))

foreign import javascript safe "(($1, $2) => { $1[\"codec\"] = $2; })"
        js_setCodec :: AudioEncoderConfig -> JSString -> IO ()
-- | <https://w3c.github.io/webcodecs/#dom-audioencoderconfig-codec AudioEncoderConfig.codec specification>
setCodec :: (MonadDOM m, ToJSString val) => AudioEncoderConfig -> val -> m ()
setCodec self val = liftDOM (void ((js_setCodec (self) (toJSString val))))

foreign import javascript unsafe "(($1) => { return $1[\"codec\"]; })"
        js_getCodec :: AudioEncoderConfig -> IO JSString
-- | <https://w3c.github.io/webcodecs/#dom-audioencoderconfig-codec AudioEncoderConfig.codec specification>
getCodec :: (MonadDOM m, FromJSString result) => AudioEncoderConfig -> m result
getCodec self = liftDOM ((fromJSString <$> (js_getCodec (self))))

foreign import javascript safe "(($1, $2) => { $1[\"sampleRate\"] = $2; })"
        js_setSampleRate :: AudioEncoderConfig -> Word -> IO ()
-- | <https://w3c.github.io/webcodecs/#dom-audioencoderconfig-samplerate AudioEncoderConfig.sampleRate specification>
setSampleRate :: (MonadDOM m) => AudioEncoderConfig -> Word -> m ()
setSampleRate self val = liftDOM (void ((js_setSampleRate (self) (val))))

foreign import javascript unsafe "(($1) => { return $1[\"sampleRate\"]; })"
        js_getSampleRate :: AudioEncoderConfig -> IO Word
-- | <https://w3c.github.io/webcodecs/#dom-audioencoderconfig-samplerate AudioEncoderConfig.sampleRate specification>
getSampleRate :: (MonadDOM m) => AudioEncoderConfig -> m Word
getSampleRate self = liftDOM ((js_getSampleRate (self)))

foreign import javascript safe "(($1, $2) => { $1[\"numberOfChannels\"] = $2; })"
        js_setNumberOfChannels :: AudioEncoderConfig -> Word -> IO ()
-- | <https://w3c.github.io/webcodecs/#dom-audioencoderconfig-numberofchannels AudioEncoderConfig.numberOfChannels specification>
setNumberOfChannels :: (MonadDOM m) => AudioEncoderConfig -> Word -> m ()
setNumberOfChannels self val = liftDOM (void ((js_setNumberOfChannels (self) (val))))

foreign import javascript unsafe "(($1) => { return $1[\"numberOfChannels\"]; })"
        js_getNumberOfChannels :: AudioEncoderConfig -> IO Word
-- | <https://w3c.github.io/webcodecs/#dom-audioencoderconfig-numberofchannels AudioEncoderConfig.numberOfChannels specification>
getNumberOfChannels :: (MonadDOM m) => AudioEncoderConfig -> m Word
getNumberOfChannels self = liftDOM ((js_getNumberOfChannels (self)))

foreign import javascript safe "(($1, $2) => { $1[\"bitrate\"] = $2; })"
        js_setBitrate :: AudioEncoderConfig -> JSVal -> IO ()
-- | <https://w3c.github.io/webcodecs/#dom-audioencoderconfig-bitrate AudioEncoderConfig.bitrate specification>
setBitrate :: (MonadDOM m) => AudioEncoderConfig -> Word53 -> m ()
setBitrate self val = liftDOM (void (((toJSVal val) >>= \a2' -> js_setBitrate (self) a2')))

foreign import javascript unsafe "(($1) => { return $1[\"bitrate\"]; })"
        js_getBitrate :: AudioEncoderConfig -> IO JSVal
-- | <https://w3c.github.io/webcodecs/#dom-audioencoderconfig-bitrate AudioEncoderConfig.bitrate specification>
getBitrate :: (MonadDOM m) => AudioEncoderConfig -> m (Maybe Word53)
getBitrate self = liftDOM (((js_getBitrate (self)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webcodecs/#dom-audioencoderconfig-bitrate AudioEncoderConfig.bitrate specification>
getBitrateUnsafe :: (MonadDOM m, HasCallStack) => AudioEncoderConfig -> m Word53
getBitrateUnsafe self = liftDOM ((((js_getBitrate (self)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/webcodecs/#dom-audioencoderconfig-bitrate AudioEncoderConfig.bitrate specification>
getBitrateUnchecked :: (MonadDOM m) => AudioEncoderConfig -> m Word53
getBitrateUnchecked self = liftDOM ((pFromJSVal <$> (js_getBitrate (self))))

foreign import javascript safe "(($1, $2) => { $1[\"bitrateMode\"] = $2; })"
        js_setBitrateMode :: AudioEncoderConfig -> JSVal -> IO ()
-- | <https://w3c.github.io/webcodecs/#dom-audioencoderconfig-bitratemode AudioEncoderConfig.bitrateMode specification>
setBitrateMode :: (MonadDOM m) => AudioEncoderConfig -> BitrateMode -> m ()
setBitrateMode self val = liftDOM (void (((toJSVal val) >>= \a2' -> js_setBitrateMode (self) a2')))

foreign import javascript unsafe "(($1) => { return $1[\"bitrateMode\"]; })"
        js_getBitrateMode :: AudioEncoderConfig -> IO JSVal
-- | <https://w3c.github.io/webcodecs/#dom-audioencoderconfig-bitratemode AudioEncoderConfig.bitrateMode specification>
getBitrateMode :: (MonadDOM m) => AudioEncoderConfig -> m (Maybe BitrateMode)
getBitrateMode self = liftDOM (((js_getBitrateMode (self)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webcodecs/#dom-audioencoderconfig-bitratemode AudioEncoderConfig.bitrateMode specification>
getBitrateModeUnsafe :: (MonadDOM m, HasCallStack) => AudioEncoderConfig -> m BitrateMode
getBitrateModeUnsafe self = liftDOM ((((js_getBitrateMode (self)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/webcodecs/#dom-audioencoderconfig-bitratemode AudioEncoderConfig.bitrateMode specification>
getBitrateModeUnchecked :: (MonadDOM m) => AudioEncoderConfig -> m BitrateMode
getBitrateModeUnchecked self = liftDOM ((pFromJSVal <$> (js_getBitrateMode (self))))

foreign import javascript safe "(($1, $2) => { $1[\"aac\"] = $2; })"
        js_setAac :: AudioEncoderConfig -> AacEncoderConfig -> IO ()
-- | <https://w3c.github.io/webcodecs/aac_codec_registration.html#dom-audioencoderconfig-aac AudioEncoderConfig.aac specification>
setAac :: (MonadDOM m) => AudioEncoderConfig -> AacEncoderConfig -> m ()
setAac self val = liftDOM (void ((js_setAac (self) (val))))

foreign import javascript unsafe "(($1) => { return $1[\"aac\"]; })"
        js_getAac :: AudioEncoderConfig -> IO JSVal
-- | <https://w3c.github.io/webcodecs/aac_codec_registration.html#dom-audioencoderconfig-aac AudioEncoderConfig.aac specification>
getAac :: (MonadDOM m) => AudioEncoderConfig -> m (Maybe AacEncoderConfig)
getAac self = liftDOM (((js_getAac (self)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webcodecs/aac_codec_registration.html#dom-audioencoderconfig-aac AudioEncoderConfig.aac specification>
getAacUnsafe :: (MonadDOM m, HasCallStack) => AudioEncoderConfig -> m AacEncoderConfig
getAacUnsafe self = liftDOM ((((js_getAac (self)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/webcodecs/aac_codec_registration.html#dom-audioencoderconfig-aac AudioEncoderConfig.aac specification>
getAacUnchecked :: (MonadDOM m) => AudioEncoderConfig -> m AacEncoderConfig
getAacUnchecked self = liftDOM ((pFromJSVal <$> (js_getAac (self))))

foreign import javascript safe "(($1, $2) => { $1[\"flac\"] = $2; })"
        js_setFlac :: AudioEncoderConfig -> FlacEncoderConfig -> IO ()
-- | <https://w3c.github.io/webcodecs/flac_codec_registration.html#dom-audioencoderconfig-flac AudioEncoderConfig.flac specification>
setFlac :: (MonadDOM m) => AudioEncoderConfig -> FlacEncoderConfig -> m ()
setFlac self val = liftDOM (void ((js_setFlac (self) (val))))

foreign import javascript unsafe "(($1) => { return $1[\"flac\"]; })"
        js_getFlac :: AudioEncoderConfig -> IO JSVal
-- | <https://w3c.github.io/webcodecs/flac_codec_registration.html#dom-audioencoderconfig-flac AudioEncoderConfig.flac specification>
getFlac :: (MonadDOM m) => AudioEncoderConfig -> m (Maybe FlacEncoderConfig)
getFlac self = liftDOM (((js_getFlac (self)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webcodecs/flac_codec_registration.html#dom-audioencoderconfig-flac AudioEncoderConfig.flac specification>
getFlacUnsafe :: (MonadDOM m, HasCallStack) => AudioEncoderConfig -> m FlacEncoderConfig
getFlacUnsafe self = liftDOM ((((js_getFlac (self)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/webcodecs/flac_codec_registration.html#dom-audioencoderconfig-flac AudioEncoderConfig.flac specification>
getFlacUnchecked :: (MonadDOM m) => AudioEncoderConfig -> m FlacEncoderConfig
getFlacUnchecked self = liftDOM ((pFromJSVal <$> (js_getFlac (self))))

foreign import javascript safe "(($1, $2) => { $1[\"opus\"] = $2; })"
        js_setOpus :: AudioEncoderConfig -> OpusEncoderConfig -> IO ()
-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-audioencoderconfig-opus AudioEncoderConfig.opus specification>
setOpus :: (MonadDOM m) => AudioEncoderConfig -> OpusEncoderConfig -> m ()
setOpus self val = liftDOM (void ((js_setOpus (self) (val))))

foreign import javascript unsafe "(($1) => { return $1[\"opus\"]; })"
        js_getOpus :: AudioEncoderConfig -> IO JSVal
-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-audioencoderconfig-opus AudioEncoderConfig.opus specification>
getOpus :: (MonadDOM m) => AudioEncoderConfig -> m (Maybe OpusEncoderConfig)
getOpus self = liftDOM (((js_getOpus (self)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-audioencoderconfig-opus AudioEncoderConfig.opus specification>
getOpusUnsafe :: (MonadDOM m, HasCallStack) => AudioEncoderConfig -> m OpusEncoderConfig
getOpusUnsafe self = liftDOM ((((js_getOpus (self)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-audioencoderconfig-opus AudioEncoderConfig.opus specification>
getOpusUnchecked :: (MonadDOM m) => AudioEncoderConfig -> m OpusEncoderConfig
getOpusUnchecked self = liftDOM ((pFromJSVal <$> (js_getOpus (self))))