Safe Haskell | None |
---|
- runRdio :: String -> String -> Rdio a -> IO a
- runRdioWithAuth :: String -> String -> Rdio a -> IO a
- type Rdio a = ReaderT Token IO a
- mkExtras :: Show e => [e] -> (String, String)
- runRequest :: (Show v, FromJSON v) => [(String, String)] -> Rdio (Either String v)
- get :: (Show a, FromJSON a) => [String] -> [String] -> Rdio (Either String a)
- getObjectFromShortCode :: (Show a, FromJSON a) => String -> [String] -> Rdio (Either String a)
- getObjectFromUrl :: (Show a, FromJSON a) => String -> [String] -> Rdio (Either String a)
- getAlbumsByUPC :: Int -> [AlbumExtra] -> Rdio (Either String [Album])
- getAlbumsForArtist :: String -> Rdio (Either String [Album])
- getAlbumsForArtist' :: String -> Maybe Bool -> [AlbumExtra] -> Maybe Int -> Maybe Int -> Rdio (Either String [Album])
- getAlbumsForLabel :: String -> Rdio (Either String [Album])
- getAlbumsForLabel' :: String -> [AlbumExtra] -> Maybe Int -> Maybe Int -> Rdio (Either String [Album])
- getArtistsForLabel :: String -> Rdio (Either String [Artist])
- getArtistsForLabel' :: String -> [ArtistExtra] -> Maybe Int -> Maybe Int -> Rdio (Either String [Artist])
- getTracksByISRC :: String -> [TrackExtra] -> Rdio (Either String [Track])
- getTracksForArtist :: String -> Rdio (Either String [Track])
- getTracksForArtist' :: String -> Maybe Bool -> [TrackExtra] -> Maybe Int -> Maybe Int -> Rdio (Either String [Track])
- search :: (Show a, FromJSON a) => String -> String -> Rdio (Either String [a])
- search' :: (Show a, FromJSON a) => String -> String -> Maybe Bool -> Maybe Int -> Maybe Int -> Rdio (Either String [a])
- addToCollection :: [String] -> Rdio (Either String Object)
- getAlbumsForArtistInCollection :: String -> Rdio (Either String [Album])
- getAlbumsForArtistInCollection' :: String -> Maybe String -> [AlbumExtra] -> Maybe String -> Rdio (Either String [Album])
- getAlbumsInCollection :: Rdio (Either String [Album])
- getAlbumsInCollection' :: Maybe String -> Maybe Int -> Maybe Int -> Maybe String -> Maybe String -> [AlbumExtra] -> Rdio (Either String [Album])
- getArtistsInCollection :: Rdio (Either String [Artist])
- getArtistsInCollection' :: Maybe String -> Maybe Int -> Maybe Int -> Maybe String -> Maybe String -> [ArtistExtra] -> Rdio (Either String [Artist])
- getOfflineTracks :: Rdio (Either String [Track])
- getOfflineTracks' :: Maybe Int -> Maybe Int -> [TrackExtra] -> Rdio (Either String [Track])
- getTracksForAlbumInCollection :: String -> Rdio (Either String [Track])
- getTracksForAlbumInCollection' :: String -> Maybe String -> [TrackExtra] -> Rdio (Either String [Track])
- getTracksForArtistInCollection :: String -> Rdio (Either String [Track])
- getTracksForArtistInCollection' :: String -> Maybe String -> [TrackExtra] -> Rdio (Either String [Track])
- getTracksInCollection :: Rdio (Either String [Track])
- getTracksInCollection' :: Maybe String -> Maybe Int -> Maybe Int -> Maybe String -> Maybe String -> [TrackExtra] -> Rdio (Either String [Track])
- removeFromCollection :: [String] -> Rdio (Either String Bool)
- setAvailableOffline :: [String] -> Bool -> Rdio (Either String Object)
- addToPlaylist :: String -> [String] -> [PlaylistExtra] -> Rdio (Either String Playlist)
- createPlaylist :: String -> String -> [String] -> [PlaylistExtra] -> Rdio (Either String Playlist)
- deletePlaylist :: String -> Rdio (Either String Bool)
- getPlaylists :: Rdio (Either String UserPlaylists)
- getPlaylists' :: Maybe String -> [PlaylistExtra] -> Maybe Bool -> Rdio (Either String UserPlaylists)
- getUserPlaylists :: String -> Rdio (Either String [Playlist])
- getUserPlaylists' :: String -> Maybe PlaylistType -> Maybe String -> Maybe Int -> Maybe Int -> [PlaylistExtra] -> Rdio (Either String [Playlist])
- removeFromPlaylist :: String -> Int -> Int -> Int -> [PlaylistExtra] -> Rdio (Either String Playlist)
- setPlaylistCollaborating :: String -> Bool -> Rdio (Either String Bool)
- setPlaylistCollaborationMode :: String -> CollaborationMode -> Rdio (Either String Bool)
- setPlaylistFields :: String -> String -> String -> Rdio (Either String Bool)
- setPlaylistOrder :: String -> [String] -> [PlaylistExtra] -> Rdio (Either String Playlist)
- addFriend :: String -> Rdio (Either String Bool)
- currentUser :: [UserExtra] -> Rdio (Either String User)
- findUserByEmail :: String -> [UserExtra] -> Rdio (Either String User)
- findUserByName :: String -> [UserExtra] -> Rdio (Either String User)
- removeFriend :: String -> Rdio (Either String Bool)
- userFollowers :: String -> Rdio (Either String [User])
- userFollowers' :: String -> Maybe Int -> Maybe Int -> [UserExtra] -> Maybe String -> Rdio (Either String [User])
- userFollowing :: String -> Rdio (Either String [User])
- userFollowing' :: String -> Maybe Int -> Maybe Int -> [UserExtra] -> Maybe String -> Rdio (Either String [User])
- getActivityStream :: String -> Scope -> Rdio (Either String Activity)
- getActivityStream' :: String -> Scope -> Maybe Int -> Maybe Int -> Rdio (Either String Activity)
- getHeavyRotationArtists :: Rdio (Either String [Artist])
- getHeavyRotationArtists' :: Maybe String -> Maybe Bool -> Maybe Int -> Maybe Int -> Maybe Int -> [ArtistExtra] -> Rdio (Either String [Artist])
- getHeavyRotationAlbums :: Rdio (Either String [Album])
- getHeavyRotationAlbums' :: Maybe String -> Maybe Bool -> Maybe Int -> Maybe Int -> Maybe Int -> [AlbumExtra] -> Rdio (Either String [Album])
- getNewReleases :: Rdio (Either String [Album])
- getNewReleases' :: Maybe Timeframe -> Maybe Int -> Maybe Int -> [AlbumExtra] -> Rdio (Either String [Album])
- getTopChartArtists :: Rdio (Either String [Artist])
- getTopChartArtists' :: Maybe Int -> Maybe Int -> [ArtistExtra] -> Rdio (Either String [Artist])
- getTopChartAlbums :: Rdio (Either String [Album])
- getTopChartAlbums' :: Maybe Int -> Maybe Int -> [AlbumExtra] -> Rdio (Either String [Album])
- getTopChartTracks :: Rdio (Either String [Track])
- getTopChartTracks' :: Maybe Int -> Maybe Int -> [TrackExtra] -> Rdio (Either String [Track])
- getTopChartPlaylists :: Rdio (Either String [Playlist])
- getTopChartPlaylists' :: Maybe Int -> Maybe Int -> [PlaylistExtra] -> Rdio (Either String [Playlist])
- getPlaybackToken :: Maybe String -> Rdio (Either String String)
Documentation
runRdioWithAuth :: String -> String -> Rdio a -> IO aSource
Same as runRdio
, but with 3-legged authentication i.e. the user will
| have to authorize your app.
runRequest :: (Show v, FromJSON v) => [(String, String)] -> Rdio (Either String v)Source
Send a arbitrary request to rdio's api. Return type should
| be an instance of FromJSON
, and you need to specify the type. Example:
result <- (runRequest [("method", "getTopCharts"), ("type", "Artist")] :: Rdio (Either String [Artist]))
get :: (Show a, FromJSON a) => [String] -> [String] -> Rdio (Either String a)Source
Takes: [keys], [extras] (optional)
getObjectFromShortCode :: (Show a, FromJSON a) => String -> [String] -> Rdio (Either String a)Source
Takes: short code (everything after the http:rd.iox), [extras] (optional)
getObjectFromUrl :: (Show a, FromJSON a) => String -> [String] -> Rdio (Either String a)Source
Takes: url (everything after http:rdio.com/), [extras] (optional)
getAlbumsByUPC :: Int -> [AlbumExtra] -> Rdio (Either String [Album])Source
Takes: a UPC code, [extras] (optional)
getAlbumsForArtist' :: String -> Maybe Bool -> [AlbumExtra] -> Maybe Int -> Maybe Int -> Rdio (Either String [Album])Source
getAlbumsForLabel' :: String -> [AlbumExtra] -> Maybe Int -> Maybe Int -> Rdio (Either String [Album])Source
getArtistsForLabel' :: String -> [ArtistExtra] -> Maybe Int -> Maybe Int -> Rdio (Either String [Artist])Source
getTracksByISRC :: String -> [TrackExtra] -> Rdio (Either String [Track])Source
Takes: an ISRC code, [extras] (optional)
getTracksForArtist' :: String -> Maybe Bool -> [TrackExtra] -> Maybe Int -> Maybe Int -> Rdio (Either String [Track])Source
search :: (Show a, FromJSON a) => String -> String -> Rdio (Either String [a])Source
Takes: a query, a type ("Artist", "Album", "Track", "Playlist", or "User") This method can return any of those types, so you need to specify what you want returned. Example:
search "Radiohead" "Artist" :: Rdio (Either String [Artist])
search' :: (Show a, FromJSON a) => String -> String -> Maybe Bool -> Maybe Int -> Maybe Int -> Rdio (Either String [a])Source
addToCollection :: [String] -> Rdio (Either String Object)Source
Takes: a list of keys of tracks or playlists. *Requires authentication*.
getAlbumsForArtistInCollection :: String -> Rdio (Either String [Album])Source
Takes: an artist key. Requires authentication OR use getAlbumsForArtistInCollection'
and pass in a user key.
getAlbumsForArtistInCollection' :: String -> Maybe String -> [AlbumExtra] -> Maybe String -> Rdio (Either String [Album])Source
getAlbumsInCollection :: Rdio (Either String [Album])Source
Requires authentication OR use getAlbumsInCollection'
and pass in
a user key.
getAlbumsInCollection' :: Maybe String -> Maybe Int -> Maybe Int -> Maybe String -> Maybe String -> [AlbumExtra] -> Rdio (Either String [Album])Source
getArtistsInCollection :: Rdio (Either String [Artist])Source
Requires authentication OR use getArtistsInCollection'
and pass in
a user key.
getArtistsInCollection' :: Maybe String -> Maybe Int -> Maybe Int -> Maybe String -> Maybe String -> [ArtistExtra] -> Rdio (Either String [Artist])Source
getTracksForAlbumInCollection :: String -> Rdio (Either String [Track])Source
Takes: an album key. Requires authentication OR use getTracksForAlbumInCollection'
and pass in a user key.
getTracksForAlbumInCollection' :: String -> Maybe String -> [TrackExtra] -> Rdio (Either String [Track])Source
getTracksForArtistInCollection :: String -> Rdio (Either String [Track])Source
Takes: an artist key. Requires authentication OR use getTracksForArtistInCollection'
and pass in a user key.
getTracksForArtistInCollection' :: String -> Maybe String -> [TrackExtra] -> Rdio (Either String [Track])Source
getTracksInCollection :: Rdio (Either String [Track])Source
Requires authentication OR use getTracksInCollection'
and pass in
a user key.
getTracksInCollection' :: Maybe String -> Maybe Int -> Maybe Int -> Maybe String -> Maybe String -> [TrackExtra] -> Rdio (Either String [Track])Source
removeFromCollection :: [String] -> Rdio (Either String Bool)Source
Takes: a list of track or playlist keys. Requires authentication.
setAvailableOffline :: [String] -> Bool -> Rdio (Either String Object)Source
Takes: a list of track or playlist keys. Requires authentication.
addToPlaylist :: String -> [String] -> [PlaylistExtra] -> Rdio (Either String Playlist)Source
Takes: a playlist key, a list of track keys to add to the playlist, [extras] (optional). Requires authentication.
createPlaylist :: String -> String -> [String] -> [PlaylistExtra] -> Rdio (Either String Playlist)Source
Takes: a name, a description, a list of track keys to start the playlist with, [extras] (optional). Requires authentication.
deletePlaylist :: String -> Rdio (Either String Bool)Source
Takes: a playlist key. Requires authentication.
getPlaylists :: Rdio (Either String UserPlaylists)Source
Requires authentication OR use getPlaylists'
and pass in a user key.
getPlaylists' :: Maybe String -> [PlaylistExtra] -> Maybe Bool -> Rdio (Either String UserPlaylists)Source
getUserPlaylists :: String -> Rdio (Either String [Playlist])Source
Requires authentication OR use getUserPlaylists'
and pass in a user key.
getUserPlaylists' :: String -> Maybe PlaylistType -> Maybe String -> Maybe Int -> Maybe Int -> [PlaylistExtra] -> Rdio (Either String [Playlist])Source
removeFromPlaylist :: String -> Int -> Int -> Int -> [PlaylistExtra] -> Rdio (Either String Playlist)Source
Takes: - a playlist key
- the index of the first item to remove
- number of tracks to remove
- the keys of the tracks to remove (redundancy to prevent accidental deletion)
- [extras] (optional)
Requires authentication.
setPlaylistCollaborating :: String -> Bool -> Rdio (Either String Bool)Source
Takes: a playlist key, a boolean (true == collaborating, false == not collaborating). Requires authentication.
setPlaylistCollaborationMode :: String -> CollaborationMode -> Rdio (Either String Bool)Source
Takes: a playlist key, a collaboration mode. Requires authentication.
setPlaylistFields :: String -> String -> String -> Rdio (Either String Bool)Source
Takes: a playlist key, a name, a description. Requires authentication.
setPlaylistOrder :: String -> [String] -> [PlaylistExtra] -> Rdio (Either String Playlist)Source
Takes: a playlist key, a list of track keys, [extras] (optional). Requires authentication.
findUserByEmail :: String -> [UserExtra] -> Rdio (Either String User)Source
Takes: an email address, [extras] (optional).
findUserByName :: String -> [UserExtra] -> Rdio (Either String User)Source
Takes: user name, [extras] (optional).
removeFriend :: String -> Rdio (Either String Bool)Source
Takes: a user key. Requires authentication.
userFollowers' :: String -> Maybe Int -> Maybe Int -> [UserExtra] -> Maybe String -> Rdio (Either String [User])Source
userFollowing' :: String -> Maybe Int -> Maybe Int -> [UserExtra] -> Maybe String -> Rdio (Either String [User])Source
getActivityStream :: String -> Scope -> Rdio (Either String Activity)Source
Takes: a user key, a scope.
getActivityStream' :: String -> Scope -> Maybe Int -> Maybe Int -> Rdio (Either String Activity)Source
getHeavyRotationArtists' :: Maybe String -> Maybe Bool -> Maybe Int -> Maybe Int -> Maybe Int -> [ArtistExtra] -> Rdio (Either String [Artist])Source
getHeavyRotationAlbums' :: Maybe String -> Maybe Bool -> Maybe Int -> Maybe Int -> Maybe Int -> [AlbumExtra] -> Rdio (Either String [Album])Source
getNewReleases' :: Maybe Timeframe -> Maybe Int -> Maybe Int -> [AlbumExtra] -> Rdio (Either String [Album])Source
getTopChartArtists' :: Maybe Int -> Maybe Int -> [ArtistExtra] -> Rdio (Either String [Artist])Source