{- |
Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License    : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}

module GI.WebKit.Objects.DOMHTMLMediaElement
    ( 

-- * Exported types
    DOMHTMLMediaElement(..)                 ,
    DOMHTMLMediaElementK                    ,
    toDOMHTMLMediaElement                   ,
    noDOMHTMLMediaElement                   ,


 -- * Methods
-- ** dOMHTMLMediaElementAddTextTrack
    dOMHTMLMediaElementAddTextTrack         ,


-- ** dOMHTMLMediaElementCanPlayType
    dOMHTMLMediaElementCanPlayType          ,


-- ** dOMHTMLMediaElementFastSeek
    dOMHTMLMediaElementFastSeek             ,


-- ** dOMHTMLMediaElementGetAudioTracks
    dOMHTMLMediaElementGetAudioTracks       ,


-- ** dOMHTMLMediaElementGetAutoplay
    dOMHTMLMediaElementGetAutoplay          ,


-- ** dOMHTMLMediaElementGetBuffered
    dOMHTMLMediaElementGetBuffered          ,


-- ** dOMHTMLMediaElementGetController
    dOMHTMLMediaElementGetController        ,


-- ** dOMHTMLMediaElementGetControls
    dOMHTMLMediaElementGetControls          ,


-- ** dOMHTMLMediaElementGetCurrentSrc
    dOMHTMLMediaElementGetCurrentSrc        ,


-- ** dOMHTMLMediaElementGetCurrentTime
    dOMHTMLMediaElementGetCurrentTime       ,


-- ** dOMHTMLMediaElementGetDefaultMuted
    dOMHTMLMediaElementGetDefaultMuted      ,


-- ** dOMHTMLMediaElementGetDefaultPlaybackRate
    dOMHTMLMediaElementGetDefaultPlaybackRate,


-- ** dOMHTMLMediaElementGetDuration
    dOMHTMLMediaElementGetDuration          ,


-- ** dOMHTMLMediaElementGetEnded
    dOMHTMLMediaElementGetEnded             ,


-- ** dOMHTMLMediaElementGetError
    dOMHTMLMediaElementGetError             ,


-- ** dOMHTMLMediaElementGetInitialTime
    dOMHTMLMediaElementGetInitialTime       ,


-- ** dOMHTMLMediaElementGetLoop
    dOMHTMLMediaElementGetLoop              ,


-- ** dOMHTMLMediaElementGetMediaGroup
    dOMHTMLMediaElementGetMediaGroup        ,


-- ** dOMHTMLMediaElementGetMuted
    dOMHTMLMediaElementGetMuted             ,


-- ** dOMHTMLMediaElementGetNetworkState
    dOMHTMLMediaElementGetNetworkState      ,


-- ** dOMHTMLMediaElementGetPaused
    dOMHTMLMediaElementGetPaused            ,


-- ** dOMHTMLMediaElementGetPlaybackRate
    dOMHTMLMediaElementGetPlaybackRate      ,


-- ** dOMHTMLMediaElementGetPlayed
    dOMHTMLMediaElementGetPlayed            ,


-- ** dOMHTMLMediaElementGetPreload
    dOMHTMLMediaElementGetPreload           ,


-- ** dOMHTMLMediaElementGetReadyState
    dOMHTMLMediaElementGetReadyState        ,


-- ** dOMHTMLMediaElementGetSeekable
    dOMHTMLMediaElementGetSeekable          ,


-- ** dOMHTMLMediaElementGetSeeking
    dOMHTMLMediaElementGetSeeking           ,


-- ** dOMHTMLMediaElementGetSrc
    dOMHTMLMediaElementGetSrc               ,


-- ** dOMHTMLMediaElementGetStartTime
    dOMHTMLMediaElementGetStartTime         ,


-- ** dOMHTMLMediaElementGetTextTracks
    dOMHTMLMediaElementGetTextTracks        ,


-- ** dOMHTMLMediaElementGetVideoTracks
    dOMHTMLMediaElementGetVideoTracks       ,


-- ** dOMHTMLMediaElementGetVolume
    dOMHTMLMediaElementGetVolume            ,


-- ** dOMHTMLMediaElementGetWebkitAudioDecodedByteCount
    dOMHTMLMediaElementGetWebkitAudioDecodedByteCount,


-- ** dOMHTMLMediaElementGetWebkitClosedCaptionsVisible
    dOMHTMLMediaElementGetWebkitClosedCaptionsVisible,


-- ** dOMHTMLMediaElementGetWebkitCurrentPlaybackTargetIsWireless
    dOMHTMLMediaElementGetWebkitCurrentPlaybackTargetIsWireless,


-- ** dOMHTMLMediaElementGetWebkitHasClosedCaptions
    dOMHTMLMediaElementGetWebkitHasClosedCaptions,


-- ** dOMHTMLMediaElementGetWebkitPreservesPitch
    dOMHTMLMediaElementGetWebkitPreservesPitch,


-- ** dOMHTMLMediaElementGetWebkitVideoDecodedByteCount
    dOMHTMLMediaElementGetWebkitVideoDecodedByteCount,


-- ** dOMHTMLMediaElementLoad
    dOMHTMLMediaElementLoad                 ,


-- ** dOMHTMLMediaElementPause
    dOMHTMLMediaElementPause                ,


-- ** dOMHTMLMediaElementPlay
    dOMHTMLMediaElementPlay                 ,


-- ** dOMHTMLMediaElementSetAutoplay
    dOMHTMLMediaElementSetAutoplay          ,


-- ** dOMHTMLMediaElementSetControls
    dOMHTMLMediaElementSetControls          ,


-- ** dOMHTMLMediaElementSetCurrentTime
    dOMHTMLMediaElementSetCurrentTime       ,


-- ** dOMHTMLMediaElementSetDefaultMuted
    dOMHTMLMediaElementSetDefaultMuted      ,


-- ** dOMHTMLMediaElementSetDefaultPlaybackRate
    dOMHTMLMediaElementSetDefaultPlaybackRate,


-- ** dOMHTMLMediaElementSetLoop
    dOMHTMLMediaElementSetLoop              ,


-- ** dOMHTMLMediaElementSetMediaGroup
    dOMHTMLMediaElementSetMediaGroup        ,


-- ** dOMHTMLMediaElementSetMuted
    dOMHTMLMediaElementSetMuted             ,


-- ** dOMHTMLMediaElementSetPlaybackRate
    dOMHTMLMediaElementSetPlaybackRate      ,


-- ** dOMHTMLMediaElementSetPreload
    dOMHTMLMediaElementSetPreload           ,


-- ** dOMHTMLMediaElementSetSrc
    dOMHTMLMediaElementSetSrc               ,


-- ** dOMHTMLMediaElementSetVolume
    dOMHTMLMediaElementSetVolume            ,


-- ** dOMHTMLMediaElementSetWebkitClosedCaptionsVisible
    dOMHTMLMediaElementSetWebkitClosedCaptionsVisible,


-- ** dOMHTMLMediaElementSetWebkitPreservesPitch
    dOMHTMLMediaElementSetWebkitPreservesPitch,


-- ** dOMHTMLMediaElementWebkitShowPlaybackTargetPicker
    dOMHTMLMediaElementWebkitShowPlaybackTargetPicker,




 -- * Properties
-- ** AudioTracks
    DOMHTMLMediaElementAudioTracksPropertyInfo,
    getDOMHTMLMediaElementAudioTracks       ,


-- ** Autoplay
    DOMHTMLMediaElementAutoplayPropertyInfo ,
    constructDOMHTMLMediaElementAutoplay    ,
    getDOMHTMLMediaElementAutoplay          ,
    setDOMHTMLMediaElementAutoplay          ,


-- ** Buffered
    DOMHTMLMediaElementBufferedPropertyInfo ,
    getDOMHTMLMediaElementBuffered          ,


-- ** Controller
    DOMHTMLMediaElementControllerPropertyInfo,
    getDOMHTMLMediaElementController        ,


-- ** Controls
    DOMHTMLMediaElementControlsPropertyInfo ,
    constructDOMHTMLMediaElementControls    ,
    getDOMHTMLMediaElementControls          ,
    setDOMHTMLMediaElementControls          ,


-- ** CurrentSrc
    DOMHTMLMediaElementCurrentSrcPropertyInfo,
    getDOMHTMLMediaElementCurrentSrc        ,


-- ** CurrentTime
    DOMHTMLMediaElementCurrentTimePropertyInfo,
    constructDOMHTMLMediaElementCurrentTime ,
    getDOMHTMLMediaElementCurrentTime       ,
    setDOMHTMLMediaElementCurrentTime       ,


-- ** DefaultMuted
    DOMHTMLMediaElementDefaultMutedPropertyInfo,
    constructDOMHTMLMediaElementDefaultMuted,
    getDOMHTMLMediaElementDefaultMuted      ,
    setDOMHTMLMediaElementDefaultMuted      ,


-- ** DefaultPlaybackRate
    DOMHTMLMediaElementDefaultPlaybackRatePropertyInfo,
    constructDOMHTMLMediaElementDefaultPlaybackRate,
    getDOMHTMLMediaElementDefaultPlaybackRate,
    setDOMHTMLMediaElementDefaultPlaybackRate,


-- ** Duration
    DOMHTMLMediaElementDurationPropertyInfo ,
    getDOMHTMLMediaElementDuration          ,


-- ** Ended
    DOMHTMLMediaElementEndedPropertyInfo    ,
    getDOMHTMLMediaElementEnded             ,


-- ** Error
    DOMHTMLMediaElementErrorPropertyInfo    ,
    getDOMHTMLMediaElementError             ,


-- ** Loop
    DOMHTMLMediaElementLoopPropertyInfo     ,
    constructDOMHTMLMediaElementLoop        ,
    getDOMHTMLMediaElementLoop              ,
    setDOMHTMLMediaElementLoop              ,


-- ** MediaGroup
    DOMHTMLMediaElementMediaGroupPropertyInfo,
    constructDOMHTMLMediaElementMediaGroup  ,
    getDOMHTMLMediaElementMediaGroup        ,
    setDOMHTMLMediaElementMediaGroup        ,


-- ** Muted
    DOMHTMLMediaElementMutedPropertyInfo    ,
    constructDOMHTMLMediaElementMuted       ,
    getDOMHTMLMediaElementMuted             ,
    setDOMHTMLMediaElementMuted             ,


-- ** NetworkState
    DOMHTMLMediaElementNetworkStatePropertyInfo,
    getDOMHTMLMediaElementNetworkState      ,


-- ** Paused
    DOMHTMLMediaElementPausedPropertyInfo   ,
    getDOMHTMLMediaElementPaused            ,


-- ** PlaybackRate
    DOMHTMLMediaElementPlaybackRatePropertyInfo,
    constructDOMHTMLMediaElementPlaybackRate,
    getDOMHTMLMediaElementPlaybackRate      ,
    setDOMHTMLMediaElementPlaybackRate      ,


-- ** Played
    DOMHTMLMediaElementPlayedPropertyInfo   ,
    getDOMHTMLMediaElementPlayed            ,


-- ** Preload
    DOMHTMLMediaElementPreloadPropertyInfo  ,
    constructDOMHTMLMediaElementPreload     ,
    getDOMHTMLMediaElementPreload           ,
    setDOMHTMLMediaElementPreload           ,


-- ** ReadyState
    DOMHTMLMediaElementReadyStatePropertyInfo,
    getDOMHTMLMediaElementReadyState        ,


-- ** Seekable
    DOMHTMLMediaElementSeekablePropertyInfo ,
    getDOMHTMLMediaElementSeekable          ,


-- ** Seeking
    DOMHTMLMediaElementSeekingPropertyInfo  ,
    getDOMHTMLMediaElementSeeking           ,


-- ** Src
    DOMHTMLMediaElementSrcPropertyInfo      ,
    constructDOMHTMLMediaElementSrc         ,
    getDOMHTMLMediaElementSrc               ,
    setDOMHTMLMediaElementSrc               ,


-- ** TextTracks
    DOMHTMLMediaElementTextTracksPropertyInfo,
    getDOMHTMLMediaElementTextTracks        ,


-- ** VideoTracks
    DOMHTMLMediaElementVideoTracksPropertyInfo,
    getDOMHTMLMediaElementVideoTracks       ,


-- ** Volume
    DOMHTMLMediaElementVolumePropertyInfo   ,
    constructDOMHTMLMediaElementVolume      ,
    getDOMHTMLMediaElementVolume            ,
    setDOMHTMLMediaElementVolume            ,


-- ** WebkitAudioDecodedByteCount
    DOMHTMLMediaElementWebkitAudioDecodedByteCountPropertyInfo,
    getDOMHTMLMediaElementWebkitAudioDecodedByteCount,


-- ** WebkitClosedCaptionsVisible
    DOMHTMLMediaElementWebkitClosedCaptionsVisiblePropertyInfo,
    constructDOMHTMLMediaElementWebkitClosedCaptionsVisible,
    getDOMHTMLMediaElementWebkitClosedCaptionsVisible,
    setDOMHTMLMediaElementWebkitClosedCaptionsVisible,


-- ** WebkitCurrentPlaybackTargetIsWireless
    DOMHTMLMediaElementWebkitCurrentPlaybackTargetIsWirelessPropertyInfo,
    getDOMHTMLMediaElementWebkitCurrentPlaybackTargetIsWireless,


-- ** WebkitHasClosedCaptions
    DOMHTMLMediaElementWebkitHasClosedCaptionsPropertyInfo,
    getDOMHTMLMediaElementWebkitHasClosedCaptions,


-- ** WebkitPreservesPitch
    DOMHTMLMediaElementWebkitPreservesPitchPropertyInfo,
    constructDOMHTMLMediaElementWebkitPreservesPitch,
    getDOMHTMLMediaElementWebkitPreservesPitch,
    setDOMHTMLMediaElementWebkitPreservesPitch,


-- ** WebkitVideoDecodedByteCount
    DOMHTMLMediaElementWebkitVideoDecodedByteCountPropertyInfo,
    getDOMHTMLMediaElementWebkitVideoDecodedByteCount,




    ) where

import Prelude ()
import Data.GI.Base.ShortPrelude

import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map

import GI.WebKit.Types
import GI.WebKit.Callbacks
import qualified GI.GObject as GObject

newtype DOMHTMLMediaElement = DOMHTMLMediaElement (ForeignPtr DOMHTMLMediaElement)
foreign import ccall "webkit_dom_html_media_element_get_type"
    c_webkit_dom_html_media_element_get_type :: IO GType

type instance ParentTypes DOMHTMLMediaElement = DOMHTMLMediaElementParentTypes
type DOMHTMLMediaElementParentTypes = '[DOMHTMLElement, DOMElement, DOMNode, DOMObject, GObject.Object, DOMEventTarget]

instance GObject DOMHTMLMediaElement where
    gobjectIsInitiallyUnowned _ = False
    gobjectType _ = c_webkit_dom_html_media_element_get_type
    

class GObject o => DOMHTMLMediaElementK o
instance (GObject o, IsDescendantOf DOMHTMLMediaElement o) => DOMHTMLMediaElementK o

toDOMHTMLMediaElement :: DOMHTMLMediaElementK o => o -> IO DOMHTMLMediaElement
toDOMHTMLMediaElement = unsafeCastTo DOMHTMLMediaElement

noDOMHTMLMediaElement :: Maybe DOMHTMLMediaElement
noDOMHTMLMediaElement = Nothing

-- VVV Prop "audio-tracks"
   -- Type: TInterface "WebKit" "DOMAudioTrackList"
   -- Flags: [PropertyReadable]

getDOMHTMLMediaElementAudioTracks :: (MonadIO m, DOMHTMLMediaElementK o) => o -> m DOMAudioTrackList
getDOMHTMLMediaElementAudioTracks obj = liftIO $ getObjectPropertyObject obj "audio-tracks" DOMAudioTrackList

data DOMHTMLMediaElementAudioTracksPropertyInfo
instance AttrInfo DOMHTMLMediaElementAudioTracksPropertyInfo where
    type AttrAllowedOps DOMHTMLMediaElementAudioTracksPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLMediaElementAudioTracksPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMHTMLMediaElementAudioTracksPropertyInfo = DOMHTMLMediaElementK
    type AttrGetType DOMHTMLMediaElementAudioTracksPropertyInfo = DOMAudioTrackList
    type AttrLabel DOMHTMLMediaElementAudioTracksPropertyInfo = "DOMHTMLMediaElement::audio-tracks"
    attrGet _ = getDOMHTMLMediaElementAudioTracks
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "autoplay"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMHTMLMediaElementAutoplay :: (MonadIO m, DOMHTMLMediaElementK o) => o -> m Bool
getDOMHTMLMediaElementAutoplay obj = liftIO $ getObjectPropertyBool obj "autoplay"

setDOMHTMLMediaElementAutoplay :: (MonadIO m, DOMHTMLMediaElementK o) => o -> Bool -> m ()
setDOMHTMLMediaElementAutoplay obj val = liftIO $ setObjectPropertyBool obj "autoplay" val

constructDOMHTMLMediaElementAutoplay :: Bool -> IO ([Char], GValue)
constructDOMHTMLMediaElementAutoplay val = constructObjectPropertyBool "autoplay" val

data DOMHTMLMediaElementAutoplayPropertyInfo
instance AttrInfo DOMHTMLMediaElementAutoplayPropertyInfo where
    type AttrAllowedOps DOMHTMLMediaElementAutoplayPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLMediaElementAutoplayPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint DOMHTMLMediaElementAutoplayPropertyInfo = DOMHTMLMediaElementK
    type AttrGetType DOMHTMLMediaElementAutoplayPropertyInfo = Bool
    type AttrLabel DOMHTMLMediaElementAutoplayPropertyInfo = "DOMHTMLMediaElement::autoplay"
    attrGet _ = getDOMHTMLMediaElementAutoplay
    attrSet _ = setDOMHTMLMediaElementAutoplay
    attrConstruct _ = constructDOMHTMLMediaElementAutoplay

-- VVV Prop "buffered"
   -- Type: TInterface "WebKit" "DOMTimeRanges"
   -- Flags: [PropertyReadable]

getDOMHTMLMediaElementBuffered :: (MonadIO m, DOMHTMLMediaElementK o) => o -> m DOMTimeRanges
getDOMHTMLMediaElementBuffered obj = liftIO $ getObjectPropertyObject obj "buffered" DOMTimeRanges

data DOMHTMLMediaElementBufferedPropertyInfo
instance AttrInfo DOMHTMLMediaElementBufferedPropertyInfo where
    type AttrAllowedOps DOMHTMLMediaElementBufferedPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLMediaElementBufferedPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMHTMLMediaElementBufferedPropertyInfo = DOMHTMLMediaElementK
    type AttrGetType DOMHTMLMediaElementBufferedPropertyInfo = DOMTimeRanges
    type AttrLabel DOMHTMLMediaElementBufferedPropertyInfo = "DOMHTMLMediaElement::buffered"
    attrGet _ = getDOMHTMLMediaElementBuffered
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "controller"
   -- Type: TInterface "WebKit" "DOMMediaController"
   -- Flags: [PropertyReadable]

getDOMHTMLMediaElementController :: (MonadIO m, DOMHTMLMediaElementK o) => o -> m DOMMediaController
getDOMHTMLMediaElementController obj = liftIO $ getObjectPropertyObject obj "controller" DOMMediaController

data DOMHTMLMediaElementControllerPropertyInfo
instance AttrInfo DOMHTMLMediaElementControllerPropertyInfo where
    type AttrAllowedOps DOMHTMLMediaElementControllerPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLMediaElementControllerPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMHTMLMediaElementControllerPropertyInfo = DOMHTMLMediaElementK
    type AttrGetType DOMHTMLMediaElementControllerPropertyInfo = DOMMediaController
    type AttrLabel DOMHTMLMediaElementControllerPropertyInfo = "DOMHTMLMediaElement::controller"
    attrGet _ = getDOMHTMLMediaElementController
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "controls"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMHTMLMediaElementControls :: (MonadIO m, DOMHTMLMediaElementK o) => o -> m Bool
getDOMHTMLMediaElementControls obj = liftIO $ getObjectPropertyBool obj "controls"

setDOMHTMLMediaElementControls :: (MonadIO m, DOMHTMLMediaElementK o) => o -> Bool -> m ()
setDOMHTMLMediaElementControls obj val = liftIO $ setObjectPropertyBool obj "controls" val

constructDOMHTMLMediaElementControls :: Bool -> IO ([Char], GValue)
constructDOMHTMLMediaElementControls val = constructObjectPropertyBool "controls" val

data DOMHTMLMediaElementControlsPropertyInfo
instance AttrInfo DOMHTMLMediaElementControlsPropertyInfo where
    type AttrAllowedOps DOMHTMLMediaElementControlsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLMediaElementControlsPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint DOMHTMLMediaElementControlsPropertyInfo = DOMHTMLMediaElementK
    type AttrGetType DOMHTMLMediaElementControlsPropertyInfo = Bool
    type AttrLabel DOMHTMLMediaElementControlsPropertyInfo = "DOMHTMLMediaElement::controls"
    attrGet _ = getDOMHTMLMediaElementControls
    attrSet _ = setDOMHTMLMediaElementControls
    attrConstruct _ = constructDOMHTMLMediaElementControls

-- VVV Prop "current-src"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]

getDOMHTMLMediaElementCurrentSrc :: (MonadIO m, DOMHTMLMediaElementK o) => o -> m T.Text
getDOMHTMLMediaElementCurrentSrc obj = liftIO $ getObjectPropertyString obj "current-src"

data DOMHTMLMediaElementCurrentSrcPropertyInfo
instance AttrInfo DOMHTMLMediaElementCurrentSrcPropertyInfo where
    type AttrAllowedOps DOMHTMLMediaElementCurrentSrcPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLMediaElementCurrentSrcPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMHTMLMediaElementCurrentSrcPropertyInfo = DOMHTMLMediaElementK
    type AttrGetType DOMHTMLMediaElementCurrentSrcPropertyInfo = T.Text
    type AttrLabel DOMHTMLMediaElementCurrentSrcPropertyInfo = "DOMHTMLMediaElement::current-src"
    attrGet _ = getDOMHTMLMediaElementCurrentSrc
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "current-time"
   -- Type: TBasicType TDouble
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMHTMLMediaElementCurrentTime :: (MonadIO m, DOMHTMLMediaElementK o) => o -> m Double
getDOMHTMLMediaElementCurrentTime obj = liftIO $ getObjectPropertyDouble obj "current-time"

setDOMHTMLMediaElementCurrentTime :: (MonadIO m, DOMHTMLMediaElementK o) => o -> Double -> m ()
setDOMHTMLMediaElementCurrentTime obj val = liftIO $ setObjectPropertyDouble obj "current-time" val

constructDOMHTMLMediaElementCurrentTime :: Double -> IO ([Char], GValue)
constructDOMHTMLMediaElementCurrentTime val = constructObjectPropertyDouble "current-time" val

data DOMHTMLMediaElementCurrentTimePropertyInfo
instance AttrInfo DOMHTMLMediaElementCurrentTimePropertyInfo where
    type AttrAllowedOps DOMHTMLMediaElementCurrentTimePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLMediaElementCurrentTimePropertyInfo = (~) Double
    type AttrBaseTypeConstraint DOMHTMLMediaElementCurrentTimePropertyInfo = DOMHTMLMediaElementK
    type AttrGetType DOMHTMLMediaElementCurrentTimePropertyInfo = Double
    type AttrLabel DOMHTMLMediaElementCurrentTimePropertyInfo = "DOMHTMLMediaElement::current-time"
    attrGet _ = getDOMHTMLMediaElementCurrentTime
    attrSet _ = setDOMHTMLMediaElementCurrentTime
    attrConstruct _ = constructDOMHTMLMediaElementCurrentTime

-- VVV Prop "default-muted"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMHTMLMediaElementDefaultMuted :: (MonadIO m, DOMHTMLMediaElementK o) => o -> m Bool
getDOMHTMLMediaElementDefaultMuted obj = liftIO $ getObjectPropertyBool obj "default-muted"

setDOMHTMLMediaElementDefaultMuted :: (MonadIO m, DOMHTMLMediaElementK o) => o -> Bool -> m ()
setDOMHTMLMediaElementDefaultMuted obj val = liftIO $ setObjectPropertyBool obj "default-muted" val

constructDOMHTMLMediaElementDefaultMuted :: Bool -> IO ([Char], GValue)
constructDOMHTMLMediaElementDefaultMuted val = constructObjectPropertyBool "default-muted" val

data DOMHTMLMediaElementDefaultMutedPropertyInfo
instance AttrInfo DOMHTMLMediaElementDefaultMutedPropertyInfo where
    type AttrAllowedOps DOMHTMLMediaElementDefaultMutedPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLMediaElementDefaultMutedPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint DOMHTMLMediaElementDefaultMutedPropertyInfo = DOMHTMLMediaElementK
    type AttrGetType DOMHTMLMediaElementDefaultMutedPropertyInfo = Bool
    type AttrLabel DOMHTMLMediaElementDefaultMutedPropertyInfo = "DOMHTMLMediaElement::default-muted"
    attrGet _ = getDOMHTMLMediaElementDefaultMuted
    attrSet _ = setDOMHTMLMediaElementDefaultMuted
    attrConstruct _ = constructDOMHTMLMediaElementDefaultMuted

-- VVV Prop "default-playback-rate"
   -- Type: TBasicType TDouble
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMHTMLMediaElementDefaultPlaybackRate :: (MonadIO m, DOMHTMLMediaElementK o) => o -> m Double
getDOMHTMLMediaElementDefaultPlaybackRate obj = liftIO $ getObjectPropertyDouble obj "default-playback-rate"

setDOMHTMLMediaElementDefaultPlaybackRate :: (MonadIO m, DOMHTMLMediaElementK o) => o -> Double -> m ()
setDOMHTMLMediaElementDefaultPlaybackRate obj val = liftIO $ setObjectPropertyDouble obj "default-playback-rate" val

constructDOMHTMLMediaElementDefaultPlaybackRate :: Double -> IO ([Char], GValue)
constructDOMHTMLMediaElementDefaultPlaybackRate val = constructObjectPropertyDouble "default-playback-rate" val

data DOMHTMLMediaElementDefaultPlaybackRatePropertyInfo
instance AttrInfo DOMHTMLMediaElementDefaultPlaybackRatePropertyInfo where
    type AttrAllowedOps DOMHTMLMediaElementDefaultPlaybackRatePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLMediaElementDefaultPlaybackRatePropertyInfo = (~) Double
    type AttrBaseTypeConstraint DOMHTMLMediaElementDefaultPlaybackRatePropertyInfo = DOMHTMLMediaElementK
    type AttrGetType DOMHTMLMediaElementDefaultPlaybackRatePropertyInfo = Double
    type AttrLabel DOMHTMLMediaElementDefaultPlaybackRatePropertyInfo = "DOMHTMLMediaElement::default-playback-rate"
    attrGet _ = getDOMHTMLMediaElementDefaultPlaybackRate
    attrSet _ = setDOMHTMLMediaElementDefaultPlaybackRate
    attrConstruct _ = constructDOMHTMLMediaElementDefaultPlaybackRate

-- VVV Prop "duration"
   -- Type: TBasicType TDouble
   -- Flags: [PropertyReadable]

getDOMHTMLMediaElementDuration :: (MonadIO m, DOMHTMLMediaElementK o) => o -> m Double
getDOMHTMLMediaElementDuration obj = liftIO $ getObjectPropertyDouble obj "duration"

data DOMHTMLMediaElementDurationPropertyInfo
instance AttrInfo DOMHTMLMediaElementDurationPropertyInfo where
    type AttrAllowedOps DOMHTMLMediaElementDurationPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLMediaElementDurationPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMHTMLMediaElementDurationPropertyInfo = DOMHTMLMediaElementK
    type AttrGetType DOMHTMLMediaElementDurationPropertyInfo = Double
    type AttrLabel DOMHTMLMediaElementDurationPropertyInfo = "DOMHTMLMediaElement::duration"
    attrGet _ = getDOMHTMLMediaElementDuration
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "ended"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable]

getDOMHTMLMediaElementEnded :: (MonadIO m, DOMHTMLMediaElementK o) => o -> m Bool
getDOMHTMLMediaElementEnded obj = liftIO $ getObjectPropertyBool obj "ended"

data DOMHTMLMediaElementEndedPropertyInfo
instance AttrInfo DOMHTMLMediaElementEndedPropertyInfo where
    type AttrAllowedOps DOMHTMLMediaElementEndedPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLMediaElementEndedPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMHTMLMediaElementEndedPropertyInfo = DOMHTMLMediaElementK
    type AttrGetType DOMHTMLMediaElementEndedPropertyInfo = Bool
    type AttrLabel DOMHTMLMediaElementEndedPropertyInfo = "DOMHTMLMediaElement::ended"
    attrGet _ = getDOMHTMLMediaElementEnded
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "error"
   -- Type: TInterface "WebKit" "DOMMediaError"
   -- Flags: [PropertyReadable]

getDOMHTMLMediaElementError :: (MonadIO m, DOMHTMLMediaElementK o) => o -> m DOMMediaError
getDOMHTMLMediaElementError obj = liftIO $ getObjectPropertyObject obj "error" DOMMediaError

data DOMHTMLMediaElementErrorPropertyInfo
instance AttrInfo DOMHTMLMediaElementErrorPropertyInfo where
    type AttrAllowedOps DOMHTMLMediaElementErrorPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLMediaElementErrorPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMHTMLMediaElementErrorPropertyInfo = DOMHTMLMediaElementK
    type AttrGetType DOMHTMLMediaElementErrorPropertyInfo = DOMMediaError
    type AttrLabel DOMHTMLMediaElementErrorPropertyInfo = "DOMHTMLMediaElement::error"
    attrGet _ = getDOMHTMLMediaElementError
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "loop"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMHTMLMediaElementLoop :: (MonadIO m, DOMHTMLMediaElementK o) => o -> m Bool
getDOMHTMLMediaElementLoop obj = liftIO $ getObjectPropertyBool obj "loop"

setDOMHTMLMediaElementLoop :: (MonadIO m, DOMHTMLMediaElementK o) => o -> Bool -> m ()
setDOMHTMLMediaElementLoop obj val = liftIO $ setObjectPropertyBool obj "loop" val

constructDOMHTMLMediaElementLoop :: Bool -> IO ([Char], GValue)
constructDOMHTMLMediaElementLoop val = constructObjectPropertyBool "loop" val

data DOMHTMLMediaElementLoopPropertyInfo
instance AttrInfo DOMHTMLMediaElementLoopPropertyInfo where
    type AttrAllowedOps DOMHTMLMediaElementLoopPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLMediaElementLoopPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint DOMHTMLMediaElementLoopPropertyInfo = DOMHTMLMediaElementK
    type AttrGetType DOMHTMLMediaElementLoopPropertyInfo = Bool
    type AttrLabel DOMHTMLMediaElementLoopPropertyInfo = "DOMHTMLMediaElement::loop"
    attrGet _ = getDOMHTMLMediaElementLoop
    attrSet _ = setDOMHTMLMediaElementLoop
    attrConstruct _ = constructDOMHTMLMediaElementLoop

-- VVV Prop "media-group"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMHTMLMediaElementMediaGroup :: (MonadIO m, DOMHTMLMediaElementK o) => o -> m T.Text
getDOMHTMLMediaElementMediaGroup obj = liftIO $ getObjectPropertyString obj "media-group"

setDOMHTMLMediaElementMediaGroup :: (MonadIO m, DOMHTMLMediaElementK o) => o -> T.Text -> m ()
setDOMHTMLMediaElementMediaGroup obj val = liftIO $ setObjectPropertyString obj "media-group" val

constructDOMHTMLMediaElementMediaGroup :: T.Text -> IO ([Char], GValue)
constructDOMHTMLMediaElementMediaGroup val = constructObjectPropertyString "media-group" val

data DOMHTMLMediaElementMediaGroupPropertyInfo
instance AttrInfo DOMHTMLMediaElementMediaGroupPropertyInfo where
    type AttrAllowedOps DOMHTMLMediaElementMediaGroupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLMediaElementMediaGroupPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMHTMLMediaElementMediaGroupPropertyInfo = DOMHTMLMediaElementK
    type AttrGetType DOMHTMLMediaElementMediaGroupPropertyInfo = T.Text
    type AttrLabel DOMHTMLMediaElementMediaGroupPropertyInfo = "DOMHTMLMediaElement::media-group"
    attrGet _ = getDOMHTMLMediaElementMediaGroup
    attrSet _ = setDOMHTMLMediaElementMediaGroup
    attrConstruct _ = constructDOMHTMLMediaElementMediaGroup

-- VVV Prop "muted"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMHTMLMediaElementMuted :: (MonadIO m, DOMHTMLMediaElementK o) => o -> m Bool
getDOMHTMLMediaElementMuted obj = liftIO $ getObjectPropertyBool obj "muted"

setDOMHTMLMediaElementMuted :: (MonadIO m, DOMHTMLMediaElementK o) => o -> Bool -> m ()
setDOMHTMLMediaElementMuted obj val = liftIO $ setObjectPropertyBool obj "muted" val

constructDOMHTMLMediaElementMuted :: Bool -> IO ([Char], GValue)
constructDOMHTMLMediaElementMuted val = constructObjectPropertyBool "muted" val

data DOMHTMLMediaElementMutedPropertyInfo
instance AttrInfo DOMHTMLMediaElementMutedPropertyInfo where
    type AttrAllowedOps DOMHTMLMediaElementMutedPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLMediaElementMutedPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint DOMHTMLMediaElementMutedPropertyInfo = DOMHTMLMediaElementK
    type AttrGetType DOMHTMLMediaElementMutedPropertyInfo = Bool
    type AttrLabel DOMHTMLMediaElementMutedPropertyInfo = "DOMHTMLMediaElement::muted"
    attrGet _ = getDOMHTMLMediaElementMuted
    attrSet _ = setDOMHTMLMediaElementMuted
    attrConstruct _ = constructDOMHTMLMediaElementMuted

-- VVV Prop "network-state"
   -- Type: TBasicType TUInt32
   -- Flags: [PropertyReadable]

getDOMHTMLMediaElementNetworkState :: (MonadIO m, DOMHTMLMediaElementK o) => o -> m Word32
getDOMHTMLMediaElementNetworkState obj = liftIO $ getObjectPropertyCUInt obj "network-state"

data DOMHTMLMediaElementNetworkStatePropertyInfo
instance AttrInfo DOMHTMLMediaElementNetworkStatePropertyInfo where
    type AttrAllowedOps DOMHTMLMediaElementNetworkStatePropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLMediaElementNetworkStatePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMHTMLMediaElementNetworkStatePropertyInfo = DOMHTMLMediaElementK
    type AttrGetType DOMHTMLMediaElementNetworkStatePropertyInfo = Word32
    type AttrLabel DOMHTMLMediaElementNetworkStatePropertyInfo = "DOMHTMLMediaElement::network-state"
    attrGet _ = getDOMHTMLMediaElementNetworkState
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "paused"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable]

getDOMHTMLMediaElementPaused :: (MonadIO m, DOMHTMLMediaElementK o) => o -> m Bool
getDOMHTMLMediaElementPaused obj = liftIO $ getObjectPropertyBool obj "paused"

data DOMHTMLMediaElementPausedPropertyInfo
instance AttrInfo DOMHTMLMediaElementPausedPropertyInfo where
    type AttrAllowedOps DOMHTMLMediaElementPausedPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLMediaElementPausedPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMHTMLMediaElementPausedPropertyInfo = DOMHTMLMediaElementK
    type AttrGetType DOMHTMLMediaElementPausedPropertyInfo = Bool
    type AttrLabel DOMHTMLMediaElementPausedPropertyInfo = "DOMHTMLMediaElement::paused"
    attrGet _ = getDOMHTMLMediaElementPaused
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "playback-rate"
   -- Type: TBasicType TDouble
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMHTMLMediaElementPlaybackRate :: (MonadIO m, DOMHTMLMediaElementK o) => o -> m Double
getDOMHTMLMediaElementPlaybackRate obj = liftIO $ getObjectPropertyDouble obj "playback-rate"

setDOMHTMLMediaElementPlaybackRate :: (MonadIO m, DOMHTMLMediaElementK o) => o -> Double -> m ()
setDOMHTMLMediaElementPlaybackRate obj val = liftIO $ setObjectPropertyDouble obj "playback-rate" val

constructDOMHTMLMediaElementPlaybackRate :: Double -> IO ([Char], GValue)
constructDOMHTMLMediaElementPlaybackRate val = constructObjectPropertyDouble "playback-rate" val

data DOMHTMLMediaElementPlaybackRatePropertyInfo
instance AttrInfo DOMHTMLMediaElementPlaybackRatePropertyInfo where
    type AttrAllowedOps DOMHTMLMediaElementPlaybackRatePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLMediaElementPlaybackRatePropertyInfo = (~) Double
    type AttrBaseTypeConstraint DOMHTMLMediaElementPlaybackRatePropertyInfo = DOMHTMLMediaElementK
    type AttrGetType DOMHTMLMediaElementPlaybackRatePropertyInfo = Double
    type AttrLabel DOMHTMLMediaElementPlaybackRatePropertyInfo = "DOMHTMLMediaElement::playback-rate"
    attrGet _ = getDOMHTMLMediaElementPlaybackRate
    attrSet _ = setDOMHTMLMediaElementPlaybackRate
    attrConstruct _ = constructDOMHTMLMediaElementPlaybackRate

-- VVV Prop "played"
   -- Type: TInterface "WebKit" "DOMTimeRanges"
   -- Flags: [PropertyReadable]

getDOMHTMLMediaElementPlayed :: (MonadIO m, DOMHTMLMediaElementK o) => o -> m DOMTimeRanges
getDOMHTMLMediaElementPlayed obj = liftIO $ getObjectPropertyObject obj "played" DOMTimeRanges

data DOMHTMLMediaElementPlayedPropertyInfo
instance AttrInfo DOMHTMLMediaElementPlayedPropertyInfo where
    type AttrAllowedOps DOMHTMLMediaElementPlayedPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLMediaElementPlayedPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMHTMLMediaElementPlayedPropertyInfo = DOMHTMLMediaElementK
    type AttrGetType DOMHTMLMediaElementPlayedPropertyInfo = DOMTimeRanges
    type AttrLabel DOMHTMLMediaElementPlayedPropertyInfo = "DOMHTMLMediaElement::played"
    attrGet _ = getDOMHTMLMediaElementPlayed
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "preload"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMHTMLMediaElementPreload :: (MonadIO m, DOMHTMLMediaElementK o) => o -> m T.Text
getDOMHTMLMediaElementPreload obj = liftIO $ getObjectPropertyString obj "preload"

setDOMHTMLMediaElementPreload :: (MonadIO m, DOMHTMLMediaElementK o) => o -> T.Text -> m ()
setDOMHTMLMediaElementPreload obj val = liftIO $ setObjectPropertyString obj "preload" val

constructDOMHTMLMediaElementPreload :: T.Text -> IO ([Char], GValue)
constructDOMHTMLMediaElementPreload val = constructObjectPropertyString "preload" val

data DOMHTMLMediaElementPreloadPropertyInfo
instance AttrInfo DOMHTMLMediaElementPreloadPropertyInfo where
    type AttrAllowedOps DOMHTMLMediaElementPreloadPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLMediaElementPreloadPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMHTMLMediaElementPreloadPropertyInfo = DOMHTMLMediaElementK
    type AttrGetType DOMHTMLMediaElementPreloadPropertyInfo = T.Text
    type AttrLabel DOMHTMLMediaElementPreloadPropertyInfo = "DOMHTMLMediaElement::preload"
    attrGet _ = getDOMHTMLMediaElementPreload
    attrSet _ = setDOMHTMLMediaElementPreload
    attrConstruct _ = constructDOMHTMLMediaElementPreload

-- VVV Prop "ready-state"
   -- Type: TBasicType TUInt32
   -- Flags: [PropertyReadable]

getDOMHTMLMediaElementReadyState :: (MonadIO m, DOMHTMLMediaElementK o) => o -> m Word32
getDOMHTMLMediaElementReadyState obj = liftIO $ getObjectPropertyCUInt obj "ready-state"

data DOMHTMLMediaElementReadyStatePropertyInfo
instance AttrInfo DOMHTMLMediaElementReadyStatePropertyInfo where
    type AttrAllowedOps DOMHTMLMediaElementReadyStatePropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLMediaElementReadyStatePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMHTMLMediaElementReadyStatePropertyInfo = DOMHTMLMediaElementK
    type AttrGetType DOMHTMLMediaElementReadyStatePropertyInfo = Word32
    type AttrLabel DOMHTMLMediaElementReadyStatePropertyInfo = "DOMHTMLMediaElement::ready-state"
    attrGet _ = getDOMHTMLMediaElementReadyState
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "seekable"
   -- Type: TInterface "WebKit" "DOMTimeRanges"
   -- Flags: [PropertyReadable]

getDOMHTMLMediaElementSeekable :: (MonadIO m, DOMHTMLMediaElementK o) => o -> m DOMTimeRanges
getDOMHTMLMediaElementSeekable obj = liftIO $ getObjectPropertyObject obj "seekable" DOMTimeRanges

data DOMHTMLMediaElementSeekablePropertyInfo
instance AttrInfo DOMHTMLMediaElementSeekablePropertyInfo where
    type AttrAllowedOps DOMHTMLMediaElementSeekablePropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLMediaElementSeekablePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMHTMLMediaElementSeekablePropertyInfo = DOMHTMLMediaElementK
    type AttrGetType DOMHTMLMediaElementSeekablePropertyInfo = DOMTimeRanges
    type AttrLabel DOMHTMLMediaElementSeekablePropertyInfo = "DOMHTMLMediaElement::seekable"
    attrGet _ = getDOMHTMLMediaElementSeekable
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "seeking"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable]

getDOMHTMLMediaElementSeeking :: (MonadIO m, DOMHTMLMediaElementK o) => o -> m Bool
getDOMHTMLMediaElementSeeking obj = liftIO $ getObjectPropertyBool obj "seeking"

data DOMHTMLMediaElementSeekingPropertyInfo
instance AttrInfo DOMHTMLMediaElementSeekingPropertyInfo where
    type AttrAllowedOps DOMHTMLMediaElementSeekingPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLMediaElementSeekingPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMHTMLMediaElementSeekingPropertyInfo = DOMHTMLMediaElementK
    type AttrGetType DOMHTMLMediaElementSeekingPropertyInfo = Bool
    type AttrLabel DOMHTMLMediaElementSeekingPropertyInfo = "DOMHTMLMediaElement::seeking"
    attrGet _ = getDOMHTMLMediaElementSeeking
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "src"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMHTMLMediaElementSrc :: (MonadIO m, DOMHTMLMediaElementK o) => o -> m T.Text
getDOMHTMLMediaElementSrc obj = liftIO $ getObjectPropertyString obj "src"

setDOMHTMLMediaElementSrc :: (MonadIO m, DOMHTMLMediaElementK o) => o -> T.Text -> m ()
setDOMHTMLMediaElementSrc obj val = liftIO $ setObjectPropertyString obj "src" val

constructDOMHTMLMediaElementSrc :: T.Text -> IO ([Char], GValue)
constructDOMHTMLMediaElementSrc val = constructObjectPropertyString "src" val

data DOMHTMLMediaElementSrcPropertyInfo
instance AttrInfo DOMHTMLMediaElementSrcPropertyInfo where
    type AttrAllowedOps DOMHTMLMediaElementSrcPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLMediaElementSrcPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMHTMLMediaElementSrcPropertyInfo = DOMHTMLMediaElementK
    type AttrGetType DOMHTMLMediaElementSrcPropertyInfo = T.Text
    type AttrLabel DOMHTMLMediaElementSrcPropertyInfo = "DOMHTMLMediaElement::src"
    attrGet _ = getDOMHTMLMediaElementSrc
    attrSet _ = setDOMHTMLMediaElementSrc
    attrConstruct _ = constructDOMHTMLMediaElementSrc

-- VVV Prop "text-tracks"
   -- Type: TInterface "WebKit" "DOMTextTrackList"
   -- Flags: [PropertyReadable]

getDOMHTMLMediaElementTextTracks :: (MonadIO m, DOMHTMLMediaElementK o) => o -> m DOMTextTrackList
getDOMHTMLMediaElementTextTracks obj = liftIO $ getObjectPropertyObject obj "text-tracks" DOMTextTrackList

data DOMHTMLMediaElementTextTracksPropertyInfo
instance AttrInfo DOMHTMLMediaElementTextTracksPropertyInfo where
    type AttrAllowedOps DOMHTMLMediaElementTextTracksPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLMediaElementTextTracksPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMHTMLMediaElementTextTracksPropertyInfo = DOMHTMLMediaElementK
    type AttrGetType DOMHTMLMediaElementTextTracksPropertyInfo = DOMTextTrackList
    type AttrLabel DOMHTMLMediaElementTextTracksPropertyInfo = "DOMHTMLMediaElement::text-tracks"
    attrGet _ = getDOMHTMLMediaElementTextTracks
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "video-tracks"
   -- Type: TInterface "WebKit" "DOMVideoTrackList"
   -- Flags: [PropertyReadable]

getDOMHTMLMediaElementVideoTracks :: (MonadIO m, DOMHTMLMediaElementK o) => o -> m DOMVideoTrackList
getDOMHTMLMediaElementVideoTracks obj = liftIO $ getObjectPropertyObject obj "video-tracks" DOMVideoTrackList

data DOMHTMLMediaElementVideoTracksPropertyInfo
instance AttrInfo DOMHTMLMediaElementVideoTracksPropertyInfo where
    type AttrAllowedOps DOMHTMLMediaElementVideoTracksPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLMediaElementVideoTracksPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMHTMLMediaElementVideoTracksPropertyInfo = DOMHTMLMediaElementK
    type AttrGetType DOMHTMLMediaElementVideoTracksPropertyInfo = DOMVideoTrackList
    type AttrLabel DOMHTMLMediaElementVideoTracksPropertyInfo = "DOMHTMLMediaElement::video-tracks"
    attrGet _ = getDOMHTMLMediaElementVideoTracks
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "volume"
   -- Type: TBasicType TDouble
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMHTMLMediaElementVolume :: (MonadIO m, DOMHTMLMediaElementK o) => o -> m Double
getDOMHTMLMediaElementVolume obj = liftIO $ getObjectPropertyDouble obj "volume"

setDOMHTMLMediaElementVolume :: (MonadIO m, DOMHTMLMediaElementK o) => o -> Double -> m ()
setDOMHTMLMediaElementVolume obj val = liftIO $ setObjectPropertyDouble obj "volume" val

constructDOMHTMLMediaElementVolume :: Double -> IO ([Char], GValue)
constructDOMHTMLMediaElementVolume val = constructObjectPropertyDouble "volume" val

data DOMHTMLMediaElementVolumePropertyInfo
instance AttrInfo DOMHTMLMediaElementVolumePropertyInfo where
    type AttrAllowedOps DOMHTMLMediaElementVolumePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLMediaElementVolumePropertyInfo = (~) Double
    type AttrBaseTypeConstraint DOMHTMLMediaElementVolumePropertyInfo = DOMHTMLMediaElementK
    type AttrGetType DOMHTMLMediaElementVolumePropertyInfo = Double
    type AttrLabel DOMHTMLMediaElementVolumePropertyInfo = "DOMHTMLMediaElement::volume"
    attrGet _ = getDOMHTMLMediaElementVolume
    attrSet _ = setDOMHTMLMediaElementVolume
    attrConstruct _ = constructDOMHTMLMediaElementVolume

-- VVV Prop "webkit-audio-decoded-byte-count"
   -- Type: TBasicType TUInt64
   -- Flags: [PropertyReadable]

getDOMHTMLMediaElementWebkitAudioDecodedByteCount :: (MonadIO m, DOMHTMLMediaElementK o) => o -> m Word64
getDOMHTMLMediaElementWebkitAudioDecodedByteCount obj = liftIO $ getObjectPropertyUInt64 obj "webkit-audio-decoded-byte-count"

data DOMHTMLMediaElementWebkitAudioDecodedByteCountPropertyInfo
instance AttrInfo DOMHTMLMediaElementWebkitAudioDecodedByteCountPropertyInfo where
    type AttrAllowedOps DOMHTMLMediaElementWebkitAudioDecodedByteCountPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLMediaElementWebkitAudioDecodedByteCountPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMHTMLMediaElementWebkitAudioDecodedByteCountPropertyInfo = DOMHTMLMediaElementK
    type AttrGetType DOMHTMLMediaElementWebkitAudioDecodedByteCountPropertyInfo = Word64
    type AttrLabel DOMHTMLMediaElementWebkitAudioDecodedByteCountPropertyInfo = "DOMHTMLMediaElement::webkit-audio-decoded-byte-count"
    attrGet _ = getDOMHTMLMediaElementWebkitAudioDecodedByteCount
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "webkit-closed-captions-visible"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMHTMLMediaElementWebkitClosedCaptionsVisible :: (MonadIO m, DOMHTMLMediaElementK o) => o -> m Bool
getDOMHTMLMediaElementWebkitClosedCaptionsVisible obj = liftIO $ getObjectPropertyBool obj "webkit-closed-captions-visible"

setDOMHTMLMediaElementWebkitClosedCaptionsVisible :: (MonadIO m, DOMHTMLMediaElementK o) => o -> Bool -> m ()
setDOMHTMLMediaElementWebkitClosedCaptionsVisible obj val = liftIO $ setObjectPropertyBool obj "webkit-closed-captions-visible" val

constructDOMHTMLMediaElementWebkitClosedCaptionsVisible :: Bool -> IO ([Char], GValue)
constructDOMHTMLMediaElementWebkitClosedCaptionsVisible val = constructObjectPropertyBool "webkit-closed-captions-visible" val

data DOMHTMLMediaElementWebkitClosedCaptionsVisiblePropertyInfo
instance AttrInfo DOMHTMLMediaElementWebkitClosedCaptionsVisiblePropertyInfo where
    type AttrAllowedOps DOMHTMLMediaElementWebkitClosedCaptionsVisiblePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLMediaElementWebkitClosedCaptionsVisiblePropertyInfo = (~) Bool
    type AttrBaseTypeConstraint DOMHTMLMediaElementWebkitClosedCaptionsVisiblePropertyInfo = DOMHTMLMediaElementK
    type AttrGetType DOMHTMLMediaElementWebkitClosedCaptionsVisiblePropertyInfo = Bool
    type AttrLabel DOMHTMLMediaElementWebkitClosedCaptionsVisiblePropertyInfo = "DOMHTMLMediaElement::webkit-closed-captions-visible"
    attrGet _ = getDOMHTMLMediaElementWebkitClosedCaptionsVisible
    attrSet _ = setDOMHTMLMediaElementWebkitClosedCaptionsVisible
    attrConstruct _ = constructDOMHTMLMediaElementWebkitClosedCaptionsVisible

-- VVV Prop "webkit-current-playback-target-is-wireless"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable]

getDOMHTMLMediaElementWebkitCurrentPlaybackTargetIsWireless :: (MonadIO m, DOMHTMLMediaElementK o) => o -> m Bool
getDOMHTMLMediaElementWebkitCurrentPlaybackTargetIsWireless obj = liftIO $ getObjectPropertyBool obj "webkit-current-playback-target-is-wireless"

data DOMHTMLMediaElementWebkitCurrentPlaybackTargetIsWirelessPropertyInfo
instance AttrInfo DOMHTMLMediaElementWebkitCurrentPlaybackTargetIsWirelessPropertyInfo where
    type AttrAllowedOps DOMHTMLMediaElementWebkitCurrentPlaybackTargetIsWirelessPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLMediaElementWebkitCurrentPlaybackTargetIsWirelessPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMHTMLMediaElementWebkitCurrentPlaybackTargetIsWirelessPropertyInfo = DOMHTMLMediaElementK
    type AttrGetType DOMHTMLMediaElementWebkitCurrentPlaybackTargetIsWirelessPropertyInfo = Bool
    type AttrLabel DOMHTMLMediaElementWebkitCurrentPlaybackTargetIsWirelessPropertyInfo = "DOMHTMLMediaElement::webkit-current-playback-target-is-wireless"
    attrGet _ = getDOMHTMLMediaElementWebkitCurrentPlaybackTargetIsWireless
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "webkit-has-closed-captions"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable]

getDOMHTMLMediaElementWebkitHasClosedCaptions :: (MonadIO m, DOMHTMLMediaElementK o) => o -> m Bool
getDOMHTMLMediaElementWebkitHasClosedCaptions obj = liftIO $ getObjectPropertyBool obj "webkit-has-closed-captions"

data DOMHTMLMediaElementWebkitHasClosedCaptionsPropertyInfo
instance AttrInfo DOMHTMLMediaElementWebkitHasClosedCaptionsPropertyInfo where
    type AttrAllowedOps DOMHTMLMediaElementWebkitHasClosedCaptionsPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLMediaElementWebkitHasClosedCaptionsPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMHTMLMediaElementWebkitHasClosedCaptionsPropertyInfo = DOMHTMLMediaElementK
    type AttrGetType DOMHTMLMediaElementWebkitHasClosedCaptionsPropertyInfo = Bool
    type AttrLabel DOMHTMLMediaElementWebkitHasClosedCaptionsPropertyInfo = "DOMHTMLMediaElement::webkit-has-closed-captions"
    attrGet _ = getDOMHTMLMediaElementWebkitHasClosedCaptions
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "webkit-preserves-pitch"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMHTMLMediaElementWebkitPreservesPitch :: (MonadIO m, DOMHTMLMediaElementK o) => o -> m Bool
getDOMHTMLMediaElementWebkitPreservesPitch obj = liftIO $ getObjectPropertyBool obj "webkit-preserves-pitch"

setDOMHTMLMediaElementWebkitPreservesPitch :: (MonadIO m, DOMHTMLMediaElementK o) => o -> Bool -> m ()
setDOMHTMLMediaElementWebkitPreservesPitch obj val = liftIO $ setObjectPropertyBool obj "webkit-preserves-pitch" val

constructDOMHTMLMediaElementWebkitPreservesPitch :: Bool -> IO ([Char], GValue)
constructDOMHTMLMediaElementWebkitPreservesPitch val = constructObjectPropertyBool "webkit-preserves-pitch" val

data DOMHTMLMediaElementWebkitPreservesPitchPropertyInfo
instance AttrInfo DOMHTMLMediaElementWebkitPreservesPitchPropertyInfo where
    type AttrAllowedOps DOMHTMLMediaElementWebkitPreservesPitchPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLMediaElementWebkitPreservesPitchPropertyInfo = (~) Bool
    type AttrBaseTypeConstraint DOMHTMLMediaElementWebkitPreservesPitchPropertyInfo = DOMHTMLMediaElementK
    type AttrGetType DOMHTMLMediaElementWebkitPreservesPitchPropertyInfo = Bool
    type AttrLabel DOMHTMLMediaElementWebkitPreservesPitchPropertyInfo = "DOMHTMLMediaElement::webkit-preserves-pitch"
    attrGet _ = getDOMHTMLMediaElementWebkitPreservesPitch
    attrSet _ = setDOMHTMLMediaElementWebkitPreservesPitch
    attrConstruct _ = constructDOMHTMLMediaElementWebkitPreservesPitch

-- VVV Prop "webkit-video-decoded-byte-count"
   -- Type: TBasicType TUInt64
   -- Flags: [PropertyReadable]

getDOMHTMLMediaElementWebkitVideoDecodedByteCount :: (MonadIO m, DOMHTMLMediaElementK o) => o -> m Word64
getDOMHTMLMediaElementWebkitVideoDecodedByteCount obj = liftIO $ getObjectPropertyUInt64 obj "webkit-video-decoded-byte-count"

data DOMHTMLMediaElementWebkitVideoDecodedByteCountPropertyInfo
instance AttrInfo DOMHTMLMediaElementWebkitVideoDecodedByteCountPropertyInfo where
    type AttrAllowedOps DOMHTMLMediaElementWebkitVideoDecodedByteCountPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLMediaElementWebkitVideoDecodedByteCountPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMHTMLMediaElementWebkitVideoDecodedByteCountPropertyInfo = DOMHTMLMediaElementK
    type AttrGetType DOMHTMLMediaElementWebkitVideoDecodedByteCountPropertyInfo = Word64
    type AttrLabel DOMHTMLMediaElementWebkitVideoDecodedByteCountPropertyInfo = "DOMHTMLMediaElement::webkit-video-decoded-byte-count"
    attrGet _ = getDOMHTMLMediaElementWebkitVideoDecodedByteCount
    attrSet _ = undefined
    attrConstruct _ = undefined

type instance AttributeList DOMHTMLMediaElement = DOMHTMLMediaElementAttributeList
type DOMHTMLMediaElementAttributeList = ('[ '("access-key", DOMHTMLElementAccessKeyPropertyInfo), '("attributes", DOMElementAttributesPropertyInfo), '("audio-tracks", DOMHTMLMediaElementAudioTracksPropertyInfo), '("autoplay", DOMHTMLMediaElementAutoplayPropertyInfo), '("base-uri", DOMNodeBaseUriPropertyInfo), '("buffered", DOMHTMLMediaElementBufferedPropertyInfo), '("child-element-count", DOMElementChildElementCountPropertyInfo), '("child-nodes", DOMNodeChildNodesPropertyInfo), '("children", DOMHTMLElementChildrenPropertyInfo), '("class-list", DOMElementClassListPropertyInfo), '("class-name", DOMElementClassNamePropertyInfo), '("client-height", DOMElementClientHeightPropertyInfo), '("client-left", DOMElementClientLeftPropertyInfo), '("client-top", DOMElementClientTopPropertyInfo), '("client-width", DOMElementClientWidthPropertyInfo), '("content-editable", DOMHTMLElementContentEditablePropertyInfo), '("controller", DOMHTMLMediaElementControllerPropertyInfo), '("controls", DOMHTMLMediaElementControlsPropertyInfo), '("core-object", DOMObjectCoreObjectPropertyInfo), '("current-src", DOMHTMLMediaElementCurrentSrcPropertyInfo), '("current-time", DOMHTMLMediaElementCurrentTimePropertyInfo), '("default-muted", DOMHTMLMediaElementDefaultMutedPropertyInfo), '("default-playback-rate", DOMHTMLMediaElementDefaultPlaybackRatePropertyInfo), '("dir", DOMHTMLElementDirPropertyInfo), '("draggable", DOMHTMLElementDraggablePropertyInfo), '("duration", DOMHTMLMediaElementDurationPropertyInfo), '("ended", DOMHTMLMediaElementEndedPropertyInfo), '("error", DOMHTMLMediaElementErrorPropertyInfo), '("first-child", DOMNodeFirstChildPropertyInfo), '("first-element-child", DOMElementFirstElementChildPropertyInfo), '("hidden", DOMHTMLElementHiddenPropertyInfo), '("id", DOMElementIdPropertyInfo), '("inner-html", DOMHTMLElementInnerHtmlPropertyInfo), '("inner-text", DOMHTMLElementInnerTextPropertyInfo), '("is-content-editable", DOMHTMLElementIsContentEditablePropertyInfo), '("lang", DOMHTMLElementLangPropertyInfo), '("last-child", DOMNodeLastChildPropertyInfo), '("last-element-child", DOMElementLastElementChildPropertyInfo), '("local-name", DOMNodeLocalNamePropertyInfo), '("loop", DOMHTMLMediaElementLoopPropertyInfo), '("media-group", DOMHTMLMediaElementMediaGroupPropertyInfo), '("muted", DOMHTMLMediaElementMutedPropertyInfo), '("namespace-uri", DOMNodeNamespaceUriPropertyInfo), '("network-state", DOMHTMLMediaElementNetworkStatePropertyInfo), '("next-element-sibling", DOMElementNextElementSiblingPropertyInfo), '("next-sibling", DOMNodeNextSiblingPropertyInfo), '("node-name", DOMNodeNodeNamePropertyInfo), '("node-type", DOMNodeNodeTypePropertyInfo), '("node-value", DOMNodeNodeValuePropertyInfo), '("offset-height", DOMElementOffsetHeightPropertyInfo), '("offset-left", DOMElementOffsetLeftPropertyInfo), '("offset-parent", DOMElementOffsetParentPropertyInfo), '("offset-top", DOMElementOffsetTopPropertyInfo), '("offset-width", DOMElementOffsetWidthPropertyInfo), '("outer-html", DOMHTMLElementOuterHtmlPropertyInfo), '("outer-text", DOMHTMLElementOuterTextPropertyInfo), '("owner-document", DOMNodeOwnerDocumentPropertyInfo), '("parent-element", DOMNodeParentElementPropertyInfo), '("parent-node", DOMNodeParentNodePropertyInfo), '("paused", DOMHTMLMediaElementPausedPropertyInfo), '("playback-rate", DOMHTMLMediaElementPlaybackRatePropertyInfo), '("played", DOMHTMLMediaElementPlayedPropertyInfo), '("prefix", DOMNodePrefixPropertyInfo), '("preload", DOMHTMLMediaElementPreloadPropertyInfo), '("previous-element-sibling", DOMElementPreviousElementSiblingPropertyInfo), '("previous-sibling", DOMNodePreviousSiblingPropertyInfo), '("ready-state", DOMHTMLMediaElementReadyStatePropertyInfo), '("scroll-height", DOMElementScrollHeightPropertyInfo), '("scroll-left", DOMElementScrollLeftPropertyInfo), '("scroll-top", DOMElementScrollTopPropertyInfo), '("scroll-width", DOMElementScrollWidthPropertyInfo), '("seekable", DOMHTMLMediaElementSeekablePropertyInfo), '("seeking", DOMHTMLMediaElementSeekingPropertyInfo), '("spellcheck", DOMHTMLElementSpellcheckPropertyInfo), '("src", DOMHTMLMediaElementSrcPropertyInfo), '("style", DOMElementStylePropertyInfo), '("tab-index", DOMHTMLElementTabIndexPropertyInfo), '("tag-name", DOMElementTagNamePropertyInfo), '("text-content", DOMNodeTextContentPropertyInfo), '("text-tracks", DOMHTMLMediaElementTextTracksPropertyInfo), '("title", DOMHTMLElementTitlePropertyInfo), '("translate", DOMHTMLElementTranslatePropertyInfo), '("video-tracks", DOMHTMLMediaElementVideoTracksPropertyInfo), '("volume", DOMHTMLMediaElementVolumePropertyInfo), '("webkit-audio-decoded-byte-count", DOMHTMLMediaElementWebkitAudioDecodedByteCountPropertyInfo), '("webkit-closed-captions-visible", DOMHTMLMediaElementWebkitClosedCaptionsVisiblePropertyInfo), '("webkit-current-playback-target-is-wireless", DOMHTMLMediaElementWebkitCurrentPlaybackTargetIsWirelessPropertyInfo), '("webkit-has-closed-captions", DOMHTMLMediaElementWebkitHasClosedCaptionsPropertyInfo), '("webkit-preserves-pitch", DOMHTMLMediaElementWebkitPreservesPitchPropertyInfo), '("webkit-region-overset", DOMElementWebkitRegionOversetPropertyInfo), '("webkit-video-decoded-byte-count", DOMHTMLMediaElementWebkitVideoDecodedByteCountPropertyInfo), '("webkitdropzone", DOMHTMLElementWebkitdropzonePropertyInfo)] :: [(Symbol, *)])

type instance SignalList DOMHTMLMediaElement = DOMHTMLMediaElementSignalList
type DOMHTMLMediaElementSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])

-- method DOMHTMLMediaElement::add_text_track
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "kind", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "kind", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "language", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMTextTrack"
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_add_text_track" webkit_dom_html_media_element_add_text_track :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    CString ->                              -- kind : TBasicType TUTF8
    CString ->                              -- label : TBasicType TUTF8
    CString ->                              -- language : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO (Ptr DOMTextTrack)


dOMHTMLMediaElementAddTextTrack ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- kind
    T.Text ->                               -- label
    T.Text ->                               -- language
    m DOMTextTrack
dOMHTMLMediaElementAddTextTrack _obj kind label language = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    kind' <- textToCString kind
    label' <- textToCString label
    language' <- textToCString language
    onException (do
        result <- propagateGError $ webkit_dom_html_media_element_add_text_track _obj' kind' label' language'
        checkUnexpectedReturnNULL "webkit_dom_html_media_element_add_text_track" result
        result' <- (wrapObject DOMTextTrack) result
        touchManagedPtr _obj
        freeMem kind'
        freeMem label'
        freeMem language'
        return result'
     ) (do
        freeMem kind'
        freeMem label'
        freeMem language'
     )

-- method DOMHTMLMediaElement::can_play_type
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_can_play_type" webkit_dom_html_media_element_can_play_type :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    CString ->                              -- type : TBasicType TUTF8
    IO CString


dOMHTMLMediaElementCanPlayType ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- type
    m T.Text
dOMHTMLMediaElementCanPlayType _obj type_ = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    type_' <- textToCString type_
    result <- webkit_dom_html_media_element_can_play_type _obj' type_'
    checkUnexpectedReturnNULL "webkit_dom_html_media_element_can_play_type" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    freeMem type_'
    return result'

-- method DOMHTMLMediaElement::fast_seek
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_fast_seek" webkit_dom_html_media_element_fast_seek :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    CDouble ->                              -- time : TBasicType TDouble
    IO ()


dOMHTMLMediaElementFastSeek ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    Double ->                               -- time
    m ()
dOMHTMLMediaElementFastSeek _obj time = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let time' = realToFrac time
    webkit_dom_html_media_element_fast_seek _obj' time'
    touchManagedPtr _obj
    return ()

-- method DOMHTMLMediaElement::get_audio_tracks
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMAudioTrackList"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_audio_tracks" webkit_dom_html_media_element_get_audio_tracks :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO (Ptr DOMAudioTrackList)


dOMHTMLMediaElementGetAudioTracks ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m DOMAudioTrackList
dOMHTMLMediaElementGetAudioTracks _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_audio_tracks _obj'
    checkUnexpectedReturnNULL "webkit_dom_html_media_element_get_audio_tracks" result
    result' <- (wrapObject DOMAudioTrackList) result
    touchManagedPtr _obj
    return result'

-- method DOMHTMLMediaElement::get_autoplay
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_autoplay" webkit_dom_html_media_element_get_autoplay :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO CInt


dOMHTMLMediaElementGetAutoplay ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m Bool
dOMHTMLMediaElementGetAutoplay _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_autoplay _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method DOMHTMLMediaElement::get_buffered
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMTimeRanges"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_buffered" webkit_dom_html_media_element_get_buffered :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO (Ptr DOMTimeRanges)


dOMHTMLMediaElementGetBuffered ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m DOMTimeRanges
dOMHTMLMediaElementGetBuffered _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_buffered _obj'
    checkUnexpectedReturnNULL "webkit_dom_html_media_element_get_buffered" result
    result' <- (wrapObject DOMTimeRanges) result
    touchManagedPtr _obj
    return result'

-- method DOMHTMLMediaElement::get_controller
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMMediaController"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_controller" webkit_dom_html_media_element_get_controller :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO (Ptr DOMMediaController)


dOMHTMLMediaElementGetController ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m DOMMediaController
dOMHTMLMediaElementGetController _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_controller _obj'
    checkUnexpectedReturnNULL "webkit_dom_html_media_element_get_controller" result
    result' <- (wrapObject DOMMediaController) result
    touchManagedPtr _obj
    return result'

-- method DOMHTMLMediaElement::get_controls
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_controls" webkit_dom_html_media_element_get_controls :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO CInt


dOMHTMLMediaElementGetControls ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m Bool
dOMHTMLMediaElementGetControls _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_controls _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method DOMHTMLMediaElement::get_current_src
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_current_src" webkit_dom_html_media_element_get_current_src :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO CString


dOMHTMLMediaElementGetCurrentSrc ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m T.Text
dOMHTMLMediaElementGetCurrentSrc _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_current_src _obj'
    checkUnexpectedReturnNULL "webkit_dom_html_media_element_get_current_src" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMHTMLMediaElement::get_current_time
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TDouble
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_current_time" webkit_dom_html_media_element_get_current_time :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO CDouble


dOMHTMLMediaElementGetCurrentTime ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m Double
dOMHTMLMediaElementGetCurrentTime _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_current_time _obj'
    let result' = realToFrac result
    touchManagedPtr _obj
    return result'

-- method DOMHTMLMediaElement::get_default_muted
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_default_muted" webkit_dom_html_media_element_get_default_muted :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO CInt


dOMHTMLMediaElementGetDefaultMuted ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m Bool
dOMHTMLMediaElementGetDefaultMuted _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_default_muted _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method DOMHTMLMediaElement::get_default_playback_rate
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TDouble
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_default_playback_rate" webkit_dom_html_media_element_get_default_playback_rate :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO CDouble


dOMHTMLMediaElementGetDefaultPlaybackRate ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m Double
dOMHTMLMediaElementGetDefaultPlaybackRate _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_default_playback_rate _obj'
    let result' = realToFrac result
    touchManagedPtr _obj
    return result'

-- method DOMHTMLMediaElement::get_duration
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TDouble
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_duration" webkit_dom_html_media_element_get_duration :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO CDouble


dOMHTMLMediaElementGetDuration ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m Double
dOMHTMLMediaElementGetDuration _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_duration _obj'
    let result' = realToFrac result
    touchManagedPtr _obj
    return result'

-- method DOMHTMLMediaElement::get_ended
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_ended" webkit_dom_html_media_element_get_ended :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO CInt


dOMHTMLMediaElementGetEnded ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m Bool
dOMHTMLMediaElementGetEnded _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_ended _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method DOMHTMLMediaElement::get_error
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMMediaError"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_error" webkit_dom_html_media_element_get_error :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO (Ptr DOMMediaError)


dOMHTMLMediaElementGetError ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m DOMMediaError
dOMHTMLMediaElementGetError _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_error _obj'
    checkUnexpectedReturnNULL "webkit_dom_html_media_element_get_error" result
    result' <- (wrapObject DOMMediaError) result
    touchManagedPtr _obj
    return result'

-- method DOMHTMLMediaElement::get_initial_time
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TDouble
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_initial_time" webkit_dom_html_media_element_get_initial_time :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO CDouble

{-# DEPRECATED dOMHTMLMediaElementGetInitialTime ["(Since version 2.2)"]#-}
dOMHTMLMediaElementGetInitialTime ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m Double
dOMHTMLMediaElementGetInitialTime _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_initial_time _obj'
    let result' = realToFrac result
    touchManagedPtr _obj
    return result'

-- method DOMHTMLMediaElement::get_loop
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_loop" webkit_dom_html_media_element_get_loop :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO CInt


dOMHTMLMediaElementGetLoop ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m Bool
dOMHTMLMediaElementGetLoop _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_loop _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method DOMHTMLMediaElement::get_media_group
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_media_group" webkit_dom_html_media_element_get_media_group :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO CString


dOMHTMLMediaElementGetMediaGroup ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m T.Text
dOMHTMLMediaElementGetMediaGroup _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_media_group _obj'
    checkUnexpectedReturnNULL "webkit_dom_html_media_element_get_media_group" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMHTMLMediaElement::get_muted
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_muted" webkit_dom_html_media_element_get_muted :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO CInt


dOMHTMLMediaElementGetMuted ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m Bool
dOMHTMLMediaElementGetMuted _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_muted _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method DOMHTMLMediaElement::get_network_state
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUInt16
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_network_state" webkit_dom_html_media_element_get_network_state :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO Word16


dOMHTMLMediaElementGetNetworkState ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m Word16
dOMHTMLMediaElementGetNetworkState _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_network_state _obj'
    touchManagedPtr _obj
    return result

-- method DOMHTMLMediaElement::get_paused
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_paused" webkit_dom_html_media_element_get_paused :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO CInt


dOMHTMLMediaElementGetPaused ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m Bool
dOMHTMLMediaElementGetPaused _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_paused _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method DOMHTMLMediaElement::get_playback_rate
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TDouble
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_playback_rate" webkit_dom_html_media_element_get_playback_rate :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO CDouble


dOMHTMLMediaElementGetPlaybackRate ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m Double
dOMHTMLMediaElementGetPlaybackRate _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_playback_rate _obj'
    let result' = realToFrac result
    touchManagedPtr _obj
    return result'

-- method DOMHTMLMediaElement::get_played
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMTimeRanges"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_played" webkit_dom_html_media_element_get_played :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO (Ptr DOMTimeRanges)


dOMHTMLMediaElementGetPlayed ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m DOMTimeRanges
dOMHTMLMediaElementGetPlayed _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_played _obj'
    checkUnexpectedReturnNULL "webkit_dom_html_media_element_get_played" result
    result' <- (wrapObject DOMTimeRanges) result
    touchManagedPtr _obj
    return result'

-- method DOMHTMLMediaElement::get_preload
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_preload" webkit_dom_html_media_element_get_preload :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO CString


dOMHTMLMediaElementGetPreload ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m T.Text
dOMHTMLMediaElementGetPreload _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_preload _obj'
    checkUnexpectedReturnNULL "webkit_dom_html_media_element_get_preload" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMHTMLMediaElement::get_ready_state
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUInt16
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_ready_state" webkit_dom_html_media_element_get_ready_state :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO Word16


dOMHTMLMediaElementGetReadyState ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m Word16
dOMHTMLMediaElementGetReadyState _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_ready_state _obj'
    touchManagedPtr _obj
    return result

-- method DOMHTMLMediaElement::get_seekable
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMTimeRanges"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_seekable" webkit_dom_html_media_element_get_seekable :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO (Ptr DOMTimeRanges)


dOMHTMLMediaElementGetSeekable ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m DOMTimeRanges
dOMHTMLMediaElementGetSeekable _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_seekable _obj'
    checkUnexpectedReturnNULL "webkit_dom_html_media_element_get_seekable" result
    result' <- (wrapObject DOMTimeRanges) result
    touchManagedPtr _obj
    return result'

-- method DOMHTMLMediaElement::get_seeking
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_seeking" webkit_dom_html_media_element_get_seeking :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO CInt


dOMHTMLMediaElementGetSeeking ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m Bool
dOMHTMLMediaElementGetSeeking _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_seeking _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method DOMHTMLMediaElement::get_src
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_src" webkit_dom_html_media_element_get_src :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO CString


dOMHTMLMediaElementGetSrc ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m T.Text
dOMHTMLMediaElementGetSrc _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_src _obj'
    checkUnexpectedReturnNULL "webkit_dom_html_media_element_get_src" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMHTMLMediaElement::get_start_time
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TDouble
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_start_time" webkit_dom_html_media_element_get_start_time :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO CDouble

{-# DEPRECATED dOMHTMLMediaElementGetStartTime ["(Since version 2.2)"]#-}
dOMHTMLMediaElementGetStartTime ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m Double
dOMHTMLMediaElementGetStartTime _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_start_time _obj'
    let result' = realToFrac result
    touchManagedPtr _obj
    return result'

-- method DOMHTMLMediaElement::get_text_tracks
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMTextTrackList"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_text_tracks" webkit_dom_html_media_element_get_text_tracks :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO (Ptr DOMTextTrackList)


dOMHTMLMediaElementGetTextTracks ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m DOMTextTrackList
dOMHTMLMediaElementGetTextTracks _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_text_tracks _obj'
    checkUnexpectedReturnNULL "webkit_dom_html_media_element_get_text_tracks" result
    result' <- (newObject DOMTextTrackList) result
    touchManagedPtr _obj
    return result'

-- method DOMHTMLMediaElement::get_video_tracks
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMVideoTrackList"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_video_tracks" webkit_dom_html_media_element_get_video_tracks :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO (Ptr DOMVideoTrackList)


dOMHTMLMediaElementGetVideoTracks ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m DOMVideoTrackList
dOMHTMLMediaElementGetVideoTracks _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_video_tracks _obj'
    checkUnexpectedReturnNULL "webkit_dom_html_media_element_get_video_tracks" result
    result' <- (newObject DOMVideoTrackList) result
    touchManagedPtr _obj
    return result'

-- method DOMHTMLMediaElement::get_volume
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TDouble
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_volume" webkit_dom_html_media_element_get_volume :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO CDouble


dOMHTMLMediaElementGetVolume ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m Double
dOMHTMLMediaElementGetVolume _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_volume _obj'
    let result' = realToFrac result
    touchManagedPtr _obj
    return result'

-- method DOMHTMLMediaElement::get_webkit_audio_decoded_byte_count
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUInt64
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_webkit_audio_decoded_byte_count" webkit_dom_html_media_element_get_webkit_audio_decoded_byte_count :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO Word64


dOMHTMLMediaElementGetWebkitAudioDecodedByteCount ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m Word64
dOMHTMLMediaElementGetWebkitAudioDecodedByteCount _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_webkit_audio_decoded_byte_count _obj'
    touchManagedPtr _obj
    return result

-- method DOMHTMLMediaElement::get_webkit_closed_captions_visible
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_webkit_closed_captions_visible" webkit_dom_html_media_element_get_webkit_closed_captions_visible :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO CInt


dOMHTMLMediaElementGetWebkitClosedCaptionsVisible ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m Bool
dOMHTMLMediaElementGetWebkitClosedCaptionsVisible _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_webkit_closed_captions_visible _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method DOMHTMLMediaElement::get_webkit_current_playback_target_is_wireless
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_webkit_current_playback_target_is_wireless" webkit_dom_html_media_element_get_webkit_current_playback_target_is_wireless :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO CInt


dOMHTMLMediaElementGetWebkitCurrentPlaybackTargetIsWireless ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m Bool
dOMHTMLMediaElementGetWebkitCurrentPlaybackTargetIsWireless _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_webkit_current_playback_target_is_wireless _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method DOMHTMLMediaElement::get_webkit_has_closed_captions
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_webkit_has_closed_captions" webkit_dom_html_media_element_get_webkit_has_closed_captions :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO CInt


dOMHTMLMediaElementGetWebkitHasClosedCaptions ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m Bool
dOMHTMLMediaElementGetWebkitHasClosedCaptions _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_webkit_has_closed_captions _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method DOMHTMLMediaElement::get_webkit_preserves_pitch
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_webkit_preserves_pitch" webkit_dom_html_media_element_get_webkit_preserves_pitch :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO CInt


dOMHTMLMediaElementGetWebkitPreservesPitch ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m Bool
dOMHTMLMediaElementGetWebkitPreservesPitch _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_webkit_preserves_pitch _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method DOMHTMLMediaElement::get_webkit_video_decoded_byte_count
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUInt64
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_get_webkit_video_decoded_byte_count" webkit_dom_html_media_element_get_webkit_video_decoded_byte_count :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO Word64


dOMHTMLMediaElementGetWebkitVideoDecodedByteCount ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m Word64
dOMHTMLMediaElementGetWebkitVideoDecodedByteCount _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_media_element_get_webkit_video_decoded_byte_count _obj'
    touchManagedPtr _obj
    return result

-- method DOMHTMLMediaElement::load
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_load" webkit_dom_html_media_element_load :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO ()


dOMHTMLMediaElementLoad ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m ()
dOMHTMLMediaElementLoad _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    webkit_dom_html_media_element_load _obj'
    touchManagedPtr _obj
    return ()

-- method DOMHTMLMediaElement::pause
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_pause" webkit_dom_html_media_element_pause :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO ()


dOMHTMLMediaElementPause ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m ()
dOMHTMLMediaElementPause _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    webkit_dom_html_media_element_pause _obj'
    touchManagedPtr _obj
    return ()

-- method DOMHTMLMediaElement::play
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_play" webkit_dom_html_media_element_play :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO ()


dOMHTMLMediaElementPlay ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m ()
dOMHTMLMediaElementPlay _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    webkit_dom_html_media_element_play _obj'
    touchManagedPtr _obj
    return ()

-- method DOMHTMLMediaElement::set_autoplay
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_set_autoplay" webkit_dom_html_media_element_set_autoplay :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    CInt ->                                 -- value : TBasicType TBoolean
    IO ()


dOMHTMLMediaElementSetAutoplay ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    Bool ->                                 -- value
    m ()
dOMHTMLMediaElementSetAutoplay _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let value' = (fromIntegral . fromEnum) value
    webkit_dom_html_media_element_set_autoplay _obj' value'
    touchManagedPtr _obj
    return ()

-- method DOMHTMLMediaElement::set_controls
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_set_controls" webkit_dom_html_media_element_set_controls :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    CInt ->                                 -- value : TBasicType TBoolean
    IO ()


dOMHTMLMediaElementSetControls ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    Bool ->                                 -- value
    m ()
dOMHTMLMediaElementSetControls _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let value' = (fromIntegral . fromEnum) value
    webkit_dom_html_media_element_set_controls _obj' value'
    touchManagedPtr _obj
    return ()

-- method DOMHTMLMediaElement::set_current_time
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_set_current_time" webkit_dom_html_media_element_set_current_time :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    CDouble ->                              -- value : TBasicType TDouble
    Ptr (Ptr GError) ->                     -- error
    IO ()


dOMHTMLMediaElementSetCurrentTime ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    Double ->                               -- value
    m ()
dOMHTMLMediaElementSetCurrentTime _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let value' = realToFrac value
    onException (do
        propagateGError $ webkit_dom_html_media_element_set_current_time _obj' value'
        touchManagedPtr _obj
        return ()
     ) (do
        return ()
     )

-- method DOMHTMLMediaElement::set_default_muted
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_set_default_muted" webkit_dom_html_media_element_set_default_muted :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    CInt ->                                 -- value : TBasicType TBoolean
    IO ()


dOMHTMLMediaElementSetDefaultMuted ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    Bool ->                                 -- value
    m ()
dOMHTMLMediaElementSetDefaultMuted _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let value' = (fromIntegral . fromEnum) value
    webkit_dom_html_media_element_set_default_muted _obj' value'
    touchManagedPtr _obj
    return ()

-- method DOMHTMLMediaElement::set_default_playback_rate
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_set_default_playback_rate" webkit_dom_html_media_element_set_default_playback_rate :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    CDouble ->                              -- value : TBasicType TDouble
    IO ()


dOMHTMLMediaElementSetDefaultPlaybackRate ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    Double ->                               -- value
    m ()
dOMHTMLMediaElementSetDefaultPlaybackRate _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let value' = realToFrac value
    webkit_dom_html_media_element_set_default_playback_rate _obj' value'
    touchManagedPtr _obj
    return ()

-- method DOMHTMLMediaElement::set_loop
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_set_loop" webkit_dom_html_media_element_set_loop :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    CInt ->                                 -- value : TBasicType TBoolean
    IO ()


dOMHTMLMediaElementSetLoop ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    Bool ->                                 -- value
    m ()
dOMHTMLMediaElementSetLoop _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let value' = (fromIntegral . fromEnum) value
    webkit_dom_html_media_element_set_loop _obj' value'
    touchManagedPtr _obj
    return ()

-- method DOMHTMLMediaElement::set_media_group
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_set_media_group" webkit_dom_html_media_element_set_media_group :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    CString ->                              -- value : TBasicType TUTF8
    IO ()


dOMHTMLMediaElementSetMediaGroup ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- value
    m ()
dOMHTMLMediaElementSetMediaGroup _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    value' <- textToCString value
    webkit_dom_html_media_element_set_media_group _obj' value'
    touchManagedPtr _obj
    freeMem value'
    return ()

-- method DOMHTMLMediaElement::set_muted
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_set_muted" webkit_dom_html_media_element_set_muted :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    CInt ->                                 -- value : TBasicType TBoolean
    IO ()


dOMHTMLMediaElementSetMuted ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    Bool ->                                 -- value
    m ()
dOMHTMLMediaElementSetMuted _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let value' = (fromIntegral . fromEnum) value
    webkit_dom_html_media_element_set_muted _obj' value'
    touchManagedPtr _obj
    return ()

-- method DOMHTMLMediaElement::set_playback_rate
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_set_playback_rate" webkit_dom_html_media_element_set_playback_rate :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    CDouble ->                              -- value : TBasicType TDouble
    IO ()


dOMHTMLMediaElementSetPlaybackRate ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    Double ->                               -- value
    m ()
dOMHTMLMediaElementSetPlaybackRate _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let value' = realToFrac value
    webkit_dom_html_media_element_set_playback_rate _obj' value'
    touchManagedPtr _obj
    return ()

-- method DOMHTMLMediaElement::set_preload
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_set_preload" webkit_dom_html_media_element_set_preload :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    CString ->                              -- value : TBasicType TUTF8
    IO ()


dOMHTMLMediaElementSetPreload ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- value
    m ()
dOMHTMLMediaElementSetPreload _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    value' <- textToCString value
    webkit_dom_html_media_element_set_preload _obj' value'
    touchManagedPtr _obj
    freeMem value'
    return ()

-- method DOMHTMLMediaElement::set_src
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_set_src" webkit_dom_html_media_element_set_src :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    CString ->                              -- value : TBasicType TUTF8
    IO ()


dOMHTMLMediaElementSetSrc ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- value
    m ()
dOMHTMLMediaElementSetSrc _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    value' <- textToCString value
    webkit_dom_html_media_element_set_src _obj' value'
    touchManagedPtr _obj
    freeMem value'
    return ()

-- method DOMHTMLMediaElement::set_volume
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_set_volume" webkit_dom_html_media_element_set_volume :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    CDouble ->                              -- value : TBasicType TDouble
    Ptr (Ptr GError) ->                     -- error
    IO ()


dOMHTMLMediaElementSetVolume ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    Double ->                               -- value
    m ()
dOMHTMLMediaElementSetVolume _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let value' = realToFrac value
    onException (do
        propagateGError $ webkit_dom_html_media_element_set_volume _obj' value'
        touchManagedPtr _obj
        return ()
     ) (do
        return ()
     )

-- method DOMHTMLMediaElement::set_webkit_closed_captions_visible
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_set_webkit_closed_captions_visible" webkit_dom_html_media_element_set_webkit_closed_captions_visible :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    CInt ->                                 -- value : TBasicType TBoolean
    IO ()


dOMHTMLMediaElementSetWebkitClosedCaptionsVisible ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    Bool ->                                 -- value
    m ()
dOMHTMLMediaElementSetWebkitClosedCaptionsVisible _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let value' = (fromIntegral . fromEnum) value
    webkit_dom_html_media_element_set_webkit_closed_captions_visible _obj' value'
    touchManagedPtr _obj
    return ()

-- method DOMHTMLMediaElement::set_webkit_preserves_pitch
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_set_webkit_preserves_pitch" webkit_dom_html_media_element_set_webkit_preserves_pitch :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    CInt ->                                 -- value : TBasicType TBoolean
    IO ()


dOMHTMLMediaElementSetWebkitPreservesPitch ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    Bool ->                                 -- value
    m ()
dOMHTMLMediaElementSetWebkitPreservesPitch _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let value' = (fromIntegral . fromEnum) value
    webkit_dom_html_media_element_set_webkit_preserves_pitch _obj' value'
    touchManagedPtr _obj
    return ()

-- method DOMHTMLMediaElement::webkit_show_playback_target_picker
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLMediaElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_html_media_element_webkit_show_playback_target_picker" webkit_dom_html_media_element_webkit_show_playback_target_picker :: 
    Ptr DOMHTMLMediaElement ->              -- _obj : TInterface "WebKit" "DOMHTMLMediaElement"
    IO ()


dOMHTMLMediaElementWebkitShowPlaybackTargetPicker ::
    (MonadIO m, DOMHTMLMediaElementK a) =>
    a ->                                    -- _obj
    m ()
dOMHTMLMediaElementWebkitShowPlaybackTargetPicker _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    webkit_dom_html_media_element_webkit_show_playback_target_picker _obj'
    touchManagedPtr _obj
    return ()