Next: Introduction, Previous: (dir), Up: (dir) [Contents][Index]
This is the cl-lastfm Reference Manual, version 0.1, generated automatically by Declt version 3.0 "Montgomery Scott" on Tue Dec 22 12:28:03 2020 GMT+0.
• Introduction | What cl-lastfm is all about | |
• Systems | The systems documentation | |
• Modules | The modules documentation | |
• Files | The files documentation | |
• Packages | The packages documentation | |
• Definitions | The symbols documentation | |
• Indexes | Concepts, functions, variables and data types |
A Common Lisp wrapper around Last.fm 2.0 web service.
Add the projet and load it using Quicklisp:
CL-USER> (push #p"/projects/cl-lastfm/" asdf:*central-registry*)
CL-USER> (ql:quickload "cl-lastfm")
Fork, hack and run unit tests:
CL-USER> (setq lisp-unit:*print-failures* t)
CL-USER> (setq lisp-unit:*print-errors* t)
CL-USER> (setq lisp-unit:*print-summary* t)
CL-USER> (setf cl-lastfm-test::*api-key* "xxxx")
CL-USER> (lisp-unit:run-tests :all :cl-lastfm-test)
Get a LastFM API Key and make some requests:
CL-USER> (setq *api-key* "xxxxx")
CL-USER> (cl-lastfm:artist-get-info *api-key* :artist-name "U2")
The Last.fm Web Services API is described here :
http://www.lastfm.fr/api
cl-lastfm implements theses features :
[ ] album.addTags
[x] album.getInfo
[ ] album.getTags
[ ] album.removeTag
[x] album.search
[ ] artist.addTags
[x] artist.getEvents
[x] artist.getInfo
[x] artist.getSimilar
[ ] artist.getTags
[x] artist.getTopAlbums
[x] artist.getTopFans
[x] artist.getTopTags
[x] artist.getTopTracks
[ ] artist.removeTag
[x] artist.search
[ ] artist.share
[ ] auth.getMobileSession
[ ] auth.getSession
[ ] auth.getToken
[ ] auth.getWebSession
[ ] event.attend
[x] event.getInfo
[ ] event.getShouts
[ ] event.share
[x] geo.getEvents
[x] geo.getTopArtists
[x] geo.getTopTracks
[x] group.getmembers
[x] group.getWeeklyAlbumChart
[x] group.getWeeklyArtistChart
[x] group.getWeeklyChartList
[x] group.getWeeklyTrackChart
[ ] library.addAlbum
[ ] library.addArtist
[ ] library.addTrack
[x] library.getAlbums
[x] library.getArtists
[x] library.getTracks
[ ] playlist.addTrack
[ ] playlist.create
[ ] playlist.fetch
[x] tag.getSimilar
[x] tag.getTopAlbums
[x] tag.getTopArtists
[x] tag.getTopTags
[x] tag.getTopTracks
[x] tag.getWeeklyArtistChart
[x] tag.getWeeklyChartList
[x] tag.search
[x] tasteometer.compare
[ ] track.addTags
[ ] track.ban
[x] track.getInfo
[x] track.getSimilar
[x] track.getTags
[x] track.getTopFans
[x] track.getTopTags
[ ] track.love
[ ] track.removeTag
[x] track.search
[ ] track.share
[x] user.getEvents
[x] user.getFriends
[ ] user.getInfo
[x] user.getLovedTracks
[x] user.getNeighbours
[ ] user.getPastEvents
[ ] user.getPlaylists
[x] user.getRecentTracks
[ ] user.getRecommendedEvents
[x] user.getShouts
[x] user.getTopAlbums
[x] user.getTopArtists
[x] user.getTopTags
[x] user.getTopTracks
[x] user.getWeeklyAlbumChart
[x] user.getWeeklyArtistChart
[x] user.getWeeklyChartList
[x] user.getWeeklyTrackChart
A changelog is available here.
Nicolas Lamirault nicolas.lamirault@gmail.com
Next: Modules, Previous: Introduction, Up: Top [Contents][Index]
The main system appears first, followed by any subsystem dependency.
• The cl-lastfm system |
Nicolas Lamirault <nicolas.lamirault@gmail.com>
Nicolas Lamirault <nicolas.lamirault@gmail.com>
MIT License
Common Lisp wrapper for the Last.fm web service.
0.1
cl-lastfm.asd (file)
src (module)
Modules are listed depth-first from the system components tree.
• The cl-lastfm/src module |
cl-lastfm (system)
src/
Files are sorted by type and then listed depth-first from the systems components trees.
• Lisp files |
Next: The cl-lastfm/src/package․lisp file, Previous: Lisp files, Up: Lisp files [Contents][Index]
cl-lastfm.asd
cl-lastfm (system)
Next: The cl-lastfm/src/conditions․lisp file, Previous: The cl-lastfm․asd file, Up: Lisp files [Contents][Index]
Next: The cl-lastfm/src/specials․lisp file, Previous: The cl-lastfm/src/package․lisp file, Up: Lisp files [Contents][Index]
package.lisp (file)
src (module)
src/conditions.lisp
Next: The cl-lastfm/src/tools․lisp file, Previous: The cl-lastfm/src/conditions․lisp file, Up: Lisp files [Contents][Index]
package.lisp (file)
src (module)
src/specials.lisp
*debug* (special variable)
Next: The cl-lastfm/src/lastfm․lisp file, Previous: The cl-lastfm/src/specials․lisp file, Up: Lisp files [Contents][Index]
src (module)
src/tools.lisp
Previous: The cl-lastfm/src/tools․lisp file, Up: Lisp files [Contents][Index]
tools.lisp (file)
src (module)
src/lastfm.lisp
with-lastfm-stream (macro)
Next: Definitions, Previous: Files, Up: Top [Contents][Index]
Packages are listed by definition order.
• The cl-lastfm package |
Common Lisp wrapper to Last.fm web service.
See more explanation from the @a[http://www.lastfm.fr/api]{website}.
It has been tested under @a[http://www.sbcl.org]{SBCL}
@begin[Albums]{section}
@aboutfun{album-get-info}
@aboutfun{album-search}
@end{section}
@begin[Artists]{section}
@aboutfun{artist-get-events}
@aboutfun{artist-get-info}
@aboutfun{artist-get-similar}
@aboutfun{artist-get-top-albums}
@aboutfun{artist-get-top-fans}
@aboutfun{artist-get-top-tags}
@aboutfun{artist-get-top-tracks}
@aboutfun{artist-search}
@end{section}
@begin[Geo]{section}
@aboutfun{geo-get-events}
@aboutfun{geo-top-artists}
@aboutfun{geo-top-tracks}
@end{section}
@begin[User]{section}
@aboutfun{user-get-events}
@aboutfun{user-get-friends}
@aboutfun{user-get-loved-tracks}
@aboutfun{user-get-neighbours}
@aboutfun{user-get-top-albums}
@aboutfun{user-get-top-artists}
@aboutfun{user-get-top-tags}
@aboutfun{user-get-top-tracks}
@aboutfun{user-get-recent-tracks}
@aboutfun{user-get-shouts}
@aboutfun{user-get-weekly-album-chart}
@aboutfun{user-get-weekly-artist-chart}
@aboutfun{user-get-weekly-chart-list}
@aboutfun{user-get-weekly-track-chart}
@end{section}
@begin[Group]{section}
@aboutfun{group-get-members}
@aboutfun{group-get-weekly-album-chart}
@aboutfun{group-get-weekly-artist-chart}
@aboutfun{group-get-weekly-chart-list}
@aboutfun{group-get-weekly-track-chart}
@end{section}
@begin[Library]{section}
@aboutfun{library-get-albums}
@aboutfun{library-get-artists}
@aboutfun{library-get-tracks}
@end{section}
@begin[Tag]{section}
@aboutfun{tag-get-similar}
@aboutfun{tag-get-similar}
@aboutfun{tag-get-top-albums}
@aboutfun{tag-get-top-artists}
@aboutfun{tag-get-top-tracks}
@aboutfun{tag-get-top-tags}
@aboutfun{tag-get-weekly-artist-chart}
@aboutfun{tag-get-weekly-chart-list}
@aboutfun{tag-search}
@end{section}
@begin[Track]{section}
@aboutfun{track-get-info}
@aboutfun{track-get-similar}
@aboutfun{track-get-top-fans}
@aboutfun{track-get-top-tags}
@aboutfun{track-search}
@end{section}
@begin[Events]{section}
@aboutfun{event-get-info}
@aboutfun{event-get-shouts}
@end{section}
@begin[TasteOMeter]{section}
@aboutfun{tasteometer-compare}
@end{section}
package.lisp (file)
common-lisp
Definitions are sorted by export status, category, package, and then by lexicographic order.
• Exported definitions | ||
• Internal definitions |
Next: Internal definitions, Previous: Definitions, Up: Definitions [Contents][Index]
• Exported special variables | ||
• Exported functions | ||
• Exported generic functions | ||
• Exported conditions |
Next: Exported functions, Previous: Exported definitions, Up: Exported definitions [Contents][Index]
If T activate some logs.
specials.lisp (file)
Next: Exported generic functions, Previous: Exported special variables, Up: Exported definitions [Contents][Index]
@short{Get the metadata for an album on Last.fm using the album name or a
musicbrainz id. See @fun{playlist-fetch} on how to get the album playlist.
This service does not require authentication.}
@arg[api-key]{A Last.fm API key}
@arg[artist-name]{The artist name in question}
@arg[album-name]{The album name in question}
@arg[mbid]{The musicbrainz id for the album}
@arg[lang]{The language to return the biography in, expressed as an
ISO 639 alpha-2 code}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Search for an album by name. Returns album matches sorted by relevance.
This service does not require authentication.}
@arg[api-key]{A Last.fm API key}
@arg[album-name]{The album name in question}
@arg[limit]{Limit the number of albums returned at one time. Default (maximum)
is 30}
@arg[page]{Scan into the results by specifying a page number. Defaults to
first page}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get a list of upcoming events for this artist. Easily integratable
into calendars, using the ical standard.
This service does not require authentication.}
@arg[api-key]{A Last.fm API key}
@arg[artist-name]{The artist name in question}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get the metadata for an artist on Last.fm. Includes biography. .
This service does not require authentication.}
@arg[api-key]{A Last.fm API key}
@arg[artist-name]{The artist name in question}
@arg[mbid]{The musicbrainz id for the artist}
@arg[lang]{The language to return the biography in, expressed as an ISO 639
alpha-2 code}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get all the artists similar to this artist.
This service does not require authentication.}
@arg[api-key]{A Last.fm API key}
@arg[artist-name]{The artist name in question}
@arg[limit]{Limit the number of similar artists returned}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get the top albums for an artist on Last.fm, ordered by popularity.
This service does not require authentication.}
@arg[api-key]{A Last.fm API key}
@arg[artist-name]{The artist name in question}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get the top fans for an artist on Last.fm, based on listening data.
This service does not require authentication.}
@arg[api-key]{A Last.fm API key}
@arg[artist-name]{The artist name in question}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get the top tags for an artist on Last.fm, ordered by popularity.
This service does not require authentication.}
@arg[api-key]{A Last.fm API key}
@arg[artist-name]{The artist name in question}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get the top tracks by an artist on Last.fm, ordered by popularity
This service does not require authentication.}
@arg[api-key]{A Last.fm API key}
@arg[artist-name]{The artist name in question}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Search for an artist by name. Returns artist matches sorted by
relevance.
This service does not require authentication.}
@arg[api-key]{A Last.fm API key}
@arg[artist-name]{The artist name in question}
@arg[limit]{Limit the number of artists returned at one time. Default
(maximum) is 30}
@arg[page]{Scan into the results by specifying a page number. Defaults to
first page}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get the metadata for an event on Last.fm. Includes attendance
and lineup information}
@arg[api_key]{A Last.fm API key}
@arg[eventid]{The numeric Last.fm event id}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get shouts for this event} @arg[api_key]{A Last.fm API key} @arg[eventid]{The numeric Last.fm event id} @see-condition{lastfm-request-error} @return{An XML stream}
lastfm.lisp (file)
@short{Get all events in a specific location by country or city name.
This service does not require authentication}
@arg[api_key]{A Last.fm API key}
@arg[location]{Specifies a location to retrieve events for (service returns
nearby events by default}
@arg[lat]{Specifies a latitude value to retrieve events for (service returns
nearby events by default}
@arg[long]{Specifies a longitude value to retrieve events for (service returns
nearby events by default)}
@arg[page]{Display more results by pagination}
@arg[distance]{Find events within a specified distance}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get the most popular artists on Last.fm by country.
This service does not require authentication}
@arg[api_key]{A Last.fm API key}
@arg[country-name]{A country name, as defined by the ISO 3166-1 country names
standard}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get the most popular tracks on Last.fm by country .
This service does not require authentication}
@arg[api_key]{A Last.fm API key}
@arg[country-name]{A country name, as defined by the ISO 3166-1 country names
standard}
@arg[location]{A metro name, to fetch the charts for (must be within the country
specified)}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get a list of members for this group.
This service does not require authentication}
@arg[api_key]{A Last.fm API key}
@arg[group]{The group name to fetch the members of}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get an album chart for a group, for a given date range. If no date range
is supplied, it will return the most recent album chart for this group.}
@arg[api_key]{A Last.fm API key}
@arg[group]{The last.fm group name to fetch the charts of}
@arg[from]{The date at which the chart should start from}
@arg[to]{The date at which the chart should end on}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get an artist chart for a group, for a given date range. If no date
range is supplied, it will return the most recent album chart for this group}
@arg[api_key]{A Last.fm API key}
@arg[group]{The last.fm group name to fetch the charts of}
@arg[from]{The date at which the chart should start from}
@arg[to]{The date at which the chart should end on}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get a list of available charts for this group, expressed as date
ranges which can be sent to the chart services}
@arg[api_key]{A Last.fm API key}
@arg[group]{The last.fm group name to fetch the charts list for}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get a track chart for a group, for a given date range. If no date
range is supplied, it will return the most recent album chart for this group}
@arg[api_key]{A Last.fm API key}
@arg[group]{The last.fm group name to fetch the charts of}
@arg[from]{The date at which the chart should start from}
@arg[to]{The date at which the chart should end on}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{A paginated list of all the albums in a user’s library, with play
counts and tag counts}
@arg[api_key]{A Last.fm API key}
@arg[user]{The user whose library you want to fetch}
@arg[limit]{Limit the amount of albums returned}
@arg[page]{The page number you wish to scan to}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{A paginated list of all the artists in a user’s library, with play
counts and tag counts}
@arg[api_key]{A Last.fm API key}
@arg[user]{The user whose library you want to fetch}
@arg[limit]{Limit the amount of artists returned}
@arg[page]{The page number you wish to scan to}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{A paginated list of all the tracks in a user’s library, with play
counts and tag counts. }
@arg[api_key]{A Last.fm API key}
@arg[user]{The user whose library you want to fetch}
@arg[limit]{Limit the amount of tracks returned}
@arg[page]{The page number you wish to scan to}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Search for tags similar to this one. Returns tags ranked by
similarity, based on listening data}
@arg[api_key]{A Last.fm API key}
@arg[tag]{The tag name in question}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get the top albums tagged by this tag, ordered by tag count}
@arg[api_key]{A Last.fm API key}
@arg[tag]{The tag name in question}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get the top artists tagged by this tag, ordered by tag count}
@arg[api_key]{A Last.fm API key}
@arg[tag]{The tag name in question}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Fetches the top global tags on Last.fm, sorted by popularity
(number of times used).}
@arg[api_key]{A Last.fm API key}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get the top tracks tagged by this tag, ordered by tag count}
@arg[api_key]{A Last.fm API key}
@arg[tag]{The tag name in question}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get an artist chart for a tag, for a given date range.
If no date range is supplied, it will return the most recent artist chart
for this tag}
@arg[api_key]{A Last.fm API key}
@arg[tag]{The tag name in question}
@arg[from]{The date at which the chart should start from}
@arg[to]{The date at which the chart should end on}
@arg[limit]{The number of chart items to return}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get a list of available charts for this tag, expressed as date
ranges which can be sent to the chart services}
@arg[api_key]{A Last.fm API key}
@arg[tag]{The tag name in question}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Search for a tag by name. Returns matches sorted by relevance}
@arg[api_key]{A Last.fm API key}
@arg[tag]{The tag name in question}
@arg[limit]{Limit the number of tags returned at one time}
@arg[page]{Scan into the results by specifying a page number}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get a Tasteometer score from two inputs, along with a list of
shared artists. If the input is a User or a Myspace URL, some additional
information is returned.}
@arg[api_key]{A Last.fm API key}
@arg[fisrt-type]{Must be user, artists or myspace}
@arg[second-type]{Must be user, artists or myspace}
@arg[first-value]{Must be : Last.fm username or comma-separated artist names
or a MySpace profile URL}
@arg[second-value]{Must be : Last.fm username or comma-separated artist names
or a MySpace profile URL}
@arg[limit]{How many shared artists to display}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get the metadata for a track on Last.fm using the artist/track name
or a musicbrainz id}
@arg[api-key]{A Last.fm API key}
@arg[artist]{The artist name in question}
@arg[track]{The track name in question}
@arg[mbid]{The musicbrainz id for the track}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get the similar tracks for this track on Last.fm, based on
listening data}
@arg[api-key]{A Last.fm API key}
@arg[artist]{The artist name in question}
@arg[track]{The track name in question}
@arg[mbid]{The musicbrainz id for the track}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get the top fans for this track on Last.fm, based on listening data.
Supply either track & artist name or musicbrainz id}
@arg[api-key]{A Last.fm API key}
@arg[artist]{The artist name in question}
@arg[track]{The track name in question}
@arg[mbid]{The musicbrainz id for the track}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get the top tags for this track on Last.fm, ordered by tag count.
Supply either track & artist name or mbid}
@arg[api-key]{A Last.fm API key}
@arg[artist]{The artist name in question}
@arg[track]{The track name in question}
@arg[mbid]{The musicbrainz id for the track}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Search for a track by track name. Returns track matches sorted by
relevance}
@arg[api-key]{A Last.fm API key}
@arg[track]{The track name in question}
@arg[limit]{The number of tracks returned at one time}
@arg[page]{Scan into the results by specifying a page number}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get a list of upcoming events that this user is attending.
Easily integratable into calendars, using the ical standard.
This service does not require authentication}
@arg[api_key]{A Last.fm API key}
@arg[user]{The user to fetch the events for}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get a list of the user’s friends on Last.fm
This service does not require authentication}
@arg[api_key]{A Last.fm API key}
@arg[user]{The last.fm username to fetch the friends of}
@arg[limit]{An integer used to limit the number of friends returned}
@arg[page]{An integer representing the page number to fetch. Defaults to first page}
@arg[recenttracks]{Whether or not to include information about friends’ recent
listening in the response}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get the last 50 tracks loved by a user.
This service does not require authentication}
@arg[api_key]{A Last.fm API key}
@arg[user]{The user name to fetch the loved tracks for}
@arg[limit]{An integer representing the number of results to fetch per page. Defaults to 50}
@arg[page]{An integer representing the page number to fetch. Defaults to first page}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get a list of a user’s neighbours on Last.fm
This service does not require authentication}
@arg[api_key]{A Last.fm API key}
@arg[user]{The last.fm username to fetch the neighbours of}
@arg[limit]{An integer used to limit the number of neighbours returned}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get a list of the recent tracks listened to by this user. Indicates
now playing track if the user is currently listening}
@arg[api_key]{A Last.fm API key}
@arg[user]{The user name to fetch the recent tracks of}
@arg[limit]{An integer used to limit the number of tracks returned}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get shouts for this user} @arg[api_key]{A Last.fm API key} @arg[user]{The user name to fetch shouts for} @see-condition{lastfm-request-error} @return{An XML stream}
lastfm.lisp (file)
@short{Get the top albums listened to by a user. You can stipulate a time
period. Sends the overall chart by default}
@arg[api_key]{A Last.fm API key}
@arg[user]{The user name to fetch top albums for}
@arg[period]{overall | 3month | 6month | 12month - The time period over which
to retrieve top albums for.}
@arg[limit]{The number of results to fetch per page. Defaults to 50}
@arg[page]{The page number to fetch. Defaults to first page}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get the top artists listened to by a user. You can stipulate a time
period. Sends the overall chart by default.}
@arg[api_key]{A Last.fm API key}
@arg[user]{The user name to fetch top artists for}
@arg[period]{overall | 3month | 6month | 12month - The time period over which
to retrieve top albums for.}
@arg[limit]{The number of results to fetch per page. Defaults to 50}
@arg[page]{The page number to fetch. Defaults to first page}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get the top tags used by this user} @arg[api_key]{A Last.fm API key} @arg[user]{The user name} @arg[limit]{The number of tags returned} @see-condition{lastfm-request-error} @return{An XML stream}
lastfm.lisp (file)
@short{Get the top tracks listened to by a user. You can stipulate a time
period. Sends the overall chart by default. }
@arg[api_key]{A Last.fm API key}
@arg[user]{The user name to fetch top tracks for}
@arg[period]{overall | 3month | 6month | 12month - The time period over which
to retrieve top tracks for.}
@arg[limit]{The number of results to fetch per page. Defaults to 50}
@arg[page]{The page number to fetch. Defaults to first page}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get an album chart for a user profile, for a given date range.
If no date range is supplied, it will return the most recent album chart for
this user.}
@arg[api_key]{A Last.fm API key}
@arg[user]{The last.fm username to fetch the charts of}
@arg[from]{The date at which the chart should start from}
@arg[to]{The date at which the chart should end on}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get an artist chart for a user profile, for a given date range.
If no date range is supplied, it will return the most recent artist chart for
this user.}
@arg[api_key]{A Last.fm API key}
@arg[user]{The last.fm username to fetch the charts of}
@arg[from]{The date at which the chart should start from}
@arg[to]{The date at which the chart should end on}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get a list of available charts for this user, expressed as date
ranges which can be sent to the chart services}
@arg[api_key]{A Last.fm API key}
@arg[user]{The last.fm username to fetch the charts list for}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
@short{Get a track chart for a user profile, for a given date range.
If no date range is supplied, it will return the most recent track chart
for this user}
@arg[api_key]{A Last.fm API key}
@arg[user]{The last.fm username to fetch the charts of}
@arg[from]{The date at which the chart should start from}
@arg[to]{The date at which the chart should end on}
@see-condition{lastfm-request-error}
@return{An XML stream}
lastfm.lisp (file)
Next: Exported conditions, Previous: Exported functions, Up: Exported definitions [Contents][Index]
conditions.lisp (file)
conditions.lisp (file)
Previous: Exported generic functions, Up: Exported definitions [Contents][Index]
Main Lastfm error.
conditions.lisp (file)
simple-error (condition)
error-message-of (method)
Explanation message.
:message
error-message-of (generic function)
Lastfm protocol error.
conditions.lisp (file)
lastfm-error (condition)
Condition raised when an invalide request to the
Lastfm web services is performed.
Available codes are :
@pre{
* 2 : Invalid service -This service does not exist
* 3 : Invalid Method - No method with that name in this package
* 4 : Authentication Failed - You do not have permissions to access the service
* 5 : Invalid format - This service doesn’t exist in that format
* 6 : Invalid parameters - Your request is missing a required parameter
* 7 : Invalid resource specified
* 9 : Invalid session key - Please re-authenticate
* 10 : Invalid API key - You must be granted a valid key by last.fm
* 11 : Service Offline - This service is temporarily offline. Try again later.
* 12 : Subscribers Only - This service is only available to paid last.fm subscribers
}
conditions.lisp (file)
lastfm-error (condition)
request-error-code-of (method)
The error code.
:code
request-error-code-of (generic function)
Previous: Exported definitions, Up: Definitions [Contents][Index]
• Internal constants | ||
• Internal special variables | ||
• Internal macros | ||
• Internal functions |
Next: Internal special variables, Previous: Internal definitions, Up: Internal definitions [Contents][Index]
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
The LastFM web service.
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
specials.lisp (file)
Next: Internal macros, Previous: Internal constants, Up: Internal definitions [Contents][Index]
specials.lisp (file)
specials.lisp (file)
Next: Internal functions, Previous: Internal special variables, Up: Internal definitions [Contents][Index]
specials.lisp (file)
Macro which creates an HTTP url, add parameters executing body, and performs the HTTP request defined by uri.
lastfm.lisp (file)
Previous: Internal macros, Up: Internal definitions [Contents][Index]
Extract a LastFM error from a ‘XML’ message. Returns an error code and an error message.
tools.lisp (file)
Get current date in YYYY-MM-DD hh:mm:ss format.
tools.lisp (file)
Get current date in CONTROL-STRING format.
tools.lisp (file)
Get current date in YYYYMMDDHHMMSS format.
tools.lisp (file)
Retreive informations from LastFM Web Service.
‘QUERY’ is the HTTP request.
‘PARAMETERS’ is a list of assoc list which specify HTTP parameters.
‘METHOD’ is the HTTP method used to perform the HTTP call.
tools.lisp (file)
Get the Unix timestamp : seconds since Jan 01 1970.
tools.lisp (file)
URL encode in UTF-8 the sequence.
tools.lisp (file)
Previous: Definitions, Up: Top [Contents][Index]
• Concept index | ||
• Function index | ||
• Variable index | ||
• Data type index |
Next: Function index, Previous: Indexes, Up: Indexes [Contents][Index]
Jump to: | C F L M |
---|
Jump to: | C F L M |
---|
Next: Variable index, Previous: Concept index, Up: Indexes [Contents][Index]
Jump to: | A D E F G L M P R T U W |
---|
Jump to: | A D E F G L M P R T U W |
---|
Next: Data type index, Previous: Function index, Up: Indexes [Contents][Index]
Jump to: | *
+
C M S |
---|
Jump to: | *
+
C M S |
---|
Previous: Variable index, Up: Indexes [Contents][Index]
Jump to: | C L P S |
---|
Jump to: | C L P S |
---|