{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE OverloadedStrings #-}
module AcousticBrainz.HighLevel.Dortmund where
import AcousticBrainz.FiniteDistribution
import Data.Aeson
import Data.Aeson.Types
data Genre = Alternative | Blues | Electronic | FolkCountry | FunkSoulRnB | Jazz | Pop | Raphiphop | Rock
deriving(Eq, Ord, Read, Show)
instance FromJSON (FiniteDistribution Genre) where
parseJSON = parseFiniteDistribution
[(Alternative, "alternative")
, (Blues, "blues")
, (Electronic, "electronic")
, (FolkCountry, "folkcountry")
, (FunkSoulRnB, "funksoulrnb")
, (Jazz, "jazz")
, (Pop, "pop")
, (Raphiphop, "raphiphop")
, (Rock, "rock")
]