: a Combined Last.fm Player and Ripper

Usage and Screenshots

LastLonger is a console program whose behavior is controlled with both command-line arguments and interactively with the keyboard.

Command-Line Arguments

Usage: lastlonger [options] [channel]

--artist=name, -a name Select this "Similar Artists" channel.
--loved, -l Select my "Loved Tracks" channel.
--no-player, -n No playback, ripping only.
--output-directory=dir, -o dir Put MP3 files in this directory. This argument is new in version 0.4 and is now mandatory to prevent you from accidentally littering whatever directory you happen to be in when you issue the command.
--personal, -p Select my "Personal" channel.
--player=cmd, -P cmd Pipe the MP3 stream to this command. (The default is "splay -M".)
--tag=name, -t name Select this "Global Tag" channel.
--user-id=id, -u id Log in as this user.
--verbose=lvl, -v lvl Set verbosity level (0 = none, 1 = some, 2 = all).

A couple of examples:

lastlonger -a ABBA -o Music -u foo
Log in with user ID "foo", tune in to the "artists similar to ABBA" channel, and store the MP3 files in a folder named "Music" (which is expected to already exist).
lastlonger -p -o Music -u foo
As above, but play your "personal" channel. (You generally need to be a Last.fm subscriber to be able to do this.)
lastlonger -o Music -u foo -P 'ffplay -' lastfm://user/bar/loved
Any Last.fm channel address can be used, and any audio player that accepts MP3 data on stdin.

Note that if you want to explicitly set the player to use with the --player/-P argument, you will generally have to instruct the player to stream from stdin. In many players, this is done by giving a dash (-) instead of a filename as shown above.

Keyboard Commands

b Ban current track.
l Love current track.
q Quit program.
s Skip current track.
t Resubmit track info request.
v Set verbosity level 1 (press again to turn off).
V Set verbosity level 2 (press again to turn off).