module Mpv.Data.AudioTrack where

import Polysemy.Time.Json (json)

import Mpv.Data.AudioId (AudioId)

data AudioTrack =
  AudioTrack {
    AudioTrack -> Maybe AudioId
id :: Maybe AudioId,
    AudioTrack -> Bool
selected :: Bool,
    AudioTrack -> Maybe Text
language :: Maybe Text
  }
  deriving stock (AudioTrack -> AudioTrack -> Bool
(AudioTrack -> AudioTrack -> Bool)
-> (AudioTrack -> AudioTrack -> Bool) -> Eq AudioTrack
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioTrack -> AudioTrack -> Bool
$c/= :: AudioTrack -> AudioTrack -> Bool
== :: AudioTrack -> AudioTrack -> Bool
$c== :: AudioTrack -> AudioTrack -> Bool
Eq, Int -> AudioTrack -> ShowS
[AudioTrack] -> ShowS
AudioTrack -> String
(Int -> AudioTrack -> ShowS)
-> (AudioTrack -> String)
-> ([AudioTrack] -> ShowS)
-> Show AudioTrack
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AudioTrack] -> ShowS
$cshowList :: [AudioTrack] -> ShowS
show :: AudioTrack -> String
$cshow :: AudioTrack -> String
showsPrec :: Int -> AudioTrack -> ShowS
$cshowsPrec :: Int -> AudioTrack -> ShowS
Show, (forall x. AudioTrack -> Rep AudioTrack x)
-> (forall x. Rep AudioTrack x -> AudioTrack) -> Generic AudioTrack
forall x. Rep AudioTrack x -> AudioTrack
forall x. AudioTrack -> Rep AudioTrack x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep AudioTrack x -> AudioTrack
$cfrom :: forall x. AudioTrack -> Rep AudioTrack x
Generic)

json ''AudioTrack