module Mpv ( -- * Introduction -- $intro -- * Effects module Mpv.Effect.Mpv, module Mpv.Effect.VideoPlayer, -- * Interpreters withMpvServer, interpretMpvClient, interpretVideoPlayer, interpretVideoPlayerServer, -- * Misc MpvError(MpvError), MpvEvent(MpvEvent), MpvEventConsumer, Event, EventName, ) where import Mpv.Data.Event (Event) import Mpv.Data.EventName (EventName) import Mpv.Data.MpvError (MpvError (MpvError)) import Mpv.Data.MpvEvent (MpvEvent (MpvEvent), MpvEventConsumer) import Mpv.Effect.Mpv (Mpv) import Mpv.Effect.VideoPlayer ( VideoPlayer, addAudioDelay, addSubDelay, adjustVolumeBy, audioDelay, audios, current, duration, expired, info, load, pause, progress, seek, setAudio, setAudioDelay, setSubDelay, setSubFps, setSubtitle, setVolume, stop, subDelay, subFps, subtitles, volume, ) import Mpv.Interpreter.MpvServer (interpretMpvClient, withMpvServer) import Mpv.Interpreter.VideoPlayer (interpretVideoPlayer, interpretVideoPlayerServer) -- $intro -- This is an implementation of an [mpv](https://mpv.io) client using its -- [JSON IPC API](https://mpv.io/manual/master/#json-ipc), built with [https://hackage.haskell.org/package/polysemy].