Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data Mpv :: Effect
- data VideoPlayer (meta :: Type) :: Effect
- current :: forall meta r. MemberWithError (VideoPlayer meta) r => Sem r (Maybe meta)
- load :: forall meta r. MemberWithError (VideoPlayer meta) r => meta -> Path Abs File -> Sem r ()
- pause :: forall meta r. MemberWithError (VideoPlayer meta) r => Sem r PlaybackState
- stop :: forall meta r. MemberWithError (VideoPlayer meta) r => Sem r ()
- seek :: forall meta r. MemberWithError (VideoPlayer meta) r => Double -> SeekFlags -> Sem r ()
- info :: forall meta r. MemberWithError (VideoPlayer meta) r => Sem r MpvInfo
- subtitles :: forall meta r. MemberWithError (VideoPlayer meta) r => Sem r Subtitles
- setSubtitle :: forall meta r. MemberWithError (VideoPlayer meta) r => SubtitleId -> Sem r ()
- subDelay :: forall meta r. MemberWithError (VideoPlayer meta) r => Sem r SubDelay
- setSubDelay :: forall meta r. MemberWithError (VideoPlayer meta) r => SubDelay -> Sem r ()
- addSubDelay :: forall meta r. MemberWithError (VideoPlayer meta) r => SubDelay -> Sem r SubDelay
- subFps :: forall meta r. MemberWithError (VideoPlayer meta) r => Sem r SubFps
- setSubFps :: forall meta r. MemberWithError (VideoPlayer meta) r => SubFps -> Sem r ()
- volume :: forall meta r. MemberWithError (VideoPlayer meta) r => Sem r Volume
- setVolume :: forall meta r. MemberWithError (VideoPlayer meta) r => Volume -> Sem r ()
- adjustVolumeBy :: forall meta r. MemberWithError (VideoPlayer meta) r => Volume -> Sem r Volume
- audios :: forall meta r. MemberWithError (VideoPlayer meta) r => Sem r AudioTracks
- setAudio :: forall meta r. MemberWithError (VideoPlayer meta) r => AudioId -> Sem r ()
- audioDelay :: forall meta r. MemberWithError (VideoPlayer meta) r => Sem r AudioDelay
- setAudioDelay :: forall meta r. MemberWithError (VideoPlayer meta) r => AudioDelay -> Sem r ()
- addAudioDelay :: forall meta r. MemberWithError (VideoPlayer meta) r => AudioDelay -> Sem r AudioDelay
- duration :: forall meta r. MemberWithError (VideoPlayer meta) r => Sem r VideoDuration
- progress :: forall meta r. MemberWithError (VideoPlayer meta) r => Sem r VideoProgress
- expired :: forall meta r. MemberWithError (VideoPlayer meta) r => Sem r VideoExpired
- withMpvServer :: Members [Reader MpvProcessConfig, Time t d, Log, Resource, Race, Async, Embed IO, Final IO] r => InterpretersFor [MpvServer Command !! MpvError, ChanConsumer MpvEvent] r
- interpretMpvClient :: Members [MpvServer Command !! MpvError, EventConsumer token MpvEvent, Log, Resource, Async, Race] r => InterpreterFor (Mpv !! MpvError) r
- interpretVideoPlayer :: forall meta token r. Members [MpvServer Command !! MpvError, EventConsumer token MpvEvent, Log, Resource, Async, Race, Embed IO] r => InterpretersFor [VideoPlayer meta !! MpvError, Mpv !! MpvError] r
- interpretVideoPlayerServer :: Members [Reader MpvProcessConfig, Log, Resource, Async, Race, Time t d, Embed IO, Final IO] r => InterpretersFor [VideoPlayer meta !! MpvError, Mpv !! MpvError, ChanConsumer MpvEvent] r
- data MpvError = MpvError Text
- data MpvEvent = MpvEvent EventName (Some Event)
- type MpvEventConsumer = ChanConsumer MpvEvent
- data Event (name :: EventName)
- data EventName
Introduction
This is an implementation of an mpv client using its JSON IPC API, built with [https:/hackage.haskell.orgpackage/polysemy].
Effects
Instances
type DefiningModule Mpv Source # | |
Defined in Mpv.Effect.Mpv |
data VideoPlayer (meta :: Type) :: Effect Source #
Instances
type DefiningModule VideoPlayer Source # | |
Defined in Mpv.Effect.VideoPlayer |
current :: forall meta r. MemberWithError (VideoPlayer meta) r => Sem r (Maybe meta) Source #
load :: forall meta r. MemberWithError (VideoPlayer meta) r => meta -> Path Abs File -> Sem r () Source #
pause :: forall meta r. MemberWithError (VideoPlayer meta) r => Sem r PlaybackState Source #
stop :: forall meta r. MemberWithError (VideoPlayer meta) r => Sem r () Source #
seek :: forall meta r. MemberWithError (VideoPlayer meta) r => Double -> SeekFlags -> Sem r () Source #
info :: forall meta r. MemberWithError (VideoPlayer meta) r => Sem r MpvInfo Source #
subtitles :: forall meta r. MemberWithError (VideoPlayer meta) r => Sem r Subtitles Source #
setSubtitle :: forall meta r. MemberWithError (VideoPlayer meta) r => SubtitleId -> Sem r () Source #
subDelay :: forall meta r. MemberWithError (VideoPlayer meta) r => Sem r SubDelay Source #
setSubDelay :: forall meta r. MemberWithError (VideoPlayer meta) r => SubDelay -> Sem r () Source #
addSubDelay :: forall meta r. MemberWithError (VideoPlayer meta) r => SubDelay -> Sem r SubDelay Source #
subFps :: forall meta r. MemberWithError (VideoPlayer meta) r => Sem r SubFps Source #
setSubFps :: forall meta r. MemberWithError (VideoPlayer meta) r => SubFps -> Sem r () Source #
volume :: forall meta r. MemberWithError (VideoPlayer meta) r => Sem r Volume Source #
setVolume :: forall meta r. MemberWithError (VideoPlayer meta) r => Volume -> Sem r () Source #
adjustVolumeBy :: forall meta r. MemberWithError (VideoPlayer meta) r => Volume -> Sem r Volume Source #
audios :: forall meta r. MemberWithError (VideoPlayer meta) r => Sem r AudioTracks Source #
setAudio :: forall meta r. MemberWithError (VideoPlayer meta) r => AudioId -> Sem r () Source #
audioDelay :: forall meta r. MemberWithError (VideoPlayer meta) r => Sem r AudioDelay Source #
setAudioDelay :: forall meta r. MemberWithError (VideoPlayer meta) r => AudioDelay -> Sem r () Source #
addAudioDelay :: forall meta r. MemberWithError (VideoPlayer meta) r => AudioDelay -> Sem r AudioDelay Source #
duration :: forall meta r. MemberWithError (VideoPlayer meta) r => Sem r VideoDuration Source #
progress :: forall meta r. MemberWithError (VideoPlayer meta) r => Sem r VideoProgress Source #
expired :: forall meta r. MemberWithError (VideoPlayer meta) r => Sem r VideoExpired Source #
Interpreters
withMpvServer :: Members [Reader MpvProcessConfig, Time t d, Log, Resource, Race, Async, Embed IO, Final IO] r => InterpretersFor [MpvServer Command !! MpvError, ChanConsumer MpvEvent] r Source #
interpretMpvClient :: Members [MpvServer Command !! MpvError, EventConsumer token MpvEvent, Log, Resource, Async, Race] r => InterpreterFor (Mpv !! MpvError) r Source #
interpretVideoPlayer :: forall meta token r. Members [MpvServer Command !! MpvError, EventConsumer token MpvEvent, Log, Resource, Async, Race, Embed IO] r => InterpretersFor [VideoPlayer meta !! MpvError, Mpv !! MpvError] r Source #
interpretVideoPlayerServer :: Members [Reader MpvProcessConfig, Log, Resource, Async, Race, Time t d, Embed IO, Final IO] r => InterpretersFor [VideoPlayer meta !! MpvError, Mpv !! MpvError, ChanConsumer MpvEvent] r Source #
Misc
Instances
FromJSON MpvEvent Source # | |
ToJSON MpvEvent Source # | |
Defined in Mpv.Data.MpvEvent | |
Generic MpvEvent Source # | |
Show MpvEvent Source # | |
Eq MpvEvent Source # | |
type Rep MpvEvent Source # | |
Defined in Mpv.Data.MpvEvent type Rep MpvEvent = D1 ('MetaData "MpvEvent" "Mpv.Data.MpvEvent" "mpv-0.1.0.0-JpycyfjAFzQI1mqEzHeqWy" 'False) (C1 ('MetaCons "MpvEvent" 'PrefixI 'True) (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 EventName) :*: S1 ('MetaSel ('Just "payload") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Some Event)))) |
type MpvEventConsumer = ChanConsumer MpvEvent Source #
Instances
FromJSON EventName Source # | |
ToJSON EventName Source # | |
Defined in Mpv.Data.EventName | |
Generic EventName Source # | |
Show EventName Source # | |
Eq EventName Source # | |
GEq Event Source # | |
GShow Event Source # | |
Defined in Mpv.Data.Event gshowsPrec :: forall (a :: k). Int -> Event a -> ShowS # | |
ToJSON (Some Event) Source # | |
type Rep EventName Source # | |
Defined in Mpv.Data.EventName type Rep EventName = D1 ('MetaData "EventName" "Mpv.Data.EventName" "mpv-0.1.0.0-JpycyfjAFzQI1mqEzHeqWy" 'False) ((C1 ('MetaCons "FileLoaded" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "EndFile" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Pause" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Unknown" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Other" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text))))) |