{-# LANGUAGE PatternSynonyms #-} -- For HasCallStack compatibility {-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} module JSDOM.Generated.MediaController (newMediaController, play, pause, unpause, getBuffered, getBufferedUnsafe, getBufferedUnchecked, getSeekable, getSeekableUnsafe, getSeekableUnchecked, getDuration, setCurrentTime, getCurrentTime, getPaused, getPlayed, getPlayedUnsafe, getPlayedUnchecked, getPlaybackState, setDefaultPlaybackRate, getDefaultPlaybackRate, setPlaybackRate, getPlaybackRate, setVolume, getVolume, setMuted, getMuted, MediaController(..), gTypeMediaController) where import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..)) import qualified Prelude (error) import Data.Typeable (Typeable) import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, new, array) import Data.Int (Int64) import Data.Word (Word, Word64) import JSDOM.Types import Control.Applicative ((<$>)) import Control.Monad (void) import Control.Lens.Operators ((^.)) import JSDOM.EventTargetClosures (EventName, unsafeEventName) import JSDOM.Enums -- | newMediaController :: (MonadDOM m) => m MediaController newMediaController = liftDOM (MediaController <$> new (jsg "MediaController") ()) -- | play :: (MonadDOM m) => MediaController -> m () play self = liftDOM (void (self ^. jsf "play" ())) -- | pause :: (MonadDOM m) => MediaController -> m () pause self = liftDOM (void (self ^. jsf "pause" ())) -- | unpause :: (MonadDOM m) => MediaController -> m () unpause self = liftDOM (void (self ^. jsf "unpause" ())) -- | getBuffered :: (MonadDOM m) => MediaController -> m (Maybe TimeRanges) getBuffered self = liftDOM ((self ^. js "buffered") >>= fromJSVal) -- | getBufferedUnsafe :: (MonadDOM m, HasCallStack) => MediaController -> m TimeRanges getBufferedUnsafe self = liftDOM (((self ^. js "buffered") >>= fromJSVal) >>= maybe (Prelude.error "Nothing to return") return) -- | getBufferedUnchecked :: (MonadDOM m) => MediaController -> m TimeRanges getBufferedUnchecked self = liftDOM ((self ^. js "buffered") >>= fromJSValUnchecked) -- | getSeekable :: (MonadDOM m) => MediaController -> m (Maybe TimeRanges) getSeekable self = liftDOM ((self ^. js "seekable") >>= fromJSVal) -- | getSeekableUnsafe :: (MonadDOM m, HasCallStack) => MediaController -> m TimeRanges getSeekableUnsafe self = liftDOM (((self ^. js "seekable") >>= fromJSVal) >>= maybe (Prelude.error "Nothing to return") return) -- | getSeekableUnchecked :: (MonadDOM m) => MediaController -> m TimeRanges getSeekableUnchecked self = liftDOM ((self ^. js "seekable") >>= fromJSValUnchecked) -- | getDuration :: (MonadDOM m) => MediaController -> m Double getDuration self = liftDOM ((self ^. js "duration") >>= valToNumber) -- | setCurrentTime :: (MonadDOM m) => MediaController -> Double -> m () setCurrentTime self val = liftDOM (self ^. jss "currentTime" (toJSVal val)) -- | getCurrentTime :: (MonadDOM m) => MediaController -> m Double getCurrentTime self = liftDOM ((self ^. js "currentTime") >>= valToNumber) -- | getPaused :: (MonadDOM m) => MediaController -> m Bool getPaused self = liftDOM ((self ^. js "paused") >>= valToBool) -- | getPlayed :: (MonadDOM m) => MediaController -> m (Maybe TimeRanges) getPlayed self = liftDOM ((self ^. js "played") >>= fromJSVal) -- | getPlayedUnsafe :: (MonadDOM m, HasCallStack) => MediaController -> m TimeRanges getPlayedUnsafe self = liftDOM (((self ^. js "played") >>= fromJSVal) >>= maybe (Prelude.error "Nothing to return") return) -- | getPlayedUnchecked :: (MonadDOM m) => MediaController -> m TimeRanges getPlayedUnchecked self = liftDOM ((self ^. js "played") >>= fromJSValUnchecked) -- | getPlaybackState :: (MonadDOM m, FromJSString result) => MediaController -> m result getPlaybackState self = liftDOM ((self ^. js "playbackState") >>= fromJSValUnchecked) -- | setDefaultPlaybackRate :: (MonadDOM m) => MediaController -> Double -> m () setDefaultPlaybackRate self val = liftDOM (self ^. jss "defaultPlaybackRate" (toJSVal val)) -- | getDefaultPlaybackRate :: (MonadDOM m) => MediaController -> m Double getDefaultPlaybackRate self = liftDOM ((self ^. js "defaultPlaybackRate") >>= valToNumber) -- | setPlaybackRate :: (MonadDOM m) => MediaController -> Double -> m () setPlaybackRate self val = liftDOM (self ^. jss "playbackRate" (toJSVal val)) -- | getPlaybackRate :: (MonadDOM m) => MediaController -> m Double getPlaybackRate self = liftDOM ((self ^. js "playbackRate") >>= valToNumber) -- | setVolume :: (MonadDOM m) => MediaController -> Double -> m () setVolume self val = liftDOM (self ^. jss "volume" (toJSVal val)) -- | getVolume :: (MonadDOM m) => MediaController -> m Double getVolume self = liftDOM ((self ^. js "volume") >>= valToNumber) -- | setMuted :: (MonadDOM m) => MediaController -> Bool -> m () setMuted self val = liftDOM (self ^. jss "muted" (toJSVal val)) -- | getMuted :: (MonadDOM m) => MediaController -> m Bool getMuted self = liftDOM ((self ^. js "muted") >>= valToBool)