MOC i Audioscrobbler (Last.fm)
: 03 czerwca 2007, 14:39
Witam
Wszyscy z was zapewne wiedzą czym jest i do czego służy społeczność Last.fm. Jednak oprogramowanie dostępne na ich stronie nie obsługuje wielu odtwarzaczy (w chwili obecnej tylko XMMS, BMP, Quod Libet, Noatun, Banshee i Amarok). Chciałbym więc zaprezentować sprytny sposób scrobblowania utworów z mojego ulubionego odtwarzacza muzyki pod konsole.
Na początek instalujemy oprogramowanie umożliwiające bezpośrednie przesyłanie scrobblowanych utworów do serwera Last.fm:
Konfigurator poprosi nas o podanie nazwy użytkownika i hasła do konta last.fm, a także grupy - wpisujemy audio.
Następnym krokiem jest utworzenie skryptu który będzie pobierał informacje z naszego odtwarzacza do demona:
zamiast user należy oczywiście wpisać swoją nazwę użytkownika .
Po zapisaniu skryptu przychodzi czas na ostatni krok - modyfikujemy tabelę crona:
i dopisujemy:
I to już wszystko
Metoda ta ma jednak kilka minusów. Po pierwsze utwory scrobblowane będą tylko raz, jeśli słuchamy jednego utworu kilka razy pod rząd do last.fm'a będzie przesłane tylko jedno przesłuchanie. Można by usunąć część skryptu odpowiedzialną za porównanie obecnie odtwarzanego utworu z zapisanym w ~/.mocp.log jednak wtedy należało by wydłużyć interwał zapisany w pliku crona do przynajmniej pięciu minut, by nie scrobblował długich utworów po kilka razy. Wtedy jednak utwory które nie zmieszczą się w tym przedziale czasowym w ogóle nie zostaną zescrobblowane. Jednak wydaje mi się że sposób opisany przeze mnie jest optymalny
ps. Metoda i skrypt nie są moim pomysłem, a jedynie podszlifowaną wersją sposobu opisanego przez |FoLKeN|'a, więc to jemu należą się wszystkie zaszczyty . Oryginalny artykuł można przeczytać pod tym adresem: http://www.weblog.svx.pl/archive/25
Wszyscy z was zapewne wiedzą czym jest i do czego służy społeczność Last.fm. Jednak oprogramowanie dostępne na ich stronie nie obsługuje wielu odtwarzaczy (w chwili obecnej tylko XMMS, BMP, Quod Libet, Noatun, Banshee i Amarok). Chciałbym więc zaprezentować sprytny sposób scrobblowania utworów z mojego ulubionego odtwarzacza muzyki pod konsole.
Na początek instalujemy oprogramowanie umożliwiające bezpośrednie przesyłanie scrobblowanych utworów do serwera Last.fm:
Kod: Zaznacz cały
su -c "aptitude install lasftfmsubmitd"
Następnym krokiem jest utworzenie skryptu który będzie pobierał informacje z naszego odtwarzacza do demona:
Kod: Zaznacz cały
#!/bin/bash
TITLE="`mocp -i | grep 'Title:' | sed -e 's/^.*: //'`"
if [ "$TITLE" != "" ]; then
ARTIST="`mocp -i | grep 'Artist:' | sed -e 's/^.*: //'`"
SONGTITLE="`mocp -i | grep 'SongTitle:' | sed -e 's/^.*: //'`"
ALBUM="`mocp -i | grep 'Album:' | sed -e 's/^.*: //'`"
LENGTH="`mocp -i | grep 'TotalTime:' | sed -e 's/^.* //'`"
TIME="`date +'%Y-%m-%d %H:%M:%S'`"
if [ "`cat /home/user/.mocp.log | head -n1`" != "$ARTIST $SONGTITLE $ALBUM $LENGTH" ];then
/usr/lib/lastfmsubmitd/lastfmsubmit --artist "$ARTIST" --title "$SONGTITLE" --album "$ALBUM" --length "$LENGTH" --time "$TIME"
fi
echo "$ARTIST $SONGTITLE $ALBUM $LENGTH" > /home/user/.mocp.log
fi
Po zapisaniu skryptu przychodzi czas na ostatni krok - modyfikujemy tabelę crona:
Kod: Zaznacz cały
crontab -e
Kod: Zaznacz cały
*/2 * * * * /home/user/ścieżka_do_skryptu
Metoda ta ma jednak kilka minusów. Po pierwsze utwory scrobblowane będą tylko raz, jeśli słuchamy jednego utworu kilka razy pod rząd do last.fm'a będzie przesłane tylko jedno przesłuchanie. Można by usunąć część skryptu odpowiedzialną za porównanie obecnie odtwarzanego utworu z zapisanym w ~/.mocp.log jednak wtedy należało by wydłużyć interwał zapisany w pliku crona do przynajmniej pięciu minut, by nie scrobblował długich utworów po kilka razy. Wtedy jednak utwory które nie zmieszczą się w tym przedziale czasowym w ogóle nie zostaną zescrobblowane. Jednak wydaje mi się że sposób opisany przeze mnie jest optymalny
ps. Metoda i skrypt nie są moim pomysłem, a jedynie podszlifowaną wersją sposobu opisanego przez |FoLKeN|'a, więc to jemu należą się wszystkie zaszczyty . Oryginalny artykuł można przeczytać pod tym adresem: http://www.weblog.svx.pl/archive/25