MusicBrainz-0.4.1: interface to MusicBrainz XML2 and JSON web services

Safe Haskell | None
Language | Haskell98

Network.Protocol.MusicBrainz.Types

# Documentation

newtype MBID Source #

Constructors

MBID |

Fields

- unMBID :: Text

#### Instances

Instances details

Show MBID Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods showsPrec :: Int -> MBID -> ShowS Source # show :: MBID -> String Source # showList :: [MBID] -> ShowS Source #
Eq MBID Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods (==) :: MBID -> MBID -> Bool Source # (/=) :: MBID -> MBID -> Bool Source #

data Release Source #

Constructors

Release |

Fields

- _releaseId :: MBID
- _releaseTitle :: Text
- _releaseStatus :: Maybe Text
- _releaseQuality :: Maybe Text
- _releasePackaging :: Maybe Text
- _releaseTextRepresentation :: Maybe TextRepresentation
- _releaseArtistCredit :: [ArtistCredit]
- _releaseDate :: Maybe Day
- _releaseCountry :: Maybe Text
- _releaseEvents :: [ReleaseEvent]
- _releaseBarcode :: Maybe Text
- _releaseASIN :: Maybe Text
- _releaseCoverArtArchive :: Maybe CoverArtArchive
- _releaseMedia :: Vector Medium

#### Instances

Instances details

FromJSON Release Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods parseJSON :: Value -> Parser Release Source # parseJSONList :: Value -> Parser [Release] Source # omittedField :: Maybe Release Source #
Show Release Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods showsPrec :: Int -> Release -> ShowS Source # show :: Release -> String Source # showList :: [Release] -> ShowS Source #
Eq Release Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods (==) :: Release -> Release -> Bool Source # (/=) :: Release -> Release -> Bool Source #

data TextRepresentation Source #

Constructors

TextRepresentation |

Fields

- _textRepLanguage :: Maybe Text
- _textRepScript :: Maybe Text

#### Instances

Instances details

FromJSON TextRepresentation Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods parseJSON :: Value -> Parser TextRepresentation Source # parseJSONList :: Value -> Parser [TextRepresentation] Source # omittedField :: Maybe TextRepresentation Source #
Show TextRepresentation Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods showsPrec :: Int -> TextRepresentation -> ShowS Source # show :: TextRepresentation -> String Source # showList :: [TextRepresentation] -> ShowS Source #
Eq TextRepresentation Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods (==) :: TextRepresentation -> TextRepresentation -> Bool Source # (/=) :: TextRepresentation -> TextRepresentation -> Bool Source #

data Medium Source #

Constructors

Medium |

Fields

- _mediumTitle :: Maybe Text
- _mediumPosition :: Maybe Integer
- _mediumFormat :: Maybe Text
- _mediumTrackCount :: Integer
- _mediumTrackOffset :: Maybe Integer
- _mediumTrackList :: Maybe [Track]

#### Instances

Instances details

FromJSON Medium Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods parseJSON :: Value -> Parser Medium Source # parseJSONList :: Value -> Parser [Medium] Source # omittedField :: Maybe Medium Source #
Show Medium Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods showsPrec :: Int -> Medium -> ShowS Source # show :: Medium -> String Source # showList :: [Medium] -> ShowS Source #
Eq Medium Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods (==) :: Medium -> Medium -> Bool Source # (/=) :: Medium -> Medium -> Bool Source #

data Track Source #

Constructors

Track |

Fields

- _trackId :: MBID
- _trackArtistCredit :: [ArtistCredit]
- _trackPosition :: Maybe Integer
- _trackNumber :: Maybe Text
- _trackLength :: Maybe Integer
- _trackRecording :: Recording

#### Instances

Instances details

FromJSON Track Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods parseJSON :: Value -> Parser Track Source # parseJSONList :: Value -> Parser [Track] Source # omittedField :: Maybe Track Source #
Show Track Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods showsPrec :: Int -> Track -> ShowS Source # show :: Track -> String Source # showList :: [Track] -> ShowS Source #
Eq Track Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods (==) :: Track -> Track -> Bool Source # (/=) :: Track -> Track -> Bool Source #

data Recording Source #

Constructors

Recording |

Fields

- _recordingId :: MBID
- _recordingTitle :: Maybe Text
- _recordingLength :: Maybe Integer
- _recordingArtistCredit :: [ArtistCredit]

#### Instances

Instances details

FromJSON Recording Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods parseJSON :: Value -> Parser Recording Source # parseJSONList :: Value -> Parser [Recording] Source # omittedField :: Maybe Recording Source #
Show Recording Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods showsPrec :: Int -> Recording -> ShowS Source # show :: Recording -> String Source # showList :: [Recording] -> ShowS Source #
Eq Recording Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods (==) :: Recording -> Recording -> Bool Source # (/=) :: Recording -> Recording -> Bool Source #

data ArtistCredit Source #

Constructors

ArtistCredit |

Fields

- _artistCreditArtist :: Artist
- _artistCreditJoinPhrase :: Maybe Text
- _artistCreditName :: Maybe Text

#### Instances

Instances details

FromJSON ArtistCredit Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods parseJSON :: Value -> Parser ArtistCredit Source # parseJSONList :: Value -> Parser [ArtistCredit] Source # omittedField :: Maybe ArtistCredit Source #
Show ArtistCredit Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods showsPrec :: Int -> ArtistCredit -> ShowS Source # show :: ArtistCredit -> String Source # showList :: [ArtistCredit] -> ShowS Source #
Eq ArtistCredit Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods (==) :: ArtistCredit -> ArtistCredit -> Bool Source # (/=) :: ArtistCredit -> ArtistCredit -> Bool Source #

data Artist Source #

Constructors

Artist |

Fields

- _artistId :: MBID
- _artistName :: Maybe Text
- _artistSortName :: Maybe Text
- _artistDisambiguation :: Maybe Text

#### Instances

Instances details

FromJSON Artist Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods parseJSON :: Value -> Parser Artist Source # parseJSONList :: Value -> Parser [Artist] Source # omittedField :: Maybe Artist Source #
Show Artist Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods showsPrec :: Int -> Artist -> ShowS Source # show :: Artist -> String Source # showList :: [Artist] -> ShowS Source #
Eq Artist Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods (==) :: Artist -> Artist -> Bool Source # (/=) :: Artist -> Artist -> Bool Source #

data ReleaseGroup Source #

Constructors

ReleaseGroup |

Fields

- _releaseGroupId :: MBID
- _releaseGroupType :: Text
- _releaseGroupTitle :: Maybe Text
- _releaseGroupFirstReleaseDate :: Maybe Text
- _releaseGroupPrimaryType :: Maybe Text
- _releaseGroupArtistCredit :: [ArtistCredit]

#### Instances

Instances details

Show ReleaseGroup Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods showsPrec :: Int -> ReleaseGroup -> ShowS Source # show :: ReleaseGroup -> String Source # showList :: [ReleaseGroup] -> ShowS Source #
Eq ReleaseGroup Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods (==) :: ReleaseGroup -> ReleaseGroup -> Bool Source # (/=) :: ReleaseGroup -> ReleaseGroup -> Bool Source #

data LabelInfo Source #

Constructors

LabelInfo |

Fields

- _labelInfoCatalogNumber :: Maybe Text
- _labelInfoLabel :: Label

#### Instances

Instances details

Show LabelInfo Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods showsPrec :: Int -> LabelInfo -> ShowS Source # show :: LabelInfo -> String Source # showList :: [LabelInfo] -> ShowS Source #
Eq LabelInfo Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods (==) :: LabelInfo -> LabelInfo -> Bool Source # (/=) :: LabelInfo -> LabelInfo -> Bool Source #

data Label Source #

Constructors

Label |

Fields

- _labelId :: MBID
- _labelName :: Maybe Text
- _labelSortName :: Maybe Text
- _labelLabelCode :: Maybe Text

#### Instances

Instances details

Show Label Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods showsPrec :: Int -> Label -> ShowS Source # show :: Label -> String Source # showList :: [Label] -> ShowS Source #
Eq Label Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods (==) :: Label -> Label -> Bool Source # (/=) :: Label -> Label -> Bool Source #

data ReleaseEvent Source #

Constructors

ReleaseEvent |

Fields

- _releaseEventDate :: Maybe Day
- _releaseEventArea :: Maybe Area

#### Instances

Instances details

FromJSON ReleaseEvent Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods parseJSON :: Value -> Parser ReleaseEvent Source # parseJSONList :: Value -> Parser [ReleaseEvent] Source # omittedField :: Maybe ReleaseEvent Source #
Show ReleaseEvent Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods showsPrec :: Int -> ReleaseEvent -> ShowS Source # show :: ReleaseEvent -> String Source # showList :: [ReleaseEvent] -> ShowS Source #
Eq ReleaseEvent Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods (==) :: ReleaseEvent -> ReleaseEvent -> Bool Source # (/=) :: ReleaseEvent -> ReleaseEvent -> Bool Source #

data Area Source #

Constructors

Area |

Fields

- _areaId :: MBID
- _areaName :: Maybe Text
- _areaSortName :: Maybe Text
- _areaISO3166_1Codes :: [ISO3166Code]
- _areaISO3166_2Codes :: [ISO3166Code]
- _areaISO3166_3Codes :: [ISO3166Code]

#### Instances

Instances details

FromJSON Area Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods parseJSON :: Value -> Parser Area Source # parseJSONList :: Value -> Parser [Area] Source # omittedField :: Maybe Area Source #
Show Area Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods showsPrec :: Int -> Area -> ShowS Source # show :: Area -> String Source # showList :: [Area] -> ShowS Source #
Eq Area Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods (==) :: Area -> Area -> Bool Source # (/=) :: Area -> Area -> Bool Source #

newtype ISO3166Code Source #

Constructors

ISO3166Code |

Fields

- unISO3166Code :: Text

#### Instances

Instances details

FromJSON ISO3166Code Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods parseJSON :: Value -> Parser ISO3166Code Source # parseJSONList :: Value -> Parser [ISO3166Code] Source # omittedField :: Maybe ISO3166Code Source #
Show ISO3166Code Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods showsPrec :: Int -> ISO3166Code -> ShowS Source # show :: ISO3166Code -> String Source # showList :: [ISO3166Code] -> ShowS Source #
Eq ISO3166Code Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods (==) :: ISO3166Code -> ISO3166Code -> Bool Source # (/=) :: ISO3166Code -> ISO3166Code -> Bool Source #

data CoverArtArchive Source #

Constructors

CoverArtArchive |

Fields

- _coverArtArchiveArtwork :: Maybe Bool
- _coverArtArchiveCount :: Maybe Integer
- _coverArtArchiveFront :: Maybe Bool
- _coverArtArchiveBack :: Maybe Bool

#### Instances

Instances details

FromJSON CoverArtArchive Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods parseJSON :: Value -> Parser CoverArtArchive Source # parseJSONList :: Value -> Parser [CoverArtArchive] Source # omittedField :: Maybe CoverArtArchive Source #
Show CoverArtArchive Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods showsPrec :: Int -> CoverArtArchive -> ShowS Source # show :: CoverArtArchive -> String Source # showList :: [CoverArtArchive] -> ShowS Source #
Eq CoverArtArchive Source # |
Instance details Defined in Network.Protocol.MusicBrainz.Types Methods (==) :: CoverArtArchive -> CoverArtArchive -> Bool Source # (/=) :: CoverArtArchive -> CoverArtArchive -> Bool Source #