| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
MPD.Current.JSON.Types
Synopsis
- data Tags = Tags {
- artist :: !(Maybe TagField)
- artistSort :: !(Maybe TagField)
- album :: !(Maybe TagField)
- albumSort :: !(Maybe TagField)
- albumArtist :: !(Maybe TagField)
- albumArtistSort :: !(Maybe TagField)
- title :: !(Maybe TagField)
- track :: !(Maybe TagField)
- name :: !(Maybe TagField)
- genre :: !(Maybe TagField)
- date :: !(Maybe TagField)
- originalDate :: !(Maybe TagField)
- composer :: !(Maybe TagField)
- performer :: !(Maybe TagField)
- conductor :: !(Maybe TagField)
- work :: !(Maybe TagField)
- grouping :: !(Maybe TagField)
- comment :: !(Maybe TagField)
- disc :: !(Maybe TagField)
- label :: !(Maybe TagField)
- musicbrainzArtistId :: !(Maybe TagField)
- musicbrainzAlbumId :: !(Maybe TagField)
- musicbrainzAlbumartistId :: !(Maybe TagField)
- musicbrainzTrackId :: !(Maybe TagField)
- musicbrainzReleasetrackId :: !(Maybe TagField)
- musicbrainzWorkId :: !(Maybe TagField)
- data TagField
- = SingleTagField !String
- | MultiTagField ![String]
- data Status = Status {
- state :: !MPDPlaybackState
- repeat :: !Bool
- random :: !Bool
- single :: !Bool
- consume :: !Bool
- duration :: !(Maybe FractionalSeconds)
- elapsed :: !(Maybe FractionalSeconds)
- elapsedPercent :: !(Maybe Double)
- volume :: !(Maybe Int)
- audioFormat :: !(Maybe (Int, Int, Int))
- bitrate :: !(Maybe Int)
- crossfade :: !(Maybe Int)
- mixRampDb :: !(Maybe Double)
- mixRampDelay :: !(Maybe Double)
- updatingDb :: !(Maybe Int)
- error :: !(Maybe String)
- data Playlist = Playlist {}
- data File = File {}
- data State = State {}
- newtype MPDPath = MPDPath Path
- newtype MPDPlaybackState = MPDPlaybackState PlaybackState
- newtype MPDId = MPDId Id
Documentation
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.
Constructors
| Tags | |
Fields
| |
Instances
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.
Constructors
| SingleTagField !String | |
| MultiTagField ![String] |
Instances
| FromJSON TagField Source # | |||||
Defined in MPD.Current.JSON.Types | |||||
| ToJSON TagField Source # | |||||
| Generic TagField Source # | |||||
Defined in MPD.Current.JSON.Types Associated Types
| |||||
| Show TagField Source # | |||||
| Eq TagField Source # | |||||
| type Rep TagField Source # | |||||
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]))) | |||||
Constructors
| Status | |
Fields
| |
Instances
| FromJSON Status Source # | |||||
Defined in MPD.Current.JSON.Types | |||||
| ToJSON Status Source # | |||||
| Generic Status Source # | |||||
Defined in MPD.Current.JSON.Types Associated Types
| |||||
| Show Status Source # | |||||
| Eq Status Source # | |||||
| type Rep Status Source # | |||||
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))))))) | |||||
Constructors
| Playlist | |
Instances
| FromJSON Playlist Source # | |||||
Defined in MPD.Current.JSON.Types | |||||
| ToJSON Playlist Source # | |||||
| Generic Playlist Source # | |||||
Defined in MPD.Current.JSON.Types Associated Types
| |||||
| Show Playlist Source # | |||||
| Eq Playlist Source # | |||||
| type Rep Playlist Source # | |||||
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))))) | |||||
Constructors
| File | |
Instances
| FromJSON File Source # | |||||
Defined in MPD.Current.JSON.Types | |||||
| ToJSON File Source # | |||||
| Generic File Source # | |||||
Defined in MPD.Current.JSON.Types Associated Types
| |||||
| Show File Source # | |||||
| Eq File Source # | |||||
| type Rep File Source # | |||||
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)))) | |||||
Complete MPD State. Where other states will be stored into and JSON encoded.
Constructors
| State | |
Instances
| ToJSON State Source # | Custom output for encoded | ||||
| Generic State Source # | |||||
Defined in MPD.Current.JSON.Types Associated Types
| |||||
| Show State Source # | |||||
| Eq State Source # | |||||
| type Rep State Source # | |||||
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 wrapper for otherwise orphan instance. Address warning GHC-90177.
Instances
| FromJSON MPDPath Source # | |||||
Defined in MPD.Current.JSON.Types | |||||
| ToJSON MPDPath Source # | |||||
| Generic MPDPath Source # | |||||
Defined in MPD.Current.JSON.Types Associated Types
| |||||
| Show MPDPath Source # | |||||
| Eq MPDPath Source # | |||||
| type Rep MPDPath Source # | |||||
Defined in MPD.Current.JSON.Types | |||||
newtype MPDPlaybackState Source #
newtype wrapper for otherwise orphan instance. Address warning GHC-90177.
Constructors
| MPDPlaybackState PlaybackState |
Instances
| FromJSON MPDPlaybackState Source # | |||||
Defined in MPD.Current.JSON.Types Methods parseJSON :: Value -> Parser MPDPlaybackState # parseJSONList :: Value -> Parser [MPDPlaybackState] # | |||||
| ToJSON MPDPlaybackState Source # | |||||
Defined in MPD.Current.JSON.Types Methods toJSON :: MPDPlaybackState -> Value # toEncoding :: MPDPlaybackState -> Encoding # toJSONList :: [MPDPlaybackState] -> Value # toEncodingList :: [MPDPlaybackState] -> Encoding # omitField :: MPDPlaybackState -> Bool # | |||||
| Generic MPDPlaybackState Source # | |||||
Defined in MPD.Current.JSON.Types Associated Types
Methods from :: MPDPlaybackState -> Rep MPDPlaybackState x # to :: Rep MPDPlaybackState x -> MPDPlaybackState # | |||||
| Show MPDPlaybackState Source # | |||||
Defined in MPD.Current.JSON.Types Methods showsPrec :: Int -> MPDPlaybackState -> ShowS # show :: MPDPlaybackState -> String # showList :: [MPDPlaybackState] -> ShowS # | |||||
| Eq MPDPlaybackState Source # | |||||
Defined in MPD.Current.JSON.Types Methods (==) :: MPDPlaybackState -> MPDPlaybackState -> Bool # (/=) :: MPDPlaybackState -> MPDPlaybackState -> Bool # | |||||
| type Rep MPDPlaybackState Source # | |||||
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 wrapper for otherwise orphan instance. Address warning GHC-90177.