{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE OverloadedStrings #-}
module AcousticBrainz.HighLevel.ISMIR04Rhythm where
import AcousticBrainz.FiniteDistribution
import Data.Aeson
import Data.Aeson.Types
data Genre = ChaChaCha | Jive | Quickstep | RumbaAmerican | RumbaInternational | RumbaMisc | Samba | Tango | VienneseWaltz | Waltz
deriving(Eq, Ord, Read, Show)
instance FromJSON (FiniteDistribution Genre) where
parseJSON = parseFiniteDistribution
[ (ChaChaCha, "ChaChaCha")
, (Jive, "Jive")
, (Quickstep, "Quickstep")
, (RumbaAmerican, "Rumba-American")
, (RumbaInternational, "Rumba-International")
, (RumbaMisc, "Rumba-Misc")
, (Samba, "Samba")
, (VienneseWaltz, "VienneseWaltz")
, (Waltz, "Waltz")
]