freesound 0.0.1 → 0.0.2
raw patch · 3 files changed
+24/−3 lines, 3 filessetup-changed
Files
- Setup.hs +2/−0
- Sound/Freesound/Sample.hs +20/−0
- freesound.cabal +2/−3
Setup.hs view
@@ -1,2 +1,4 @@+#!/usr/bin/env runhaskell+ import Distribution.Simple main = defaultMain
+ Sound/Freesound/Sample.hs view
@@ -0,0 +1,20 @@+module Sound.Freesound.Sample (+ Sample(..),+ fromXML, listFromXML+) where++import Data.Maybe (mapMaybe)+import Sound.Freesound.Util+import qualified Text.XML.Light as XML++-- | A handle to a sample in the database.+newtype Sample = Sample { sampleId :: Int }+ deriving (Eq, Ord, Read, Show)++-- | Read a 'Sample' from an 'XML.Element'.+fromXML :: XML.Element -> Maybe Sample+fromXML e = Sample `fmap` (findAttr "id" e >>= readMaybe)++-- | Read a list of 'Sample's from an 'XML.Element'.+listFromXML :: XML.Element -> [Sample]+listFromXML = mapMaybe fromXML . findChildren "sample"
freesound.cabal view
@@ -1,5 +1,5 @@ name: freesound-version: 0.0.1+version: 0.0.2 synopsis: Access the Freesound Project database description: Access the Freesound Project database. The Freesound Project is a collaborative database of Creative Commons@@ -24,6 +24,7 @@ exposed-modules: Sound.Freesound Sound.Freesound.Properties Sound.Freesound.Query+ Sound.Freesound.Sample other-modules: Sound.Freesound.URL Sound.Freesound.Util build-depends: base >= 3,@@ -35,8 +36,6 @@ xml == 1.3.* extensions: GeneralizedNewtypeDeriving- - ghc-options: -O2 -funbox-strict-fields executable freesound hs-source-dirs: ., freesound