Last.fm scrobbler for Audacious2
Posted by n3mo in Linux, Linux Tutorials, tags: audacious, Audacious2, bash script, last.fm, lastfmsubmitdСлед като ми пристигнаха дисковете на Ubuntu 10.04 реших да взема да го пробвам. Като система се оказа добро, с доста промени, които бяха загатнати още в 9.10 , но тук вече всичко е категорично. Разкарали са стария, иначе толкова лесен за конфигуриране GRUB и са сложили GRUB2… нов гном… въобще много нови неща. Но покрай тези новите неща явно са решили и да махнат пакета audacious-plugins-extra от repo-тата, а там беше плъгина за scrobble-ване в last.fm през Audacious. В този tutorial ще ви покажа как да решите проблема.
Лично на мен Last.fm много ми допада и реших, че ми трябва поддръжка и за audacious, за това седнах да реша проблема… Спомних си, че преди време, когато използвам MOC за музикален плейър също му бях подкарал last.fm поддръжка с помощта на lastfmsubmitd. Точно така реших да направя и в момента.
How-to
Първо много е важно да си промените някои от настройките по подразбиране на Audacious. Сменете си начина, по който Audacious ви показва песните. От Preferences -> Playlist -> Song DIsplay трябва да промените Title Format на ARTIST – TITLE. След това си пусне плъгина Song Change.
До тук сме с Audacious, време е да инсталираме lastfmsubmitd.
sudo apt-get install lastfmsubmitd
Като при инсталирането ще конфигурирате вашето потребителско име и парола, но ако объркате нещо по всяко време може да използвате, :
sudo dpkg-reconfigure lastfmsubmitd
за да решите проблема…
След това си създадете файл lfms във /usr/bin/ ( разбира се трябва да имате суперпотребителски права) и в този файл сложете следния код:
#!/bin/bash
###
# Using lastfmsubitd to scrobble to last.fm with audacious.
###
# Nedyalko Dyakov 2010
# n3mo@n3mo.eu
####
####
####
## Checking if lastfmsubitd is installed.
####lsub=`which lastfmsubmitd 2>/dev/null`
if [[ -z $lsub ]]; then
echo “Unable to find lastfmsubmitd.Check your PATH, or install it. ”
echo “You can install it using – sudo apt-get install lastfmsubmitd”
exit 1
fiif [ "$#" == 0 ]; then
echo -e ‘ \n Usage: \n lfms “– ” “ ” \n’
exit 1
fi
### Get arguments
art=${1%% – *}
song=${1##* – }
len=$[$2/1000]## Debug
#echo “ARTIST = $art” > “/home/$USER/Desktop/lfms-debug.txt”
#echo “SONG = $song” >> “/home/$USER/Desktop/lfms-debug.txt”
#echo “LENGTH = $len” >> “/home/$USER/Desktop/lfms-debug.txt”
###########
sleep 10
run=(`pgrep lfms`)if [[ ${#run[*]} < 2 ]]; then
### lfms is not running
### calling lastfmsubmit
##echo "done."
/usr/lib/lastfmsubmitd/lastfmsubmit --artist "$art" --title "$song" --length "$len"
else
##echo "undone"
### lfms is running
### Exiting
exit 0
fi
exit 0
Накратко ще направим така, че този скрипт да се стартира винаги когато пуснем песен в Audacious и ако 10 секунди след като сме пуснали песента не сме пуснали друга ( не сме я сменили ) то този скрипт ще scrobble-не информацията за артиста и името в last.fm .
Какво остава да направим. Включили сте плъгина Song Change в Audacious, сега остава само на първия ред ( Command when Audacious start a new song: ) да добавим следния ред :
/usr/bin/lfms ” %s ” ” %l “
След което запазваме всички промени стартираме наново Audacious2 и вече всичко работи!
p.s. Ако желаете може да накарате скрипта да чака половината песен или примерно една трета от нея преди да изпрати информацията към lastfmsubmitd, но на мен ми се струва по-удобно да са 10 секунди.
Подобдни публикации:
- Audacious вашият Winamp за Linux
- Музинки: Same old song!
- How-to: Apache2 Password Protected Folder
- Hours slide and days go by
- Swap file в Линукс
Постове (RSS)
Е какво не ти харесва на GRUB2 не разбрах? Не само че е по-удобен но и има собствен шел, който върши повече работа от стария GRUB. :”))
Харесвах си старата конфигурация на grub… Но и с този ще се свиква, няма начин…
Благодаря за споделяне, това е страхотно!
Малък бъг при мен който обаче се получава от самия Audacious2. Тъпото не ми изпраща името на изпълнителя а само името на песента. Да си имал такъв проблем при теб?
Виж точно в началото на How To- то съм написал какво трябва да се промени. И при мен беше така преди да го променя. Тоест по подразбиране Audacious2 изписва само песента, когато го промениш ще ти изписва Artist – Title :) Всичко добро!
Мдаааааам. Така става като не дочитам нещата… :)
-*~ that seems to be a great topic, i really love it ;”~