module GHCJS.DOM.JSFFI.Generated.AudioBufferSourceNode
(js_start, start, js_stop, stop, js_noteOn, noteOn, js_noteGrainOn,
noteGrainOn, js_noteOff, noteOff, pattern UNSCHEDULED_STATE,
pattern SCHEDULED_STATE, pattern PLAYING_STATE,
pattern FINISHED_STATE, js_setBuffer, setBuffer, js_getBuffer,
getBuffer, getBufferUnsafe, getBufferUnchecked,
js_getPlaybackState, getPlaybackState, js_getGain, getGain,
getGainUnsafe, getGainUnchecked, js_getPlaybackRate,
getPlaybackRate, getPlaybackRateUnsafe, getPlaybackRateUnchecked,
js_setLoop, setLoop, js_getLoop, getLoop, js_setLoopStart,
setLoopStart, js_getLoopStart, getLoopStart, js_setLoopEnd,
setLoopEnd, js_getLoopEnd, getLoopEnd, js_setLooping, setLooping,
js_getLooping, getLooping, ended, AudioBufferSourceNode(..),
gTypeAudioBufferSourceNode)
where
import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, fmap, Show, Read, Eq, Ord)
import qualified Prelude (error)
import Data.Typeable (Typeable)
import GHCJS.Types (JSVal(..), JSString)
import GHCJS.Foreign (jsNull)
import GHCJS.Foreign.Callback (syncCallback, asyncCallback, syncCallback1, asyncCallback1, syncCallback2, asyncCallback2, OnBlocked(..))
import GHCJS.Marshal (ToJSVal(..), FromJSVal(..))
import GHCJS.Marshal.Pure (PToJSVal(..), PFromJSVal(..))
import Control.Monad (void)
import Control.Monad.IO.Class (MonadIO(..))
import Data.Int (Int64)
import Data.Word (Word, Word64)
import Data.Maybe (fromJust)
import GHCJS.DOM.Types
import Control.Applicative ((<$>))
import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName)
import GHCJS.DOM.JSFFI.Generated.Enums
foreign import javascript unsafe "$1[\"start\"]($2, $3, $4)"
js_start ::
AudioBufferSourceNode -> Double -> Double -> Double -> IO ()
start ::
(MonadIO m) =>
AudioBufferSourceNode -> Double -> Double -> Double -> m ()
start self when grainOffset grainDuration
= liftIO (js_start (self) when grainOffset grainDuration)
foreign import javascript unsafe "$1[\"stop\"]($2)" js_stop ::
AudioBufferSourceNode -> Double -> IO ()
stop :: (MonadIO m) => AudioBufferSourceNode -> Double -> m ()
stop self when = liftIO (js_stop (self) when)
foreign import javascript unsafe "$1[\"noteOn\"]($2)" js_noteOn ::
AudioBufferSourceNode -> Double -> IO ()
noteOn :: (MonadIO m) => AudioBufferSourceNode -> Double -> m ()
noteOn self when = liftIO (js_noteOn (self) when)
foreign import javascript unsafe "$1[\"noteGrainOn\"]($2, $3, $4)"
js_noteGrainOn ::
AudioBufferSourceNode -> Double -> Double -> Double -> IO ()
noteGrainOn ::
(MonadIO m) =>
AudioBufferSourceNode -> Double -> Double -> Double -> m ()
noteGrainOn self when grainOffset grainDuration
= liftIO (js_noteGrainOn (self) when grainOffset grainDuration)
foreign import javascript unsafe "$1[\"noteOff\"]($2)" js_noteOff
:: AudioBufferSourceNode -> Double -> IO ()
noteOff :: (MonadIO m) => AudioBufferSourceNode -> Double -> m ()
noteOff self when = liftIO (js_noteOff (self) when)
pattern UNSCHEDULED_STATE = 0
pattern SCHEDULED_STATE = 1
pattern PLAYING_STATE = 2
pattern FINISHED_STATE = 3
foreign import javascript unsafe "$1[\"buffer\"] = $2;"
js_setBuffer ::
AudioBufferSourceNode -> Nullable AudioBuffer -> IO ()
setBuffer ::
(MonadIO m) => AudioBufferSourceNode -> Maybe AudioBuffer -> m ()
setBuffer self val
= liftIO (js_setBuffer (self) (maybeToNullable val))
foreign import javascript unsafe "$1[\"buffer\"]" js_getBuffer ::
AudioBufferSourceNode -> IO (Nullable AudioBuffer)
getBuffer ::
(MonadIO m) => AudioBufferSourceNode -> m (Maybe AudioBuffer)
getBuffer self = liftIO (nullableToMaybe <$> (js_getBuffer (self)))
getBufferUnsafe ::
(MonadIO m, HasCallStack) => AudioBufferSourceNode -> m AudioBuffer
getBufferUnsafe self
= liftIO
((nullableToMaybe <$> (js_getBuffer (self))) >>=
maybe (Prelude.error "Nothing to return") return)
getBufferUnchecked ::
(MonadIO m) => AudioBufferSourceNode -> m AudioBuffer
getBufferUnchecked self
= liftIO (fromJust . nullableToMaybe <$> (js_getBuffer (self)))
foreign import javascript unsafe "$1[\"playbackState\"]"
js_getPlaybackState :: AudioBufferSourceNode -> IO Word
getPlaybackState :: (MonadIO m) => AudioBufferSourceNode -> m Word
getPlaybackState self = liftIO (js_getPlaybackState (self))
foreign import javascript unsafe "$1[\"gain\"]" js_getGain ::
AudioBufferSourceNode -> IO (Nullable AudioParam)
getGain ::
(MonadIO m) => AudioBufferSourceNode -> m (Maybe AudioParam)
getGain self = liftIO (nullableToMaybe <$> (js_getGain (self)))
getGainUnsafe ::
(MonadIO m, HasCallStack) => AudioBufferSourceNode -> m AudioParam
getGainUnsafe self
= liftIO
((nullableToMaybe <$> (js_getGain (self))) >>=
maybe (Prelude.error "Nothing to return") return)
getGainUnchecked ::
(MonadIO m) => AudioBufferSourceNode -> m AudioParam
getGainUnchecked self
= liftIO (fromJust . nullableToMaybe <$> (js_getGain (self)))
foreign import javascript unsafe "$1[\"playbackRate\"]"
js_getPlaybackRate ::
AudioBufferSourceNode -> IO (Nullable AudioParam)
getPlaybackRate ::
(MonadIO m) => AudioBufferSourceNode -> m (Maybe AudioParam)
getPlaybackRate self
= liftIO (nullableToMaybe <$> (js_getPlaybackRate (self)))
getPlaybackRateUnsafe ::
(MonadIO m, HasCallStack) => AudioBufferSourceNode -> m AudioParam
getPlaybackRateUnsafe self
= liftIO
((nullableToMaybe <$> (js_getPlaybackRate (self))) >>=
maybe (Prelude.error "Nothing to return") return)
getPlaybackRateUnchecked ::
(MonadIO m) => AudioBufferSourceNode -> m AudioParam
getPlaybackRateUnchecked self
= liftIO
(fromJust . nullableToMaybe <$> (js_getPlaybackRate (self)))
foreign import javascript unsafe "$1[\"loop\"] = $2;" js_setLoop ::
AudioBufferSourceNode -> Bool -> IO ()
setLoop :: (MonadIO m) => AudioBufferSourceNode -> Bool -> m ()
setLoop self val = liftIO (js_setLoop (self) val)
foreign import javascript unsafe "($1[\"loop\"] ? 1 : 0)"
js_getLoop :: AudioBufferSourceNode -> IO Bool
getLoop :: (MonadIO m) => AudioBufferSourceNode -> m Bool
getLoop self = liftIO (js_getLoop (self))
foreign import javascript unsafe "$1[\"loopStart\"] = $2;"
js_setLoopStart :: AudioBufferSourceNode -> Double -> IO ()
setLoopStart ::
(MonadIO m) => AudioBufferSourceNode -> Double -> m ()
setLoopStart self val = liftIO (js_setLoopStart (self) val)
foreign import javascript unsafe "$1[\"loopStart\"]"
js_getLoopStart :: AudioBufferSourceNode -> IO Double
getLoopStart :: (MonadIO m) => AudioBufferSourceNode -> m Double
getLoopStart self = liftIO (js_getLoopStart (self))
foreign import javascript unsafe "$1[\"loopEnd\"] = $2;"
js_setLoopEnd :: AudioBufferSourceNode -> Double -> IO ()
setLoopEnd ::
(MonadIO m) => AudioBufferSourceNode -> Double -> m ()
setLoopEnd self val = liftIO (js_setLoopEnd (self) val)
foreign import javascript unsafe "$1[\"loopEnd\"]" js_getLoopEnd ::
AudioBufferSourceNode -> IO Double
getLoopEnd :: (MonadIO m) => AudioBufferSourceNode -> m Double
getLoopEnd self = liftIO (js_getLoopEnd (self))
foreign import javascript unsafe "$1[\"looping\"] = $2;"
js_setLooping :: AudioBufferSourceNode -> Bool -> IO ()
setLooping :: (MonadIO m) => AudioBufferSourceNode -> Bool -> m ()
setLooping self val = liftIO (js_setLooping (self) val)
foreign import javascript unsafe "($1[\"looping\"] ? 1 : 0)"
js_getLooping :: AudioBufferSourceNode -> IO Bool
getLooping :: (MonadIO m) => AudioBufferSourceNode -> m Bool
getLooping self = liftIO (js_getLooping (self))
ended :: EventName AudioBufferSourceNode Event
ended = unsafeEventName (toJSString "ended")