{-# LANGUAGE PatternSynonyms #-}
-- For HasCallStack compatibility
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.HTMLMediaElement
       (load, canPlayType, canPlayType_, getStartDate, getStartDate_,
        play, pause, fastSeek, webkitSetMediaKeys, setMediaKeys,
        addTextTrack, addTextTrack_, getVideoPlaybackQuality,
        getVideoPlaybackQuality_, webkitShowPlaybackTargetPicker,
        pattern NETWORK_EMPTY, pattern NETWORK_IDLE,
        pattern NETWORK_LOADING, pattern NETWORK_NO_SOURCE,
        pattern HAVE_NOTHING, pattern HAVE_METADATA,
        pattern HAVE_CURRENT_DATA, pattern HAVE_FUTURE_DATA,
        pattern HAVE_ENOUGH_DATA, getError, setSrc, getSrc, setSrcObject,
        getSrcObject, getSrcObjectUnsafe, getSrcObjectUnchecked,
        getCurrentSrc, setCrossOrigin, getCrossOrigin,
        getCrossOriginUnsafe, getCrossOriginUnchecked, getNetworkState,
        setPreload, getPreload, getBuffered, getReadyState, getSeeking,
        setCurrentTime, getCurrentTime, getDuration, getPaused,
        setDefaultPlaybackRate, getDefaultPlaybackRate, setPlaybackRate,
        getPlaybackRate, getPlayed, getSeekable, getEnded, setAutoplay,
        getAutoplay, setLoop, getLoop, setControls, getControls, setVolume,
        getVolume, setMuted, getMuted, setDefaultMuted, getDefaultMuted,
        setWebkitPreservesPitch, getWebkitPreservesPitch,
        getWebkitHasClosedCaptions, setWebkitClosedCaptionsVisible,
        getWebkitClosedCaptionsVisible, getWebkitAudioDecodedByteCount,
        getWebkitVideoDecodedByteCount, getWebkitKeys, getMediaKeys,
        encrypted, waitingforkey, getAudioTracks, getTextTracks,
        getVideoTracks, setMediaGroup, getMediaGroup, setController,
        getController, getControllerUnsafe, getControllerUnchecked,
        getWebkitCurrentPlaybackTargetIsWireless, setKind, getKind,
        setSession, getSession, getSessionUnsafe, getSessionUnchecked,
        HTMLMediaElement(..), gTypeHTMLMediaElement, IsHTMLMediaElement,
        toHTMLMediaElement)
       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

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.load Mozilla HTMLMediaElement.load documentation> 
load :: (MonadDOM m, IsHTMLMediaElement self) => self -> m ()
load :: self -> m ()
load self
self
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void ((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"load" ()))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.canPlayType Mozilla HTMLMediaElement.canPlayType documentation> 
canPlayType ::
            (MonadDOM m, IsHTMLMediaElement self, ToJSString type',
             FromJSString result) =>
              self -> type' -> m result
canPlayType :: self -> type' -> m result
canPlayType self
self type'
type'
  = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"canPlayType" [type' -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal type'
type'])
         JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.canPlayType Mozilla HTMLMediaElement.canPlayType documentation> 
canPlayType_ ::
             (MonadDOM m, IsHTMLMediaElement self, ToJSString type') =>
               self -> type' -> m ()
canPlayType_ :: self -> type' -> m ()
canPlayType_ self
self type'
type'
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
         ((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"canPlayType" [type' -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal type'
type']))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.getStartDate Mozilla HTMLMediaElement.getStartDate documentation> 
getStartDate ::
             (MonadDOM m, IsHTMLMediaElement self) => self -> m Date
getStartDate :: self -> m Date
getStartDate self
self
  = DOM Date -> m Date
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"getStartDate" ()) JSM JSVal -> (JSVal -> DOM Date) -> DOM Date
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM Date
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.getStartDate Mozilla HTMLMediaElement.getStartDate documentation> 
getStartDate_ ::
              (MonadDOM m, IsHTMLMediaElement self) => self -> m ()
getStartDate_ :: self -> m ()
getStartDate_ self
self
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void ((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"getStartDate" ()))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.play Mozilla HTMLMediaElement.play documentation> 
play :: (MonadDOM m, IsHTMLMediaElement self) => self -> m ()
play :: self -> m ()
play self
self
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
         (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"play" ()) JSM JSVal -> (JSVal -> JSM JSVal) -> JSM JSVal
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM JSVal
readPromise))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.pause Mozilla HTMLMediaElement.pause documentation> 
pause :: (MonadDOM m, IsHTMLMediaElement self) => self -> m ()
pause :: self -> m ()
pause self
self
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void ((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"pause" ()))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.fastSeek Mozilla HTMLMediaElement.fastSeek documentation> 
fastSeek ::
         (MonadDOM m, IsHTMLMediaElement self) => self -> Double -> m ()
fastSeek :: self -> Double -> m ()
fastSeek self
self Double
time
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void ((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"fastSeek" [Double -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Double
time]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.webkitSetMediaKeys Mozilla HTMLMediaElement.webkitSetMediaKeys documentation> 
webkitSetMediaKeys ::
                   (MonadDOM m, IsHTMLMediaElement self) =>
                     self -> Maybe WebKitMediaKeys -> m ()
webkitSetMediaKeys :: self -> Maybe WebKitMediaKeys -> m ()
webkitSetMediaKeys self
self Maybe WebKitMediaKeys
mediaKeys
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
         ((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"webkitSetMediaKeys"
            [Maybe WebKitMediaKeys -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe WebKitMediaKeys
mediaKeys]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.setMediaKeys Mozilla HTMLMediaElement.setMediaKeys documentation> 
setMediaKeys ::
             (MonadDOM m, IsHTMLMediaElement self) =>
               self -> Maybe MediaKeys -> m ()
setMediaKeys :: self -> Maybe MediaKeys -> m ()
setMediaKeys self
self Maybe MediaKeys
mediaKeys
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
         (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"setMediaKeys"
             [Maybe MediaKeys -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe MediaKeys
mediaKeys])
            JSM JSVal -> (JSVal -> JSM JSVal) -> JSM JSVal
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM JSVal
readPromise))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.addTextTrack Mozilla HTMLMediaElement.addTextTrack documentation> 
addTextTrack ::
             (MonadDOM m, IsHTMLMediaElement self, ToJSString kind,
              ToJSString label, ToJSString language) =>
               self -> kind -> Maybe label -> Maybe language -> m TextTrack
addTextTrack :: self -> kind -> Maybe label -> Maybe language -> m TextTrack
addTextTrack self
self kind
kind Maybe label
label Maybe language
language
  = DOM TextTrack -> m TextTrack
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"addTextTrack"
          [kind -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal kind
kind, Maybe label -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe label
label, Maybe language -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe language
language])
         JSM JSVal -> (JSVal -> DOM TextTrack) -> DOM TextTrack
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM TextTrack
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.addTextTrack Mozilla HTMLMediaElement.addTextTrack documentation> 
addTextTrack_ ::
              (MonadDOM m, IsHTMLMediaElement self, ToJSString kind,
               ToJSString label, ToJSString language) =>
                self -> kind -> Maybe label -> Maybe language -> m ()
addTextTrack_ :: self -> kind -> Maybe label -> Maybe language -> m ()
addTextTrack_ self
self kind
kind Maybe label
label Maybe language
language
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
         ((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"addTextTrack"
            [kind -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal kind
kind, Maybe label -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe label
label, Maybe language -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe language
language]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.getVideoPlaybackQuality Mozilla HTMLMediaElement.getVideoPlaybackQuality documentation> 
getVideoPlaybackQuality ::
                        (MonadDOM m, IsHTMLMediaElement self) =>
                          self -> m VideoPlaybackQuality
getVideoPlaybackQuality :: self -> m VideoPlaybackQuality
getVideoPlaybackQuality self
self
  = DOM VideoPlaybackQuality -> m VideoPlaybackQuality
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"getVideoPlaybackQuality" ())
         JSM JSVal
-> (JSVal -> DOM VideoPlaybackQuality) -> DOM VideoPlaybackQuality
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM VideoPlaybackQuality
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.getVideoPlaybackQuality Mozilla HTMLMediaElement.getVideoPlaybackQuality documentation> 
getVideoPlaybackQuality_ ::
                         (MonadDOM m, IsHTMLMediaElement self) => self -> m ()
getVideoPlaybackQuality_ :: self -> m ()
getVideoPlaybackQuality_ self
self
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
         ((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"getVideoPlaybackQuality" ()))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.webkitShowPlaybackTargetPicker Mozilla HTMLMediaElement.webkitShowPlaybackTargetPicker documentation> 
webkitShowPlaybackTargetPicker ::
                               (MonadDOM m, IsHTMLMediaElement self) => self -> m ()
webkitShowPlaybackTargetPicker :: self -> m ()
webkitShowPlaybackTargetPicker self
self
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
         ((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"webkitShowPlaybackTargetPicker"
            ()))
pattern $bNETWORK_EMPTY :: a
$mNETWORK_EMPTY :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
NETWORK_EMPTY = 0
pattern $bNETWORK_IDLE :: a
$mNETWORK_IDLE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
NETWORK_IDLE = 1
pattern $bNETWORK_LOADING :: a
$mNETWORK_LOADING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
NETWORK_LOADING = 2
pattern $bNETWORK_NO_SOURCE :: a
$mNETWORK_NO_SOURCE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
NETWORK_NO_SOURCE = 3
pattern $bHAVE_NOTHING :: a
$mHAVE_NOTHING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
HAVE_NOTHING = 0
pattern $bHAVE_METADATA :: a
$mHAVE_METADATA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
HAVE_METADATA = 1
pattern $bHAVE_CURRENT_DATA :: a
$mHAVE_CURRENT_DATA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
HAVE_CURRENT_DATA = 2
pattern $bHAVE_FUTURE_DATA :: a
$mHAVE_FUTURE_DATA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
HAVE_FUTURE_DATA = 3
pattern $bHAVE_ENOUGH_DATA :: a
$mHAVE_ENOUGH_DATA :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
HAVE_ENOUGH_DATA = 4

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.error Mozilla HTMLMediaElement.error documentation> 
getError ::
         (MonadDOM m, IsHTMLMediaElement self) => self -> m MediaError
getError :: self -> m MediaError
getError self
self
  = DOM MediaError -> m MediaError
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"error") JSM JSVal -> (JSVal -> DOM MediaError) -> DOM MediaError
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM MediaError
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.src Mozilla HTMLMediaElement.src documentation> 
setSrc ::
       (MonadDOM m, IsHTMLMediaElement self, ToJSString val) =>
         self -> val -> m ()
setSrc :: self -> val -> m ()
setSrc self
self val
val
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (DOM ()) HTMLMediaElement (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. [Char]
-> 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 [Char]
"src" (val -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal val
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.src Mozilla HTMLMediaElement.src documentation> 
getSrc ::
       (MonadDOM m, IsHTMLMediaElement self, FromJSString result) =>
         self -> m result
getSrc :: self -> m result
getSrc self
self
  = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"src") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.srcObject Mozilla HTMLMediaElement.srcObject documentation> 
setSrcObject ::
             (MonadDOM m, IsHTMLMediaElement self, IsMediaProvider val) =>
               self -> Maybe val -> m ()
setSrcObject :: self -> Maybe val -> m ()
setSrcObject self
self Maybe val
val
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (DOM ()) HTMLMediaElement (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. [Char]
-> 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 [Char]
"srcObject" (Maybe val -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe val
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.srcObject Mozilla HTMLMediaElement.srcObject documentation> 
getSrcObject ::
             (MonadDOM m, IsHTMLMediaElement self) =>
               self -> m (Maybe MediaProvider)
getSrcObject :: self -> m (Maybe MediaProvider)
getSrcObject self
self
  = DOM (Maybe MediaProvider) -> m (Maybe MediaProvider)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"srcObject") JSM JSVal
-> (JSVal -> DOM (Maybe MediaProvider))
-> DOM (Maybe MediaProvider)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe MediaProvider)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.srcObject Mozilla HTMLMediaElement.srcObject documentation> 
getSrcObjectUnsafe ::
                   (MonadDOM m, IsHTMLMediaElement self, HasCallStack) =>
                     self -> m MediaProvider
getSrcObjectUnsafe :: self -> m MediaProvider
getSrcObjectUnsafe self
self
  = DOM MediaProvider -> m MediaProvider
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"srcObject") JSM JSVal
-> (JSVal -> DOM (Maybe MediaProvider))
-> DOM (Maybe MediaProvider)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe MediaProvider)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal) DOM (Maybe MediaProvider)
-> (Maybe MediaProvider -> DOM MediaProvider) -> DOM MediaProvider
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         DOM MediaProvider
-> (MediaProvider -> DOM MediaProvider)
-> Maybe MediaProvider
-> DOM MediaProvider
forall b a. b -> (a -> b) -> Maybe a -> b
maybe ([Char] -> DOM MediaProvider
forall a. HasCallStack => [Char] -> a
Prelude.error [Char]
"Nothing to return") MediaProvider -> DOM MediaProvider
forall (m :: * -> *) a. Monad m => a -> m a
return)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.srcObject Mozilla HTMLMediaElement.srcObject documentation> 
getSrcObjectUnchecked ::
                      (MonadDOM m, IsHTMLMediaElement self) => self -> m MediaProvider
getSrcObjectUnchecked :: self -> m MediaProvider
getSrcObjectUnchecked self
self
  = DOM MediaProvider -> m MediaProvider
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"srcObject") JSM JSVal -> (JSVal -> DOM MediaProvider) -> DOM MediaProvider
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM MediaProvider
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.currentSrc Mozilla HTMLMediaElement.currentSrc documentation> 
getCurrentSrc ::
              (MonadDOM m, IsHTMLMediaElement self, FromJSString result) =>
                self -> m result
getCurrentSrc :: self -> m result
getCurrentSrc self
self
  = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"currentSrc") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.crossOrigin Mozilla HTMLMediaElement.crossOrigin documentation> 
setCrossOrigin ::
               (MonadDOM m, IsHTMLMediaElement self, ToJSString val) =>
                 self -> Maybe val -> m ()
setCrossOrigin :: self -> Maybe val -> m ()
setCrossOrigin self
self Maybe val
val
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (DOM ()) HTMLMediaElement (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. [Char]
-> 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 [Char]
"crossOrigin" (Maybe val -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe val
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.crossOrigin Mozilla HTMLMediaElement.crossOrigin documentation> 
getCrossOrigin ::
               (MonadDOM m, IsHTMLMediaElement self, FromJSString result) =>
                 self -> m (Maybe result)
getCrossOrigin :: self -> m (Maybe result)
getCrossOrigin self
self
  = DOM (Maybe result) -> m (Maybe result)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"crossOrigin") JSM JSVal -> (JSVal -> DOM (Maybe result)) -> DOM (Maybe result)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM (Maybe result)
forall a. FromJSString a => JSVal -> JSM (Maybe a)
fromMaybeJSString)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.crossOrigin Mozilla HTMLMediaElement.crossOrigin documentation> 
getCrossOriginUnsafe ::
                     (MonadDOM m, IsHTMLMediaElement self, HasCallStack,
                      FromJSString result) =>
                       self -> m result
getCrossOriginUnsafe :: self -> m result
getCrossOriginUnsafe self
self
  = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"crossOrigin") JSM JSVal -> (JSVal -> JSM (Maybe result)) -> JSM (Maybe result)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
          JSVal -> JSM (Maybe result)
forall a. FromJSString a => JSVal -> JSM (Maybe a)
fromMaybeJSString)
         JSM (Maybe result) -> (Maybe result -> DOM result) -> DOM result
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= DOM result -> (result -> DOM result) -> Maybe result -> DOM result
forall b a. b -> (a -> b) -> Maybe a -> b
maybe ([Char] -> DOM result
forall a. HasCallStack => [Char] -> a
Prelude.error [Char]
"Nothing to return") result -> DOM result
forall (m :: * -> *) a. Monad m => a -> m a
return)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.crossOrigin Mozilla HTMLMediaElement.crossOrigin documentation> 
getCrossOriginUnchecked ::
                        (MonadDOM m, IsHTMLMediaElement self, FromJSString result) =>
                          self -> m result
getCrossOriginUnchecked :: self -> m result
getCrossOriginUnchecked self
self
  = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"crossOrigin") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.networkState Mozilla HTMLMediaElement.networkState documentation> 
getNetworkState ::
                (MonadDOM m, IsHTMLMediaElement self) => self -> m Word
getNetworkState :: self -> m Word
getNetworkState self
self
  = DOM Word -> m Word
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (Double -> Word
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
<$>
         (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"networkState") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.preload Mozilla HTMLMediaElement.preload documentation> 
setPreload ::
           (MonadDOM m, IsHTMLMediaElement self, ToJSString val) =>
             self -> val -> m ()
setPreload :: self -> val -> m ()
setPreload self
self val
val
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (DOM ()) HTMLMediaElement (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. [Char]
-> 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 [Char]
"preload" (val -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal val
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.preload Mozilla HTMLMediaElement.preload documentation> 
getPreload ::
           (MonadDOM m, IsHTMLMediaElement self, FromJSString result) =>
             self -> m result
getPreload :: self -> m result
getPreload self
self
  = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"preload") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.buffered Mozilla HTMLMediaElement.buffered documentation> 
getBuffered ::
            (MonadDOM m, IsHTMLMediaElement self) => self -> m TimeRanges
getBuffered :: self -> m TimeRanges
getBuffered self
self
  = DOM TimeRanges -> m TimeRanges
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"buffered") JSM JSVal -> (JSVal -> DOM TimeRanges) -> DOM TimeRanges
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM TimeRanges
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.readyState Mozilla HTMLMediaElement.readyState documentation> 
getReadyState ::
              (MonadDOM m, IsHTMLMediaElement self) => self -> m Word
getReadyState :: self -> m Word
getReadyState self
self
  = DOM Word -> m Word
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (Double -> Word
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
<$>
         (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"readyState") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.seeking Mozilla HTMLMediaElement.seeking documentation> 
getSeeking ::
           (MonadDOM m, IsHTMLMediaElement self) => self -> m Bool
getSeeking :: self -> m Bool
getSeeking self
self
  = DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"seeking") JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.currentTime Mozilla HTMLMediaElement.currentTime documentation> 
setCurrentTime ::
               (MonadDOM m, IsHTMLMediaElement self) => self -> Double -> m ()
setCurrentTime :: self -> Double -> m ()
setCurrentTime self
self Double
val
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (DOM ()) HTMLMediaElement (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. [Char]
-> 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 [Char]
"currentTime" (Double -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Double
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.currentTime Mozilla HTMLMediaElement.currentTime documentation> 
getCurrentTime ::
               (MonadDOM m, IsHTMLMediaElement self) => self -> m Double
getCurrentTime :: self -> m Double
getCurrentTime self
self
  = JSM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"currentTime") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.duration Mozilla HTMLMediaElement.duration documentation> 
getDuration ::
            (MonadDOM m, IsHTMLMediaElement self) => self -> m Double
getDuration :: self -> m Double
getDuration self
self
  = JSM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"duration") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.paused Mozilla HTMLMediaElement.paused documentation> 
getPaused ::
          (MonadDOM m, IsHTMLMediaElement self) => self -> m Bool
getPaused :: self -> m Bool
getPaused self
self
  = DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"paused") JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.defaultPlaybackRate Mozilla HTMLMediaElement.defaultPlaybackRate documentation> 
setDefaultPlaybackRate ::
                       (MonadDOM m, IsHTMLMediaElement self) => self -> Double -> m ()
setDefaultPlaybackRate :: self -> Double -> m ()
setDefaultPlaybackRate self
self Double
val
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (DOM ()) HTMLMediaElement (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. [Char]
-> 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 [Char]
"defaultPlaybackRate"
         (Double -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Double
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.defaultPlaybackRate Mozilla HTMLMediaElement.defaultPlaybackRate documentation> 
getDefaultPlaybackRate ::
                       (MonadDOM m, IsHTMLMediaElement self) => self -> m Double
getDefaultPlaybackRate :: self -> m Double
getDefaultPlaybackRate self
self
  = JSM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"defaultPlaybackRate") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.playbackRate Mozilla HTMLMediaElement.playbackRate documentation> 
setPlaybackRate ::
                (MonadDOM m, IsHTMLMediaElement self) => self -> Double -> m ()
setPlaybackRate :: self -> Double -> m ()
setPlaybackRate self
self Double
val
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (DOM ()) HTMLMediaElement (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. [Char]
-> 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 [Char]
"playbackRate" (Double -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Double
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.playbackRate Mozilla HTMLMediaElement.playbackRate documentation> 
getPlaybackRate ::
                (MonadDOM m, IsHTMLMediaElement self) => self -> m Double
getPlaybackRate :: self -> m Double
getPlaybackRate self
self
  = JSM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"playbackRate") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.played Mozilla HTMLMediaElement.played documentation> 
getPlayed ::
          (MonadDOM m, IsHTMLMediaElement self) => self -> m TimeRanges
getPlayed :: self -> m TimeRanges
getPlayed self
self
  = DOM TimeRanges -> m TimeRanges
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"played") JSM JSVal -> (JSVal -> DOM TimeRanges) -> DOM TimeRanges
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM TimeRanges
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.seekable Mozilla HTMLMediaElement.seekable documentation> 
getSeekable ::
            (MonadDOM m, IsHTMLMediaElement self) => self -> m TimeRanges
getSeekable :: self -> m TimeRanges
getSeekable self
self
  = DOM TimeRanges -> m TimeRanges
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"seekable") JSM JSVal -> (JSVal -> DOM TimeRanges) -> DOM TimeRanges
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM TimeRanges
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.ended Mozilla HTMLMediaElement.ended documentation> 
getEnded :: (MonadDOM m, IsHTMLMediaElement self) => self -> m Bool
getEnded :: self -> m Bool
getEnded self
self
  = DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"ended") JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.autoplay Mozilla HTMLMediaElement.autoplay documentation> 
setAutoplay ::
            (MonadDOM m, IsHTMLMediaElement self) => self -> Bool -> m ()
setAutoplay :: self -> Bool -> m ()
setAutoplay self
self Bool
val
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (DOM ()) HTMLMediaElement (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. [Char]
-> 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 [Char]
"autoplay" (Bool -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Bool
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.autoplay Mozilla HTMLMediaElement.autoplay documentation> 
getAutoplay ::
            (MonadDOM m, IsHTMLMediaElement self) => self -> m Bool
getAutoplay :: self -> m Bool
getAutoplay self
self
  = DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"autoplay") JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.loop Mozilla HTMLMediaElement.loop documentation> 
setLoop ::
        (MonadDOM m, IsHTMLMediaElement self) => self -> Bool -> m ()
setLoop :: self -> Bool -> m ()
setLoop self
self Bool
val
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (DOM ()) HTMLMediaElement (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. [Char]
-> 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 [Char]
"loop" (Bool -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Bool
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.loop Mozilla HTMLMediaElement.loop documentation> 
getLoop :: (MonadDOM m, IsHTMLMediaElement self) => self -> m Bool
getLoop :: self -> m Bool
getLoop self
self
  = DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"loop") JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.controls Mozilla HTMLMediaElement.controls documentation> 
setControls ::
            (MonadDOM m, IsHTMLMediaElement self) => self -> Bool -> m ()
setControls :: self -> Bool -> m ()
setControls self
self Bool
val
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (DOM ()) HTMLMediaElement (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. [Char]
-> 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 [Char]
"controls" (Bool -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Bool
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.controls Mozilla HTMLMediaElement.controls documentation> 
getControls ::
            (MonadDOM m, IsHTMLMediaElement self) => self -> m Bool
getControls :: self -> m Bool
getControls self
self
  = DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"controls") JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.volume Mozilla HTMLMediaElement.volume documentation> 
setVolume ::
          (MonadDOM m, IsHTMLMediaElement self) => self -> Double -> m ()
setVolume :: self -> Double -> m ()
setVolume self
self Double
val
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (DOM ()) HTMLMediaElement (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. [Char]
-> 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 [Char]
"volume" (Double -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Double
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.volume Mozilla HTMLMediaElement.volume documentation> 
getVolume ::
          (MonadDOM m, IsHTMLMediaElement self) => self -> m Double
getVolume :: self -> m Double
getVolume self
self
  = JSM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"volume") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.muted Mozilla HTMLMediaElement.muted documentation> 
setMuted ::
         (MonadDOM m, IsHTMLMediaElement self) => self -> Bool -> m ()
setMuted :: self -> Bool -> m ()
setMuted self
self Bool
val
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (DOM ()) HTMLMediaElement (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. [Char]
-> 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 [Char]
"muted" (Bool -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Bool
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.muted Mozilla HTMLMediaElement.muted documentation> 
getMuted :: (MonadDOM m, IsHTMLMediaElement self) => self -> m Bool
getMuted :: self -> m Bool
getMuted self
self
  = DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"muted") JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.defaultMuted Mozilla HTMLMediaElement.defaultMuted documentation> 
setDefaultMuted ::
                (MonadDOM m, IsHTMLMediaElement self) => self -> Bool -> m ()
setDefaultMuted :: self -> Bool -> m ()
setDefaultMuted self
self Bool
val
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (DOM ()) HTMLMediaElement (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. [Char]
-> 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 [Char]
"defaultMuted" (Bool -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Bool
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.defaultMuted Mozilla HTMLMediaElement.defaultMuted documentation> 
getDefaultMuted ::
                (MonadDOM m, IsHTMLMediaElement self) => self -> m Bool
getDefaultMuted :: self -> m Bool
getDefaultMuted self
self
  = DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"defaultMuted") JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.webkitPreservesPitch Mozilla HTMLMediaElement.webkitPreservesPitch documentation> 
setWebkitPreservesPitch ::
                        (MonadDOM m, IsHTMLMediaElement self) => self -> Bool -> m ()
setWebkitPreservesPitch :: self -> Bool -> m ()
setWebkitPreservesPitch self
self Bool
val
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (DOM ()) HTMLMediaElement (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. [Char]
-> 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 [Char]
"webkitPreservesPitch"
         (Bool -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Bool
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.webkitPreservesPitch Mozilla HTMLMediaElement.webkitPreservesPitch documentation> 
getWebkitPreservesPitch ::
                        (MonadDOM m, IsHTMLMediaElement self) => self -> m Bool
getWebkitPreservesPitch :: self -> m Bool
getWebkitPreservesPitch self
self
  = DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"webkitPreservesPitch") JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.webkitHasClosedCaptions Mozilla HTMLMediaElement.webkitHasClosedCaptions documentation> 
getWebkitHasClosedCaptions ::
                           (MonadDOM m, IsHTMLMediaElement self) => self -> m Bool
getWebkitHasClosedCaptions :: self -> m Bool
getWebkitHasClosedCaptions self
self
  = DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"webkitHasClosedCaptions") JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.webkitClosedCaptionsVisible Mozilla HTMLMediaElement.webkitClosedCaptionsVisible documentation> 
setWebkitClosedCaptionsVisible ::
                               (MonadDOM m, IsHTMLMediaElement self) => self -> Bool -> m ()
setWebkitClosedCaptionsVisible :: self -> Bool -> m ()
setWebkitClosedCaptionsVisible self
self Bool
val
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (DOM ()) HTMLMediaElement (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. [Char]
-> 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 [Char]
"webkitClosedCaptionsVisible"
         (Bool -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Bool
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.webkitClosedCaptionsVisible Mozilla HTMLMediaElement.webkitClosedCaptionsVisible documentation> 
getWebkitClosedCaptionsVisible ::
                               (MonadDOM m, IsHTMLMediaElement self) => self -> m Bool
getWebkitClosedCaptionsVisible :: self -> m Bool
getWebkitClosedCaptionsVisible self
self
  = DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"webkitClosedCaptionsVisible")
         JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.webkitAudioDecodedByteCount Mozilla HTMLMediaElement.webkitAudioDecodedByteCount documentation> 
getWebkitAudioDecodedByteCount ::
                               (MonadDOM m, IsHTMLMediaElement self) => self -> m Word
getWebkitAudioDecodedByteCount :: self -> m Word
getWebkitAudioDecodedByteCount self
self
  = DOM Word -> m Word
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (Double -> Word
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
<$>
         (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"webkitAudioDecodedByteCount")
            JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.webkitVideoDecodedByteCount Mozilla HTMLMediaElement.webkitVideoDecodedByteCount documentation> 
getWebkitVideoDecodedByteCount ::
                               (MonadDOM m, IsHTMLMediaElement self) => self -> m Word
getWebkitVideoDecodedByteCount :: self -> m Word
getWebkitVideoDecodedByteCount self
self
  = DOM Word -> m Word
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (Double -> Word
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
<$>
         (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"webkitVideoDecodedByteCount")
            JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.webkitKeys Mozilla HTMLMediaElement.webkitKeys documentation> 
getWebkitKeys ::
              (MonadDOM m, IsHTMLMediaElement self) => self -> m WebKitMediaKeys
getWebkitKeys :: self -> m WebKitMediaKeys
getWebkitKeys self
self
  = DOM WebKitMediaKeys -> m WebKitMediaKeys
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"webkitKeys") JSM JSVal -> (JSVal -> DOM WebKitMediaKeys) -> DOM WebKitMediaKeys
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM WebKitMediaKeys
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.mediaKeys Mozilla HTMLMediaElement.mediaKeys documentation> 
getMediaKeys ::
             (MonadDOM m, IsHTMLMediaElement self) => self -> m MediaKeys
getMediaKeys :: self -> m MediaKeys
getMediaKeys self
self
  = DOM MediaKeys -> m MediaKeys
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"mediaKeys") JSM JSVal -> (JSVal -> DOM MediaKeys) -> DOM MediaKeys
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM MediaKeys
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.onencrypted Mozilla HTMLMediaElement.onencrypted documentation> 
encrypted ::
          (IsHTMLMediaElement self, IsEventTarget self) =>
            EventName self onencrypted
encrypted :: EventName self onencrypted
encrypted = DOMString -> EventName self onencrypted
forall t e. DOMString -> EventName t e
unsafeEventName ([Char] -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString [Char]
"encrypted")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.onwaitingforkey Mozilla HTMLMediaElement.onwaitingforkey documentation> 
waitingforkey ::
              (IsHTMLMediaElement self, IsEventTarget self) =>
                EventName self onwaitingforkey
waitingforkey :: EventName self onwaitingforkey
waitingforkey = DOMString -> EventName self onwaitingforkey
forall t e. DOMString -> EventName t e
unsafeEventName ([Char] -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString [Char]
"waitingforkey")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.audioTracks Mozilla HTMLMediaElement.audioTracks documentation> 
getAudioTracks ::
               (MonadDOM m, IsHTMLMediaElement self) => self -> m AudioTrackList
getAudioTracks :: self -> m AudioTrackList
getAudioTracks self
self
  = DOM AudioTrackList -> m AudioTrackList
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"audioTracks") JSM JSVal -> (JSVal -> DOM AudioTrackList) -> DOM AudioTrackList
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM AudioTrackList
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.textTracks Mozilla HTMLMediaElement.textTracks documentation> 
getTextTracks ::
              (MonadDOM m, IsHTMLMediaElement self) => self -> m TextTrackList
getTextTracks :: self -> m TextTrackList
getTextTracks self
self
  = DOM TextTrackList -> m TextTrackList
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"textTracks") JSM JSVal -> (JSVal -> DOM TextTrackList) -> DOM TextTrackList
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM TextTrackList
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.videoTracks Mozilla HTMLMediaElement.videoTracks documentation> 
getVideoTracks ::
               (MonadDOM m, IsHTMLMediaElement self) => self -> m VideoTrackList
getVideoTracks :: self -> m VideoTrackList
getVideoTracks self
self
  = DOM VideoTrackList -> m VideoTrackList
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"videoTracks") JSM JSVal -> (JSVal -> DOM VideoTrackList) -> DOM VideoTrackList
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM VideoTrackList
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.mediaGroup Mozilla HTMLMediaElement.mediaGroup documentation> 
setMediaGroup ::
              (MonadDOM m, IsHTMLMediaElement self, ToJSString val) =>
                self -> val -> m ()
setMediaGroup :: self -> val -> m ()
setMediaGroup self
self val
val
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (DOM ()) HTMLMediaElement (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. [Char]
-> 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 [Char]
"mediaGroup" (val -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal val
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.mediaGroup Mozilla HTMLMediaElement.mediaGroup documentation> 
getMediaGroup ::
              (MonadDOM m, IsHTMLMediaElement self, FromJSString result) =>
                self -> m result
getMediaGroup :: self -> m result
getMediaGroup self
self
  = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"mediaGroup") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.controller Mozilla HTMLMediaElement.controller documentation> 
setController ::
              (MonadDOM m, IsHTMLMediaElement self) =>
                self -> Maybe MediaController -> m ()
setController :: self -> Maybe MediaController -> m ()
setController self
self Maybe MediaController
val
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (DOM ()) HTMLMediaElement (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. [Char]
-> 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 [Char]
"controller" (Maybe MediaController -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe MediaController
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.controller Mozilla HTMLMediaElement.controller documentation> 
getController ::
              (MonadDOM m, IsHTMLMediaElement self) =>
                self -> m (Maybe MediaController)
getController :: self -> m (Maybe MediaController)
getController self
self
  = DOM (Maybe MediaController) -> m (Maybe MediaController)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"controller") JSM JSVal
-> (JSVal -> DOM (Maybe MediaController))
-> DOM (Maybe MediaController)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe MediaController)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.controller Mozilla HTMLMediaElement.controller documentation> 
getControllerUnsafe ::
                    (MonadDOM m, IsHTMLMediaElement self, HasCallStack) =>
                      self -> m MediaController
getControllerUnsafe :: self -> m MediaController
getControllerUnsafe self
self
  = DOM MediaController -> m MediaController
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"controller") JSM JSVal
-> (JSVal -> DOM (Maybe MediaController))
-> DOM (Maybe MediaController)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe MediaController)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal) DOM (Maybe MediaController)
-> (Maybe MediaController -> DOM MediaController)
-> DOM MediaController
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         DOM MediaController
-> (MediaController -> DOM MediaController)
-> Maybe MediaController
-> DOM MediaController
forall b a. b -> (a -> b) -> Maybe a -> b
maybe ([Char] -> DOM MediaController
forall a. HasCallStack => [Char] -> a
Prelude.error [Char]
"Nothing to return") MediaController -> DOM MediaController
forall (m :: * -> *) a. Monad m => a -> m a
return)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.controller Mozilla HTMLMediaElement.controller documentation> 
getControllerUnchecked ::
                       (MonadDOM m, IsHTMLMediaElement self) => self -> m MediaController
getControllerUnchecked :: self -> m MediaController
getControllerUnchecked self
self
  = DOM MediaController -> m MediaController
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"controller") JSM JSVal -> (JSVal -> DOM MediaController) -> DOM MediaController
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM MediaController
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.webkitCurrentPlaybackTargetIsWireless Mozilla HTMLMediaElement.webkitCurrentPlaybackTargetIsWireless documentation> 
getWebkitCurrentPlaybackTargetIsWireless ::
                                         (MonadDOM m, IsHTMLMediaElement self) => self -> m Bool
getWebkitCurrentPlaybackTargetIsWireless :: self -> m Bool
getWebkitCurrentPlaybackTargetIsWireless self
self
  = DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^.
          [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"webkitCurrentPlaybackTargetIsWireless")
         JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.kind Mozilla HTMLMediaElement.kind documentation> 
setKind ::
        (MonadDOM m, IsHTMLMediaElement self, ToJSString val) =>
          self -> val -> m ()
setKind :: self -> val -> m ()
setKind self
self val
val
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (DOM ()) HTMLMediaElement (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. [Char]
-> 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 [Char]
"kind" (val -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal val
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.kind Mozilla HTMLMediaElement.kind documentation> 
getKind ::
        (MonadDOM m, IsHTMLMediaElement self, FromJSString result) =>
          self -> m result
getKind :: self -> m result
getKind self
self
  = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"kind") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.session Mozilla HTMLMediaElement.session documentation> 
setSession ::
           (MonadDOM m, IsHTMLMediaElement self) =>
             self -> Maybe MediaSession -> m ()
setSession :: self -> Maybe MediaSession -> m ()
setSession self
self Maybe MediaSession
val
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (DOM ()) HTMLMediaElement (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. [Char]
-> 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 [Char]
"session" (Maybe MediaSession -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe MediaSession
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.session Mozilla HTMLMediaElement.session documentation> 
getSession ::
           (MonadDOM m, IsHTMLMediaElement self) =>
             self -> m (Maybe MediaSession)
getSession :: self -> m (Maybe MediaSession)
getSession self
self
  = DOM (Maybe MediaSession) -> m (Maybe MediaSession)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"session") JSM JSVal
-> (JSVal -> DOM (Maybe MediaSession)) -> DOM (Maybe MediaSession)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe MediaSession)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.session Mozilla HTMLMediaElement.session documentation> 
getSessionUnsafe ::
                 (MonadDOM m, IsHTMLMediaElement self, HasCallStack) =>
                   self -> m MediaSession
getSessionUnsafe :: self -> m MediaSession
getSessionUnsafe self
self
  = DOM MediaSession -> m MediaSession
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"session") JSM JSVal
-> (JSVal -> DOM (Maybe MediaSession)) -> DOM (Maybe MediaSession)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe MediaSession)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal) DOM (Maybe MediaSession)
-> (Maybe MediaSession -> DOM MediaSession) -> DOM MediaSession
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         DOM MediaSession
-> (MediaSession -> DOM MediaSession)
-> Maybe MediaSession
-> DOM MediaSession
forall b a. b -> (a -> b) -> Maybe a -> b
maybe ([Char] -> DOM MediaSession
forall a. HasCallStack => [Char] -> a
Prelude.error [Char]
"Nothing to return") MediaSession -> DOM MediaSession
forall (m :: * -> *) a. Monad m => a -> m a
return)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement.session Mozilla HTMLMediaElement.session documentation> 
getSessionUnchecked ::
                    (MonadDOM m, IsHTMLMediaElement self) => self -> m MediaSession
getSessionUnchecked :: self -> m MediaSession
getSessionUnchecked self
self
  = DOM MediaSession -> m MediaSession
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> HTMLMediaElement
forall o. IsHTMLMediaElement o => o -> HTMLMediaElement
toHTMLMediaElement self
self) HTMLMediaElement
-> Getting (JSM JSVal) HTMLMediaElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter HTMLMediaElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"session") JSM JSVal -> (JSVal -> DOM MediaSession) -> DOM MediaSession
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM MediaSession
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)