{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.MediaController
(newMediaController, play, pause, unpause, getBuffered,
getSeekable, getDuration, setCurrentTime, getCurrentTime,
getPaused, getPlayed, 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 Data.Traversable (mapM)
import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, asyncFunction, new, array, jsUndefined, (!), (!!))
import Data.Int (Int64)
import Data.Word (Word, Word64)
import JSDOM.Types
import Control.Applicative ((<$>))
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Enums
newMediaController :: (MonadDOM m) => m MediaController
newMediaController :: forall (m :: * -> *). MonadDOM m => m MediaController
newMediaController
= DOM MediaController -> m MediaController
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSVal -> MediaController
MediaController (JSVal -> MediaController) -> JSM JSVal -> DOM MediaController
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> JSM JSVal -> () -> JSM JSVal
forall constructor args.
(MakeObject constructor, MakeArgs args) =>
constructor -> args -> JSM JSVal
new (String -> JSM JSVal
forall a. ToJSString a => a -> JSM JSVal
jsg String
"MediaController") ())
play :: (MonadDOM m) => MediaController -> m ()
play :: forall (m :: * -> *). MonadDOM m => MediaController -> m ()
play MediaController
self = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (MediaController
self MediaController
-> Getting (JSM JSVal) MediaController (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"play" ()))
pause :: (MonadDOM m) => MediaController -> m ()
pause :: forall (m :: * -> *). MonadDOM m => MediaController -> m ()
pause MediaController
self = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (MediaController
self MediaController
-> Getting (JSM JSVal) MediaController (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"pause" ()))
unpause :: (MonadDOM m) => MediaController -> m ()
unpause :: forall (m :: * -> *). MonadDOM m => MediaController -> m ()
unpause MediaController
self = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (MediaController
self MediaController
-> Getting (JSM JSVal) MediaController (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"unpause" ()))
getBuffered :: (MonadDOM m) => MediaController -> m TimeRanges
getBuffered :: forall (m :: * -> *). MonadDOM m => MediaController -> m TimeRanges
getBuffered MediaController
self
= DOM TimeRanges -> m TimeRanges
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((MediaController
self MediaController
-> Getting (JSM JSVal) MediaController (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MediaController (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"buffered") JSM JSVal -> (JSVal -> DOM TimeRanges) -> DOM TimeRanges
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM TimeRanges
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getSeekable :: (MonadDOM m) => MediaController -> m TimeRanges
getSeekable :: forall (m :: * -> *). MonadDOM m => MediaController -> m TimeRanges
getSeekable MediaController
self
= DOM TimeRanges -> m TimeRanges
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((MediaController
self MediaController
-> Getting (JSM JSVal) MediaController (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MediaController (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"seekable") JSM JSVal -> (JSVal -> DOM TimeRanges) -> DOM TimeRanges
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM TimeRanges
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getDuration :: (MonadDOM m) => MediaController -> m Double
getDuration :: forall (m :: * -> *). MonadDOM m => MediaController -> m Double
getDuration MediaController
self
= DOM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((MediaController
self MediaController
-> Getting (JSM JSVal) MediaController (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MediaController (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"duration") JSM JSVal -> (JSVal -> DOM Double) -> DOM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Double
forall value. ToJSVal value => value -> DOM Double
valToNumber)
setCurrentTime :: (MonadDOM m) => MediaController -> Double -> m ()
setCurrentTime :: forall (m :: * -> *).
MonadDOM m =>
MediaController -> Double -> m ()
setCurrentTime MediaController
self Double
val
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (MediaController
self MediaController
-> Getting (DOM ()) MediaController (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. String
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss String
"currentTime" (Double -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Double
val))
getCurrentTime :: (MonadDOM m) => MediaController -> m Double
getCurrentTime :: forall (m :: * -> *). MonadDOM m => MediaController -> m Double
getCurrentTime MediaController
self
= DOM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((MediaController
self MediaController
-> Getting (JSM JSVal) MediaController (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MediaController (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"currentTime") JSM JSVal -> (JSVal -> DOM Double) -> DOM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Double
forall value. ToJSVal value => value -> DOM Double
valToNumber)
getPaused :: (MonadDOM m) => MediaController -> m Bool
getPaused :: forall (m :: * -> *). MonadDOM m => MediaController -> m Bool
getPaused MediaController
self = DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((MediaController
self MediaController
-> Getting (JSM JSVal) MediaController (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MediaController (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"paused") JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)
getPlayed :: (MonadDOM m) => MediaController -> m TimeRanges
getPlayed :: forall (m :: * -> *). MonadDOM m => MediaController -> m TimeRanges
getPlayed MediaController
self
= DOM TimeRanges -> m TimeRanges
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((MediaController
self MediaController
-> Getting (JSM JSVal) MediaController (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MediaController (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"played") JSM JSVal -> (JSVal -> DOM TimeRanges) -> DOM TimeRanges
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM TimeRanges
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getPlaybackState ::
(MonadDOM m, FromJSString result) => MediaController -> m result
getPlaybackState :: forall (m :: * -> *) result.
(MonadDOM m, FromJSString result) =>
MediaController -> m result
getPlaybackState MediaController
self
= DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((MediaController
self MediaController
-> Getting (JSM JSVal) MediaController (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MediaController (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"playbackState") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
setDefaultPlaybackRate ::
(MonadDOM m) => MediaController -> Double -> m ()
setDefaultPlaybackRate :: forall (m :: * -> *).
MonadDOM m =>
MediaController -> Double -> m ()
setDefaultPlaybackRate MediaController
self Double
val
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (MediaController
self MediaController
-> Getting (DOM ()) MediaController (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. String
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss String
"defaultPlaybackRate" (Double -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Double
val))
getDefaultPlaybackRate ::
(MonadDOM m) => MediaController -> m Double
getDefaultPlaybackRate :: forall (m :: * -> *). MonadDOM m => MediaController -> m Double
getDefaultPlaybackRate MediaController
self
= DOM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((MediaController
self MediaController
-> Getting (JSM JSVal) MediaController (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MediaController (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"defaultPlaybackRate") JSM JSVal -> (JSVal -> DOM Double) -> DOM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Double
forall value. ToJSVal value => value -> DOM Double
valToNumber)
setPlaybackRate ::
(MonadDOM m) => MediaController -> Double -> m ()
setPlaybackRate :: forall (m :: * -> *).
MonadDOM m =>
MediaController -> Double -> m ()
setPlaybackRate MediaController
self Double
val
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (MediaController
self MediaController
-> Getting (DOM ()) MediaController (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. String
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss String
"playbackRate" (Double -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Double
val))
getPlaybackRate :: (MonadDOM m) => MediaController -> m Double
getPlaybackRate :: forall (m :: * -> *). MonadDOM m => MediaController -> m Double
getPlaybackRate MediaController
self
= DOM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((MediaController
self MediaController
-> Getting (JSM JSVal) MediaController (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MediaController (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"playbackRate") JSM JSVal -> (JSVal -> DOM Double) -> DOM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Double
forall value. ToJSVal value => value -> DOM Double
valToNumber)
setVolume :: (MonadDOM m) => MediaController -> Double -> m ()
setVolume :: forall (m :: * -> *).
MonadDOM m =>
MediaController -> Double -> m ()
setVolume MediaController
self Double
val = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (MediaController
self MediaController
-> Getting (DOM ()) MediaController (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. String
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss String
"volume" (Double -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Double
val))
getVolume :: (MonadDOM m) => MediaController -> m Double
getVolume :: forall (m :: * -> *). MonadDOM m => MediaController -> m Double
getVolume MediaController
self = DOM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((MediaController
self MediaController
-> Getting (JSM JSVal) MediaController (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MediaController (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"volume") JSM JSVal -> (JSVal -> DOM Double) -> DOM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Double
forall value. ToJSVal value => value -> DOM Double
valToNumber)
setMuted :: (MonadDOM m) => MediaController -> Bool -> m ()
setMuted :: forall (m :: * -> *). MonadDOM m => MediaController -> Bool -> m ()
setMuted MediaController
self Bool
val = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (MediaController
self MediaController
-> Getting (DOM ()) MediaController (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. String
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss String
"muted" (Bool -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Bool
val))
getMuted :: (MonadDOM m) => MediaController -> m Bool
getMuted :: forall (m :: * -> *). MonadDOM m => MediaController -> m Bool
getMuted MediaController
self = DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((MediaController
self MediaController
-> Getting (JSM JSVal) MediaController (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MediaController (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"muted") JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)