module Mpv.Data.VideoTracks where

import Polysemy.Time.Json (json)

import Mpv.Data.VideoId (VideoId)
import Mpv.Data.VideoTrack (VideoTrack)

data VideoTracks =
  VideoTracks {
    VideoTracks -> Maybe VideoId
active :: Maybe VideoId,
    VideoTracks -> [VideoTrack]
videos :: [VideoTrack]
  }
  deriving stock (VideoTracks -> VideoTracks -> Bool
(VideoTracks -> VideoTracks -> Bool)
-> (VideoTracks -> VideoTracks -> Bool) -> Eq VideoTracks
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VideoTracks -> VideoTracks -> Bool
$c/= :: VideoTracks -> VideoTracks -> Bool
== :: VideoTracks -> VideoTracks -> Bool
$c== :: VideoTracks -> VideoTracks -> Bool
Eq, Int -> VideoTracks -> ShowS
[VideoTracks] -> ShowS
VideoTracks -> String
(Int -> VideoTracks -> ShowS)
-> (VideoTracks -> String)
-> ([VideoTracks] -> ShowS)
-> Show VideoTracks
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [VideoTracks] -> ShowS
$cshowList :: [VideoTracks] -> ShowS
show :: VideoTracks -> String
$cshow :: VideoTracks -> String
showsPrec :: Int -> VideoTracks -> ShowS
$cshowsPrec :: Int -> VideoTracks -> ShowS
Show)

json ''VideoTracks