Last.fm

From Indie IT Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

HOWTO: Show Top Artists Via Command Line

I wanted to write my own Tweekly-type script to automatically tweet my Top 3 Artists each week.

  1. Find out where the charts are
  2. Find the handy XML feed
  3. Write a PERL script to parse the XML and output
  4. Install a Ruby script to tweet via BASH
  5. Write a BASH script to combine it all
  6. Add that BASH script to my weekly cron job on my Linux server (always on)

Here we go...

RUBY Script

Twitter#How_To_Tweet_Via_The_Command_Line

PERL Script (lastfm.pl)

#!/usr/bin/perl

# load perl modules
use LWP::Simple qw(!head);
use XML::Simple;
use utf8;

# create URL object
$urlcurrent = get('http://ws.audioscrobbler.com/2.0/user/paullittlefield/weeklyartistchart.xml');

# create XML object
$xml = new XML::Simple;

# read XML file and set key attribute
$data = $xml->XMLin("$urlcurrent",KeyAttr=>1);

# show artists
foreach $entry (@{$data->{artist}}) {
  push(@artists,$entry->{'name'});
  push(@playcounts,$entry->{'playcount'});
}
print "My Top 3 #lastfm Artists: $artists[0] ($playcounts[0]), $artists[1] ($playcounts[1]), $artists[2] ($playcounts[2])";

# exit nicely
exit;

BASH Script (lastfm.sh)

#/bin/bash
LASTFM=$(/home/paully/Bin/lastfm.pl | strings |tr -d '\n')
/usr/local/bin/tweet update "$LASTFM"

CRON Tab

@weekly ~/Bin/lastfm.sh

Total time taken: 1 hour :-)

HOWTO: Scrobble With MPD Music Player Daemon

Install the background mpdscribble daemon...

sudo aptitude install mpdscribble

Now stop the system service version...

sudo service mpdscribble stop
sudo update-rc.d -f mpdscribble remove

Create your own configuration file...

mkdir ~/.mpdscribble
nano ~/.mpdscribble.conf
...
[mpdscribble]
 host = localhost
 port = 6600
 log = /home/user/.mpdscribble/mpdscribble.log
 verbose = 2
 sleep = 1
 musicdir = ~/Music
 proxy = none
[last.fm]
 url = http://post.audioscrobbler.com/
 username = user
 password = 34534524524tefevdfgaseRQ
 journal = /home/user/.mpdscribble/lastfm.journal

Start the daemon...

mpdscribble

Add it to your Desktop's Startup and Session in XFCE

Applications > Settings Manager > System > Session and Startup > Application Autostart > Add > mpdscribble

HOWTO: Scrobble With VLC Media Player

Install the background scrobbler daemon...

sudo aptitude install -y lastfmsubmitd
sudo update-rc.d lastfmsubmitd defaults
sudo service lastfmsubmitd restart

In VLC...

Tools > Preferences > Show Settings > All
Interface > Control Interfaces > Tick 'Submission of played songs to Last.fm'
Audioscrobbler > Username + Password + Scrobbler URL - http://post.audioscrobbler.com/
Save
Restart VLC