-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Access the Freesound Project database -- -- Access the Freesound Project database. The Freesound Project is a -- collaborative database of Creative Commons licensed sounds. -- -- http://www.freesound.org/ -- -- http://www.creativecommons.org/ @package freesound @version 0.3.0 module Sound.Freesound.Comment data Comment Comment :: Text -> Text -> UTCTime -> Comment [username] :: Comment -> Text [comment] :: Comment -> Text [created] :: Comment -> UTCTime instance GHC.Show.Show Sound.Freesound.Comment.Comment instance GHC.Classes.Eq Sound.Freesound.Comment.Comment instance Data.Aeson.Types.Class.FromJSON Sound.Freesound.Comment.Comment module Sound.Freesound.List data List a elems :: List a -> [a] numElems :: List a -> Int previous :: List a -> Maybe (Resource (List a)) next :: List a -> Maybe (Resource (List a)) getPrevious :: FromJSON a => List a -> Freesound (Maybe (List a)) getNext :: FromJSON a => List a -> Freesound (Maybe (List a)) instance GHC.Show.Show a => GHC.Show.Show (Sound.Freesound.List.List a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Sound.Freesound.List.List a) instance Data.Aeson.Types.Class.FromJSON a => Data.Aeson.Types.Class.FromJSON (Sound.Freesound.List.List a) module Sound.Freesound.Bookmark data BookmarkCategory BookmarkCategory :: URI -> Text -> Int -> Resource (List Summary) -> BookmarkCategory [url] :: BookmarkCategory -> URI [name] :: BookmarkCategory -> Text [numSounds] :: BookmarkCategory -> Int [sounds] :: BookmarkCategory -> Resource (List Summary) instance GHC.Show.Show Sound.Freesound.Bookmark.BookmarkCategory instance GHC.Classes.Eq Sound.Freesound.Bookmark.BookmarkCategory instance Data.Aeson.Types.Class.FromJSON Sound.Freesound.Bookmark.BookmarkCategory module Sound.Freesound.Sound newtype SoundId SoundId :: Integer -> SoundId [soundIdToInteger] :: SoundId -> Integer data FileType WAV :: FileType AIFF :: FileType OGG :: FileType MP3 :: FileType FLAC :: FileType -- | Coordinate data GeoTag GeoTag :: Double -> Double -> GeoTag [latitude] :: GeoTag -> Double [longitude] :: GeoTag -> Double class Sound a -- | The sound’s unique identifier. id :: Sound a => a -> SoundId -- | The name user gave to the sound. name :: Sound a => a -> Text -- | An array of tags the user gave to the sound. tags :: Sound a => a -> [Text] -- | The username of the uploader of the sound. username :: Sound a => a -> Text -- | The license under which the sound is available to you. license :: Sound a => a -> License data Summary data Detail -- | The URI for this sound on the Freesound website. url :: Detail -> URI -- | The description the user gave to the sound. description :: Detail -> Text -- | Latitude and longitude of the geotag (only for sounds that have been -- geotagged). geotag :: Detail -> Maybe GeoTag -- | The date of when the sound was uploaded. created :: Detail -> UTCTime -- | The license under which the sound is available to you. sound_license :: Detail -> License -- | The type of sound (wav, aif, mp3, etc.). fileType :: Detail -> FileType -- | The number of channels. channels :: Detail -> Int -- | The size of the file in bytes. filesize :: Detail -> Integer -- | The bit rate of the sound. bitrate :: Detail -> Int -- | The bit depth of the sound. bitdepth :: Detail -> Int -- | The duration of the sound in seconds. duration :: Detail -> Double -- | The samplerate of the sound. samplerate :: Detail -> Int -- | The username of the uploader of the sound. sound_username :: Detail -> Text -- | If the sound is part of a pack, this URI points to that pack’s API -- resource. pack :: Detail -> Maybe (Resource Pack) -- | The URI for retrieving the original sound. download :: Detail -> URI -- | The URI for bookmarking the sound. bookmark :: Detail -> URI -- | Dictionary containing the URIs for mp3 and ogg versions of the sound. -- The dictionary includes the fields preview-hq-mp3 and preview-lq-mp3 -- (for ~128kbps quality and ~64kbps quality mp3 respectively), and -- preview-hq-ogg and preview-lq-ogg (for ~192kbps quality and ~80kbps -- quality ogg respectively). previews :: Detail -> Previews -- | Dictionary including the URIs for spectrogram and waveform -- visualizations of the sound. The dinctionary includes the fields -- waveform_l and waveform_m (for large and medium waveform images -- respectively), and spectral_l and spectral_m (for large and medium -- spectrogram images respectively). images :: Detail -> Images -- | The number of times the sound was downloaded. numDownloads :: Detail -> Integer -- | The average rating of the sound. avgRating :: Detail -> Double -- | The number of times the sound was rated. numRatings :: Detail -> Integer -- | The URI for rating the sound. rate :: Detail -> URI -- | The URI of a paginated list of the comments of the sound. comments :: Detail -> Resource (List Comment) -- | The number of comments. numComments :: Detail -> Integer -- | The URI to comment the sound. comment :: Detail -> URI -- | URI pointing to the similarity resource (to get a list of similar -- sounds). , analysis :: Maybe similarSounds :: Detail -> Resource (List Summary) -- | URI pointing to the complete analysis results of the sound. analysisStats :: Detail -> Resource () -- | The URI for retrieving a JSON file with analysis information for each -- frame of the sound. analysisFrames :: Detail -> Resource () -- | Get a sound by id. soundById :: SoundId -> Freesound Detail -- | Get detailed sound information from its summary. soundDetail :: Summary -> Freesound Detail module Sound.Freesound.Pack data Pack -- | The unique identifier of this pack. id :: Pack -> PackId -- | The URI for this pack on the Freesound website. url :: Pack -> URI -- | The description the user gave to the pack (if any). description :: Pack -> Text -- | The date when the pack was created (e.g. “2014-04-16T20:07:11.145”). created :: Pack -> UTCTime -- | The name user gave to the pack. name :: Pack -> Text -- | Username of the creator of the pack. username :: Pack -> Text -- | The number of sounds in the pack. numSounds :: Pack -> Int -- | The URI for a list of sounds in the pack. sounds :: Pack -> Resource (List Summary) -- | The number of times this pack has been downloaded. numDownloads :: Pack -> Int module Sound.Freesound.User -- | User of the Freesound database. data User User :: URI -> Text -> Maybe Text -> Maybe URI -> Maybe Avatar -> UTCTime -> Int -> Resource (List Summary) -> Int -> Resource (List Pack) -> Int -> Int -> Resource (List BookmarkCategory) -> User -- | The URI for this users' profile on the Freesound website. [url] :: User -> URI -- | The username. [username] :: User -> Text -- | The about text of users' profile (if indicated). [about] :: User -> Maybe Text -- | The URI of users' homepage outside Freesound (if indicated). [homepage] :: User -> Maybe URI -- | The user's avatar image (if indicated). [avatar] :: User -> Maybe Avatar -- | The date when the user joined Freesound. [dateJoined] :: User -> UTCTime -- | The number of sounds uploaded by the user. [numSounds] :: User -> Int -- | The API URI for this user’s sound collection. [sounds] :: User -> Resource (List Summary) -- | The number of packs by the user. [numPacks] :: User -> Int -- | The API URI for this user’s pack collection. [packs] :: User -> Resource (List Pack) -- | The number of forum posts by the user. [numPosts] :: User -> Int -- | The number of comments that user made in other users' sounds. [numComments] :: User -> Int -- | The URI for a list of bookmark categories by the user. [bookmarkCategories] :: User -> Resource (List BookmarkCategory) data Avatar Avatar :: URI -> URI -> URI -> Avatar [small] :: Avatar -> URI [medium] :: Avatar -> URI [large] :: Avatar -> URI -- | Get information about a user by name. getUserByName :: Text -> Freesound User instance GHC.Show.Show Sound.Freesound.User.User instance GHC.Classes.Eq Sound.Freesound.User.User instance GHC.Show.Show Sound.Freesound.User.Avatar instance GHC.Classes.Eq Sound.Freesound.User.Avatar instance Data.Aeson.Types.Class.FromJSON Sound.Freesound.User.Avatar instance Data.Aeson.Types.Class.FromJSON Sound.Freesound.User.User module Sound.Freesound.Search data SortMethod Duration :: SortMethod Created :: SortMethod Downloads :: SortMethod Rating :: SortMethod data SortDirection Ascending :: SortDirection Descending :: SortDirection data Sorting unsorted :: Sorting sortedBy :: SortMethod -> SortDirection -> Sorting data Pagination Pagination :: Int -> Int -> Pagination [page] :: Pagination -> Int [pageSize] :: Pagination -> Int data Filters -- | Sound id on Freesound. id :: Numerical SoundId -> Filters username :: Text -> Filters created :: Text -> Filters originalFilename :: Text -> Filters description :: Text -> Filters tag :: Text -> Filters license :: License -> Filters isRemix :: Bool -> Filters wasRemixed :: Bool -> Filters pack :: Text -> Filters isGeotagged :: Bool -> Filters fileType :: FileType -> Filters -- | Duration of sound in seconds. duration :: Numerical Double -> Filters -- | WARNING is not to be trusted right now. bitdepth :: Numerical Integer -> Filters -- | WARNING is not to be trusted right now. bitrate :: Numerical Integer -> Filters samplerate :: Numerical Integer -> Filters -- | File size in bytes. filesize :: Numerical Integer -> Filters -- | Number of channels in sound, mostly 1 or 2, sometimes more. channels :: Numerical Integer -> Filters -- | 32-byte md5 hash of file. md5 :: Text -> Filters -- | All zero right now (not imported data). numDownloads :: Numerical Integer -> Filters -- | Average rating, from 0 to 5. avgRating :: Numerical Double -> Filters -- | Number of ratings. numRatings :: Numerical Integer -> Filters comment :: Text -> Filters -- | Number of comments. comments :: Numerical Integer -> Filters -- | Numerical constraint. data Numerical a equals :: a -> Numerical a between :: Ord a => a -> a -> Numerical a lessThan :: a -> Numerical a greaterThan :: a -> Numerical a data Query include :: Text -> Query exclude :: Text -> Query (&) :: Query -> Query -> Query search :: Pagination -> Sorting -> Filters -> Query -> Freesound (List Summary) search_ :: Query -> Freesound (List Summary) instance GHC.Show.Show Sound.Freesound.Search.Pagination instance GHC.Classes.Eq Sound.Freesound.Search.Pagination instance GHC.Show.Show Sound.Freesound.Search.Sorting instance GHC.Classes.Eq Sound.Freesound.Search.Sorting instance GHC.Show.Show Sound.Freesound.Search.SortDirection instance GHC.Classes.Eq Sound.Freesound.Search.SortDirection instance GHC.Show.Show Sound.Freesound.Search.SortMethod instance GHC.Classes.Eq Sound.Freesound.Search.SortMethod instance Data.Default.Class.Default Sound.Freesound.Search.Sorting instance Network.HTTP.Types.QueryLike.QueryValueLike Sound.Freesound.Search.Sorting instance Data.Default.Class.Default Sound.Freesound.Search.Pagination instance Network.HTTP.Types.QueryLike.QueryLike Sound.Freesound.Search.Pagination -- | This module provides access to the Freesound Project, a database of -- Creative Commons licensed sounds. -- --
-- ---- import qualified Network.HTTP.Conduit as HTTP --module Sound.Freesound -- | API key required for each call to the Freesound server. data APIKey -- | Construct an API key from a String. apiKeyFromString :: String -> APIKey -- | Freesound API monad for communication with the Freesound server. data Freesound a -- | Perform an API action and return the result. runFreesound :: APIKey -> Freesound a -> IO a -- | Newtype wrapper of Network.URI.URI to avoid orphan instance. data URI -- | Download the data referred to by a URI. download :: URI -> Freesound ByteString -- | Download the data referred to by a URI to a file. downloadToFile :: FilePath -> URI -> Freesound () -- | Resource URI. newtype Resource a Resource :: URI -> Resource a -- | Construct an API uri from path components and a query. resourceURI :: [Text] -> Query -> Resource a -- | Append a query string to a resource URI. appendQuery :: QueryLike a => a -> Resource r -> Resource r -- | Get the resource referred to by a URI. get :: (FromJSON a) => Resource a -> Freesound a -- | Get information about a user by name. getUserByName :: Text -> Freesound User