mpd-current-json-3.0.0.0: Print current MPD song and status as JSON
Safe HaskellNone
LanguageGHC2021

MPD.Current.JSON.Types

Synopsis

Documentation

data Tags Source #

Store the parsed output of getTag.

Each field represents a supported MPD tag.

Maybe is used so OmitNothingFields can skip fields that would otherwise be null in the encoded JSON.

Instances

Instances details
FromJSON Tags Source # 
Instance details

Defined in MPD.Current.JSON.Types

ToJSON Tags Source # 
Instance details

Defined in MPD.Current.JSON.Types

Generic Tags Source # 
Instance details

Defined in MPD.Current.JSON.Types

Associated Types

type Rep Tags 
Instance details

Defined in MPD.Current.JSON.Types

type Rep Tags = D1 ('MetaData "Tags" "MPD.Current.JSON.Types" "mpd-current-json-3.0.0.0-BCXpwJk6XvCDz5RFddSbYW" 'False) (C1 ('MetaCons "Tags" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "artist") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)) :*: (S1 ('MetaSel ('Just "artistSort") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)) :*: S1 ('MetaSel ('Just "album") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)))) :*: (S1 ('MetaSel ('Just "albumSort") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)) :*: (S1 ('MetaSel ('Just "albumArtist") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)) :*: S1 ('MetaSel ('Just "albumArtistSort") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField))))) :*: ((S1 ('MetaSel ('Just "title") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)) :*: (S1 ('MetaSel ('Just "track") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)) :*: S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)))) :*: ((S1 ('MetaSel ('Just "genre") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)) :*: S1 ('MetaSel ('Just "date") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField))) :*: (S1 ('MetaSel ('Just "originalDate") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)) :*: S1 ('MetaSel ('Just "composer") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)))))) :*: (((S1 ('MetaSel ('Just "performer") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)) :*: (S1 ('MetaSel ('Just "conductor") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)) :*: S1 ('MetaSel ('Just "work") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)))) :*: (S1 ('MetaSel ('Just "grouping") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)) :*: (S1 ('MetaSel ('Just "comment") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)) :*: S1 ('MetaSel ('Just "disc") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField))))) :*: ((S1 ('MetaSel ('Just "label") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)) :*: (S1 ('MetaSel ('Just "musicbrainzArtistId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)) :*: S1 ('MetaSel ('Just "musicbrainzAlbumId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)))) :*: ((S1 ('MetaSel ('Just "musicbrainzAlbumartistId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)) :*: S1 ('MetaSel ('Just "musicbrainzTrackId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField))) :*: (S1 ('MetaSel ('Just "musicbrainzReleasetrackId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)) :*: S1 ('MetaSel ('Just "musicbrainzWorkId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField))))))))

Methods

from :: Tags -> Rep Tags x #

to :: Rep Tags x -> Tags #

Show Tags Source # 
Instance details

Defined in MPD.Current.JSON.Types

Methods

showsPrec :: Int -> Tags -> ShowS #

show :: Tags -> String #

showList :: [Tags] -> ShowS #

Eq Tags Source # 
Instance details

Defined in MPD.Current.JSON.Types

Methods

(==) :: Tags -> Tags -> Bool #

(/=) :: Tags -> Tags -> Bool #

type Rep Tags Source # 
Instance details

Defined in MPD.Current.JSON.Types

type Rep Tags = D1 ('MetaData "Tags" "MPD.Current.JSON.Types" "mpd-current-json-3.0.0.0-BCXpwJk6XvCDz5RFddSbYW" 'False) (C1 ('MetaCons "Tags" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "artist") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)) :*: (S1 ('MetaSel ('Just "artistSort") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)) :*: S1 ('MetaSel ('Just "album") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)))) :*: (S1 ('MetaSel ('Just "albumSort") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)) :*: (S1 ('MetaSel ('Just "albumArtist") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)) :*: S1 ('MetaSel ('Just "albumArtistSort") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField))))) :*: ((S1 ('MetaSel ('Just "title") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)) :*: (S1 ('MetaSel ('Just "track") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)) :*: S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)))) :*: ((S1 ('MetaSel ('Just "genre") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)) :*: S1 ('MetaSel ('Just "date") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField))) :*: (S1 ('MetaSel ('Just "originalDate") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)) :*: S1 ('MetaSel ('Just "composer") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)))))) :*: (((S1 ('MetaSel ('Just "performer") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)) :*: (S1 ('MetaSel ('Just "conductor") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)) :*: S1 ('MetaSel ('Just "work") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)))) :*: (S1 ('MetaSel ('Just "grouping") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)) :*: (S1 ('MetaSel ('Just "comment") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)) :*: S1 ('MetaSel ('Just "disc") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField))))) :*: ((S1 ('MetaSel ('Just "label") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)) :*: (S1 ('MetaSel ('Just "musicbrainzArtistId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)) :*: S1 ('MetaSel ('Just "musicbrainzAlbumId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)))) :*: ((S1 ('MetaSel ('Just "musicbrainzAlbumartistId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)) :*: S1 ('MetaSel ('Just "musicbrainzTrackId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField))) :*: (S1 ('MetaSel ('Just "musicbrainzReleasetrackId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField)) :*: S1 ('MetaSel ('Just "musicbrainzWorkId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TagField))))))))

data TagField Source #

Sum type for either a single string or list of strings.

sgGetTag always returns a list of values for the given Metadata, so to make the output JSON only use direct strings vs an array, use this sum type.

Instances

Instances details
FromJSON TagField Source # 
Instance details

Defined in MPD.Current.JSON.Types

ToJSON TagField Source # 
Instance details

Defined in MPD.Current.JSON.Types

Generic TagField Source # 
Instance details

Defined in MPD.Current.JSON.Types

Associated Types

type Rep TagField 
Instance details

Defined in MPD.Current.JSON.Types

type Rep TagField = D1 ('MetaData "TagField" "MPD.Current.JSON.Types" "mpd-current-json-3.0.0.0-BCXpwJk6XvCDz5RFddSbYW" 'False) (C1 ('MetaCons "SingleTagField" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 String)) :+: C1 ('MetaCons "MultiTagField" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [String])))

Methods

from :: TagField -> Rep TagField x #

to :: Rep TagField x -> TagField #

Show TagField Source # 
Instance details

Defined in MPD.Current.JSON.Types

Eq TagField Source # 
Instance details

Defined in MPD.Current.JSON.Types

type Rep TagField Source # 
Instance details

Defined in MPD.Current.JSON.Types

type Rep TagField = D1 ('MetaData "TagField" "MPD.Current.JSON.Types" "mpd-current-json-3.0.0.0-BCXpwJk6XvCDz5RFddSbYW" 'False) (C1 ('MetaCons "SingleTagField" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 String)) :+: C1 ('MetaCons "MultiTagField" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [String])))

data Status Source #

Instances

Instances details
FromJSON Status Source # 
Instance details

Defined in MPD.Current.JSON.Types

ToJSON Status Source # 
Instance details

Defined in MPD.Current.JSON.Types

Generic Status Source # 
Instance details

Defined in MPD.Current.JSON.Types

Associated Types

type Rep Status 
Instance details

Defined in MPD.Current.JSON.Types

type Rep Status = D1 ('MetaData "Status" "MPD.Current.JSON.Types" "mpd-current-json-3.0.0.0-BCXpwJk6XvCDz5RFddSbYW" 'False) (C1 ('MetaCons "Status" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "state") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 MPDPlaybackState) :*: S1 ('MetaSel ('Just "repeat") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "random") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "single") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool))) :*: ((S1 ('MetaSel ('Just "consume") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "duration") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe FractionalSeconds))) :*: (S1 ('MetaSel ('Just "elapsed") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe FractionalSeconds)) :*: S1 ('MetaSel ('Just "elapsedPercent") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Double))))) :*: (((S1 ('MetaSel ('Just "volume") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Int)) :*: S1 ('MetaSel ('Just "audioFormat") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe (Int, Int, Int)))) :*: (S1 ('MetaSel ('Just "bitrate") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Int)) :*: S1 ('MetaSel ('Just "crossfade") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Int)))) :*: ((S1 ('MetaSel ('Just "mixRampDb") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Double)) :*: S1 ('MetaSel ('Just "mixRampDelay") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Double))) :*: (S1 ('MetaSel ('Just "updatingDb") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Int)) :*: S1 ('MetaSel ('Just "error") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe String)))))))

Methods

from :: Status -> Rep Status x #

to :: Rep Status x -> Status #

Show Status Source # 
Instance details

Defined in MPD.Current.JSON.Types

Eq Status Source # 
Instance details

Defined in MPD.Current.JSON.Types

Methods

(==) :: Status -> Status -> Bool #

(/=) :: Status -> Status -> Bool #

type Rep Status Source # 
Instance details

Defined in MPD.Current.JSON.Types

type Rep Status = D1 ('MetaData "Status" "MPD.Current.JSON.Types" "mpd-current-json-3.0.0.0-BCXpwJk6XvCDz5RFddSbYW" 'False) (C1 ('MetaCons "Status" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "state") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 MPDPlaybackState) :*: S1 ('MetaSel ('Just "repeat") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "random") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "single") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool))) :*: ((S1 ('MetaSel ('Just "consume") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "duration") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe FractionalSeconds))) :*: (S1 ('MetaSel ('Just "elapsed") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe FractionalSeconds)) :*: S1 ('MetaSel ('Just "elapsedPercent") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Double))))) :*: (((S1 ('MetaSel ('Just "volume") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Int)) :*: S1 ('MetaSel ('Just "audioFormat") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe (Int, Int, Int)))) :*: (S1 ('MetaSel ('Just "bitrate") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Int)) :*: S1 ('MetaSel ('Just "crossfade") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Int)))) :*: ((S1 ('MetaSel ('Just "mixRampDb") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Double)) :*: S1 ('MetaSel ('Just "mixRampDelay") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Double))) :*: (S1 ('MetaSel ('Just "updatingDb") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Int)) :*: S1 ('MetaSel ('Just "error") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe String)))))))

data Playlist Source #

Constructors

Playlist 

Instances

Instances details
FromJSON Playlist Source # 
Instance details

Defined in MPD.Current.JSON.Types

ToJSON Playlist Source # 
Instance details

Defined in MPD.Current.JSON.Types

Generic Playlist Source # 
Instance details

Defined in MPD.Current.JSON.Types

Associated Types

type Rep Playlist 
Instance details

Defined in MPD.Current.JSON.Types

type Rep Playlist = D1 ('MetaData "Playlist" "MPD.Current.JSON.Types" "mpd-current-json-3.0.0.0-BCXpwJk6XvCDz5RFddSbYW" 'False) (C1 ('MetaCons "Playlist" 'PrefixI 'True) ((S1 ('MetaSel ('Just "position") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Position)) :*: S1 ('MetaSel ('Just "nextPosition") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Position))) :*: (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe MPDId)) :*: (S1 ('MetaSel ('Just "nextId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe MPDId)) :*: S1 ('MetaSel ('Just "length") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int)))))

Methods

from :: Playlist -> Rep Playlist x #

to :: Rep Playlist x -> Playlist #

Show Playlist Source # 
Instance details

Defined in MPD.Current.JSON.Types

Eq Playlist Source # 
Instance details

Defined in MPD.Current.JSON.Types

type Rep Playlist Source # 
Instance details

Defined in MPD.Current.JSON.Types

type Rep Playlist = D1 ('MetaData "Playlist" "MPD.Current.JSON.Types" "mpd-current-json-3.0.0.0-BCXpwJk6XvCDz5RFddSbYW" 'False) (C1 ('MetaCons "Playlist" 'PrefixI 'True) ((S1 ('MetaSel ('Just "position") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Position)) :*: S1 ('MetaSel ('Just "nextPosition") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Position))) :*: (S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe MPDId)) :*: (S1 ('MetaSel ('Just "nextId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe MPDId)) :*: S1 ('MetaSel ('Just "length") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int)))))

data File Source #

Constructors

File 

Fields

Instances

Instances details
FromJSON File Source # 
Instance details

Defined in MPD.Current.JSON.Types

ToJSON File Source # 
Instance details

Defined in MPD.Current.JSON.Types

Generic File Source # 
Instance details

Defined in MPD.Current.JSON.Types

Associated Types

type Rep File 
Instance details

Defined in MPD.Current.JSON.Types

type Rep File = D1 ('MetaData "File" "MPD.Current.JSON.Types" "mpd-current-json-3.0.0.0-BCXpwJk6XvCDz5RFddSbYW" 'False) (C1 ('MetaCons "File" 'PrefixI 'True) (S1 ('MetaSel ('Just "currentFile") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe MPDPath)) :*: S1 ('MetaSel ('Just "nextFile") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe MPDPath))))

Methods

from :: File -> Rep File x #

to :: Rep File x -> File #

Show File Source # 
Instance details

Defined in MPD.Current.JSON.Types

Methods

showsPrec :: Int -> File -> ShowS #

show :: File -> String #

showList :: [File] -> ShowS #

Eq File Source # 
Instance details

Defined in MPD.Current.JSON.Types

Methods

(==) :: File -> File -> Bool #

(/=) :: File -> File -> Bool #

type Rep File Source # 
Instance details

Defined in MPD.Current.JSON.Types

type Rep File = D1 ('MetaData "File" "MPD.Current.JSON.Types" "mpd-current-json-3.0.0.0-BCXpwJk6XvCDz5RFddSbYW" 'False) (C1 ('MetaCons "File" 'PrefixI 'True) (S1 ('MetaSel ('Just "currentFile") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe MPDPath)) :*: S1 ('MetaSel ('Just "nextFile") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe MPDPath))))

data State Source #

Complete MPD State. Where other states will be stored into and JSON encoded.

Constructors

State 

Instances

Instances details
ToJSON State Source #

Custom output for encoded State.

Instance details

Defined in MPD.Current.JSON.Types

Generic State Source # 
Instance details

Defined in MPD.Current.JSON.Types

Associated Types

type Rep State 
Instance details

Defined in MPD.Current.JSON.Types

type Rep State = D1 ('MetaData "State" "MPD.Current.JSON.Types" "mpd-current-json-3.0.0.0-BCXpwJk6XvCDz5RFddSbYW" 'False) (C1 ('MetaCons "State" 'PrefixI 'True) ((S1 ('MetaSel ('Just "mpdFile") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 File) :*: S1 ('MetaSel ('Just "mpdStatus") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Status)) :*: (S1 ('MetaSel ('Just "mpdPlaylist") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Playlist) :*: (S1 ('MetaSel ('Just "mpdTags") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Tags) :*: S1 ('MetaSel ('Just "mpdNextTags") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Tags))))))

Methods

from :: State -> Rep State x #

to :: Rep State x -> State #

Show State Source # 
Instance details

Defined in MPD.Current.JSON.Types

Methods

showsPrec :: Int -> State -> ShowS #

show :: State -> String #

showList :: [State] -> ShowS #

Eq State Source # 
Instance details

Defined in MPD.Current.JSON.Types

Methods

(==) :: State -> State -> Bool #

(/=) :: State -> State -> Bool #

type Rep State Source # 
Instance details

Defined in MPD.Current.JSON.Types

type Rep State = D1 ('MetaData "State" "MPD.Current.JSON.Types" "mpd-current-json-3.0.0.0-BCXpwJk6XvCDz5RFddSbYW" 'False) (C1 ('MetaCons "State" 'PrefixI 'True) ((S1 ('MetaSel ('Just "mpdFile") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 File) :*: S1 ('MetaSel ('Just "mpdStatus") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Status)) :*: (S1 ('MetaSel ('Just "mpdPlaylist") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Playlist) :*: (S1 ('MetaSel ('Just "mpdTags") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Tags) :*: S1 ('MetaSel ('Just "mpdNextTags") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Tags))))))

newtype MPDPath Source #

newtype wrapper for otherwise orphan instance. Address warning GHC-90177.

Constructors

MPDPath Path 

Instances

Instances details
FromJSON MPDPath Source # 
Instance details

Defined in MPD.Current.JSON.Types

ToJSON MPDPath Source # 
Instance details

Defined in MPD.Current.JSON.Types

Generic MPDPath Source # 
Instance details

Defined in MPD.Current.JSON.Types

Associated Types

type Rep MPDPath 
Instance details

Defined in MPD.Current.JSON.Types

type Rep MPDPath = D1 ('MetaData "MPDPath" "MPD.Current.JSON.Types" "mpd-current-json-3.0.0.0-BCXpwJk6XvCDz5RFddSbYW" 'True) (C1 ('MetaCons "MPDPath" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Path)))

Methods

from :: MPDPath -> Rep MPDPath x #

to :: Rep MPDPath x -> MPDPath #

Show MPDPath Source # 
Instance details

Defined in MPD.Current.JSON.Types

Eq MPDPath Source # 
Instance details

Defined in MPD.Current.JSON.Types

Methods

(==) :: MPDPath -> MPDPath -> Bool #

(/=) :: MPDPath -> MPDPath -> Bool #

type Rep MPDPath Source # 
Instance details

Defined in MPD.Current.JSON.Types

type Rep MPDPath = D1 ('MetaData "MPDPath" "MPD.Current.JSON.Types" "mpd-current-json-3.0.0.0-BCXpwJk6XvCDz5RFddSbYW" 'True) (C1 ('MetaCons "MPDPath" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Path)))

newtype MPDPlaybackState Source #

newtype wrapper for otherwise orphan instance. Address warning GHC-90177.

Instances

Instances details
FromJSON MPDPlaybackState Source # 
Instance details

Defined in MPD.Current.JSON.Types

ToJSON MPDPlaybackState Source # 
Instance details

Defined in MPD.Current.JSON.Types

Generic MPDPlaybackState Source # 
Instance details

Defined in MPD.Current.JSON.Types

Associated Types

type Rep MPDPlaybackState 
Instance details

Defined in MPD.Current.JSON.Types

type Rep MPDPlaybackState = D1 ('MetaData "MPDPlaybackState" "MPD.Current.JSON.Types" "mpd-current-json-3.0.0.0-BCXpwJk6XvCDz5RFddSbYW" 'True) (C1 ('MetaCons "MPDPlaybackState" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PlaybackState)))
Show MPDPlaybackState Source # 
Instance details

Defined in MPD.Current.JSON.Types

Eq MPDPlaybackState Source # 
Instance details

Defined in MPD.Current.JSON.Types

type Rep MPDPlaybackState Source # 
Instance details

Defined in MPD.Current.JSON.Types

type Rep MPDPlaybackState = D1 ('MetaData "MPDPlaybackState" "MPD.Current.JSON.Types" "mpd-current-json-3.0.0.0-BCXpwJk6XvCDz5RFddSbYW" 'True) (C1 ('MetaCons "MPDPlaybackState" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PlaybackState)))

newtype MPDId Source #

newtype wrapper for otherwise orphan instance. Address warning GHC-90177.

Constructors

MPDId Id 

Instances

Instances details
FromJSON MPDId Source # 
Instance details

Defined in MPD.Current.JSON.Types

ToJSON MPDId Source # 
Instance details

Defined in MPD.Current.JSON.Types

Generic MPDId Source # 
Instance details

Defined in MPD.Current.JSON.Types

Associated Types

type Rep MPDId 
Instance details

Defined in MPD.Current.JSON.Types

type Rep MPDId = D1 ('MetaData "MPDId" "MPD.Current.JSON.Types" "mpd-current-json-3.0.0.0-BCXpwJk6XvCDz5RFddSbYW" 'True) (C1 ('MetaCons "MPDId" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Id)))

Methods

from :: MPDId -> Rep MPDId x #

to :: Rep MPDId x -> MPDId #

Show MPDId Source # 
Instance details

Defined in MPD.Current.JSON.Types

Methods

showsPrec :: Int -> MPDId -> ShowS #

show :: MPDId -> String #

showList :: [MPDId] -> ShowS #

Eq MPDId Source # 
Instance details

Defined in MPD.Current.JSON.Types

Methods

(==) :: MPDId -> MPDId -> Bool #

(/=) :: MPDId -> MPDId -> Bool #

type Rep MPDId Source # 
Instance details

Defined in MPD.Current.JSON.Types

type Rep MPDId = D1 ('MetaData "MPDId" "MPD.Current.JSON.Types" "mpd-current-json-3.0.0.0-BCXpwJk6XvCDz5RFddSbYW" 'True) (C1 ('MetaCons "MPDId" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Id)))