module Sound.Audacity.XML.Attribute where import qualified Sound.Audacity.XML as XML import qualified Text.XML.Basic.Attribute as Attr import qualified Text.XML.Basic.Name.MixedCase as Name string :: String -> (a -> String) -> Attr.T Name.T (a -> String) string = XML.attr bool :: String -> (a -> Bool) -> Attr.T Name.T (a -> String) bool = enum enum :: (Enum b) => String -> (a -> b) -> Attr.T Name.T (a -> String) enum name value = XML.attr name (show . fromEnum . value) int :: String -> (a -> Int) -> Attr.T Name.T (a -> String) int name value = XML.attr name (show . value) float :: String -> (a -> Float) -> Attr.T Name.T (a -> String) float name value = XML.attr name (show . value) double :: String -> (a -> Double) -> Attr.T Name.T (a -> String) double name value = XML.attr name (show . value)