This is the lastfm Reference Manual, version 0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 06:35:11 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
lastfm
Interface for the Last.fm API (https://www.last.fm/api/)
Mihai Olteanu
GPLv3
0.1
drakma
(system).
plump
(system).
lquery
(system).
defmemo
(system).
alexandria
(system).
ironclad
(system).
trivial-open-browser
(system).
generators
(system).
package.lisp
(file).
lastfm.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
lastfm/lastfm.lisp
package.lisp
(file).
lastfm
(system).
album-getinfo
(function).
album-songs
(function).
artist-getinfo
(function).
artist-getsimilar
(function).
artist-gettopalbums
(function).
artist-gettoptags
(function).
artist-gettoptracks
(function).
artist-search
(function).
artist-similar-artists-songs
(function).
artist-songs
(function).
auth-getsession
(function).
auth-gettoken
(function).
generate-session-key
(function).
my-loved-songs
(function).
random-artist-song
(function).
random-similar-artist
(function).
random-tag-artist
(function).
random-tag-song
(function).
random-user-loved-song
(function).
song-youtube-url
(function).
tag-getinfo
(function).
tag-gettopartists
(function).
tag-gettoptracks
(function).
tag-similar-artists-songs
(function).
tag-songs
(function).
track-love
(function).
track-scrobble
(function).
track-unlove
(function).
user-getlovedtracks
(function).
user-songs
(function).
*api-key*
(special variable).
*base-url*
(special variable).
*methods*
(special variable).
*shared-secret*
(special variable).
*sk*
(special variable).
*username*
(special variable).
add-sk-to-rcfile
(function).
auth-needed-p
(function).
authorize-user
(function).
build-lastfm-function
(function).
build-lastfm-functions
(macro).
config
(function).
create-double-generator
(function).
create-generator
(function).
find-method-entry
(function).
lfm-request
(function).
load-rc-file
(function).
method-name
(function).
method-name-string
(function).
method-parameters
(function).
multi-query-p
(function).
param-value-list
(function).
parameter-string
(function).
parse-request-results
(function).
query-string
(function).
request-method
(function).
request-string
(function).
session-key-p
(function).
sign
(function).
Packages are listed by definition order.
lastfm
common-lisp
.
defmemo
.
drakma
.
generators
.
lquery
.
plump
.
trivial-open-browser
.
album-getinfo
(function).
album-songs
(function).
artist-getinfo
(function).
artist-getsimilar
(function).
artist-gettopalbums
(function).
artist-gettoptags
(function).
artist-gettoptracks
(function).
artist-search
(function).
artist-similar-artists-songs
(function).
artist-songs
(function).
auth-getsession
(function).
auth-gettoken
(function).
generate-session-key
(function).
my-loved-songs
(function).
random-artist-song
(function).
random-similar-artist
(function).
random-tag-artist
(function).
random-tag-song
(function).
random-user-loved-song
(function).
song-youtube-url
(function).
tag-getinfo
(function).
tag-gettopartists
(function).
tag-gettoptracks
(function).
tag-similar-artists-songs
(function).
tag-songs
(function).
track-love
(function).
track-scrobble
(function).
track-unlove
(function).
user-getlovedtracks
(function).
user-songs
(function).
*api-key*
(special variable).
*base-url*
(special variable).
*methods*
(special variable).
*shared-secret*
(special variable).
*sk*
(special variable).
*username*
(special variable).
add-sk-to-rcfile
(function).
auth-needed-p
(function).
authorize-user
(function).
build-lastfm-function
(function).
build-lastfm-functions
(macro).
config
(function).
create-double-generator
(function).
create-generator
(function).
find-method-entry
(function).
lfm-request
(function).
load-rc-file
(function).
method-name
(function).
method-name-string
(function).
method-parameters
(function).
multi-query-p
(function).
param-value-list
(function).
parameter-string
(function).
parse-request-results
(function).
query-string
(function).
request-method
(function).
request-string
(function).
session-key-p
(function).
sign
(function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Return a generator with all the songs on the artist’s album.
Return an infinite songs generator. Every new song is picked by first selecting a random artist from the first nartists similar to the given artist, according to the last.fm info. From this random artist a random song is picked from the first best nsongs according to the last.fm info. When called, the generator returns a list of two items, an artist and a song.
Return an infinite songs generator. If random is T, every new song is picked at random from the artists’ first best nsongs of all time, as seen on the artist’s last.fm page. If random is nil, the songs are picked in order. After the last song, the first song is returned again, ad infinitum.
Fetch a token, and then let the user authorize the application in his browser. Only after the user authorizes the application can the session key fetching continue. Thus, we wait until a return from the breakpoint is signaled by the user. After that, call last.fm again to fetch the session key, save it to the rc-file and reload the rc-file.
Return a generator with the current user loved songs. The username is the one specified in the .lastfmrc config file.
Since there is no youtube link available through the last.fm API, try and get it from the last.fm song’s page.
Return a generator with songs from a user of your choice.
Add the session key to the user config file.
Ask the user to authorize the application.
Create and export a function for the last.fm method and memoize it if it doesn’t need authentication.
This function is called from the user config file once it is loaded.
Load the config file. Create it with empty strings if the file does not exist. The user will have to update this file, otherwise, all calls willl return NIL.
A method name string in the format requested by the Last.fm API parameters
CSS selectors with ’,’ allow retrieving multiple tags in the same request
Build the parameter/value list according to the given method and the user supplied values.
Make the request through the Last.fm API
The signing procedure for authentication needs all the parameters and values lumped together in one big string without equal or ampersand symbols between them, and with the shared secret appended to the end of this string.
Jump to: | A B C F G L M P Q R S T U |
---|
Jump to: | A B C F G L M P Q R S T U |
---|
Jump to: | *
S |
---|
Jump to: | *
S |
---|
Jump to: | F L P S |
---|
Jump to: | F L P S |
---|