Hadret’s.Blog

Ateista, linuksiarz i przyszły filolog (;

Rhythmbox + Last.fm + Debian

Wpis uzupełniony o paczkę dla architektury x86_64 oraz informacje dotyczące instalacji wtyczki w Debianie dla Rhythmboksa 0.11.6

7/05/2009: Wpis uzupełniony o paczkę dla architektury x86_64 oraz informacje dotyczące instalacji wtyczki w Debianie dla Rhythmboksa 0.12.0

Takich serwisów jak Last.fm nikomu przedstawiać nie trzeba. To jeden z najbardziej udanych (jeśli nie najbardziej w ogóle, po prostu) serwisów łeb dwa zero. Prosta idea, świetne wykonanie, wielojęzyczny interfejs – tak strony, jak i dołączonego do niej odtwarzacza. Wymieć można by dalej, ale przecież każdy użytkownik zna wszystkie wady i zalety tegoż serwisu.
Już od dłuższego czasu jako głównego odtwarzacza w moim systemie używam Rhythmboksa. Cenię sobie jego szybkość działania, dobry mechanizm tworzenia playlist oraz nie najgorsze wsparcie dla podcastów. Oczywiście program ma wtyczkę umożliwiającą scrobblowanie (patrz: audioscrobbler) odtworzonych utworów do serwisu Last.fm, ale… to właściwie wszystko, na co ta wtyczka pozwala. I wiele więcej nie potrzebowałem, brakowało mi jednak możliwości oznaczania „lubię ten kawałek”/”nie znoszę tego kawałka” itd.
Okazało się jednak, że powstała alternatywna wtyczka dla Rhythmboksa wspierająca serwis Last.fm – New Style Last.fm scrobbler. Co ją odróżnia od dotychczasowej wtyczki scrobblującej? Mechanizm. Rhythmbox zaczyna używać programu Last.fm do scrobblowania odsłuchiwanych utworów. Fajne? Fajne.

Jak nietrudno zauważyć, użytkownicy Ubuntu mają gotowe paczki, a nawet repozytoria z przekompilowanym Rhythmboksem zawierającym od razu nową wtyczkę do scrobblowania. A co z użytkownikami innych dystrybucji? Dostępny jest patch, który należy nałożyć na źródła programu. Czyli co, trzeba przekompilować całego Rhythmboksa, żeby mieć wsparcie dla programu Last.fm? Obawiam się, że tak. Ale na całe szczęście można to zrobić via debian-way (:

Pierwsza sprawa to załatwić zależności. Polecam gdzieś zapisać sobie listę paczek, które zostały zainstalowane, żeby później je z systemu wywalić (będą wszak potrzebne wyłącznie do zbudowania paczki):

sudo aptitude build-dep rhythmbox

Dalsza sprawa to pobrać źródła Rhythmboksa (o repozytoriach deb-src w /etc/apt/sources.list nawet nie wspominam bo to oczywista konieczność):

apt-get source rhythmbox

Po wykonaniu powyższej komendy pobrane zostaną trzy pliki (*diff.gz, *dsc, *orig.tar.gz) oraz jeden katalog (rhythmbox-0.11.5). Należy jeszcze pobrać plik scrobbler-v3g.patch z wcześniej wspomnianej strony. Najlepiej zapisać go po prostu w katalogu domowym. Teraz nałożymy patch. Aby to zrobić, trzeba wejść do pobranego via apt-get source katalogu:

cd rhythmbox-0.11.5
patch -NEp1 < ~/scrobbler-v3g.patch

Jeśli wszystko przebiegło pomyślnie, powinno wyświetlić się mniej więcej coś takiego:

patching file configure
patching file configure.ac
patching file plugins/Makefile.am
patching file plugins/Makefile.in
patching file plugins/scrobbler/Makefile.am
patching file plugins/scrobbler/Makefile.in
patching file plugins/scrobbler/rb-scrobbler-plugin.c
patching file plugins/scrobbler/scrobbler.rb-plugin.desktop.in

Teraz wykonam komendę opcjonalną choć szczerze ją polecam. Polega ona na zmianie wersji programu z 0.11.5-5 na 0.11.5-5.1. Zmiana jest drobna, ale uchroni naszego spatchowanego Rhythmboksa przed zaktualizowaniem do wersji nie spatchowanej z repozytorium (przynajmniej do pojawienia się w repozytorium wersji 0.11.6). Aby to zrobić należy (wciąż będąc w katalogu rhythmbox-0.11.5) wydać następujące polecenie:

debchange -v 0.11.5-5.1

W tym momencie wyświetli się nano i plik changelog.dch, w którym trzeba dopisać zmianę, jaką się wykonało. Może to wyglądać np. tak:

* Patched

Treść nie gra wielkiej roli. Po dopisaniu należy wcisnąć kombinację klawiszy Ctrl+o a następnie Ctrl+x.
Teraz pozostało już tylko zbudować paczkę (wciąż będąc w katalogu rhythmbox-0.11.5):

dpkg-buildpackage -rfakeroot

Proces kompilacji może trochę potrwać w zależności od posiadanej machiny. Kiedy skończy wystarczy:

cd ..
dpkg -i rhythmbox_0.11.5-5.1_*.deb

O czym należy pamiętać:

1. Przed zainstalowaniem własnej paczki dobrze jest odinstalować Rhythmboksa, choćby via dpkg:

dpkg -r rhythmbox

2. Do działania Rhythmbox będzie teraz wymagał programu Last.fm, który można zainstalować w poniższy sposób:

sudo aptitude install lastfm

3. Należy wyłączyć w Rhythmboksie (jeśli nie zrobiło się to automatycznie) starą wtyczkę do scrobblowania i włączyć tę nową, która została wkompilowana.

To z grubsza wszystko, poniżej załączam jeszcze paczkę ze spaczowanym Rhytmboksem (wersja 0.11.5-5.1) dla architektury amd64, która została stworzona w sposób opisany powyżej:

Rhythmbox 0.11.5-5.1 AMD64 (~5.5 MB)

A tak to mniej więcej wygląda:


Shot 1. Rhythmbox + Last.fm

Instalacja w Rhythmboksie 0.11.6

Generalnie procedura jest taka sama jak opisana powyżej, opiszę więc wyłącznie zmiany. Chodzi tutaj przede wszystkim o wersję patcha - oznaczenie jest różne dla Ubuntu i Debiana. Problem wynika z wersji Rhythmboksa w Ubuntu, która jest wersją z SVN. Tak więc użytkownicy Ubuntu, którzy sami chcą nałożyć patch, powinni użyć wersji scrobbler-v3h.patch, gdyż ona jest przeznaczona dla wersji svn20081008. Użytkownicy pozostałych dystrybucji (w tym Debiana, rzecz jasna) oraz osoby instalujące Rhythmboksa z oficjalnych źródeł powinny zaś użyć wersji scrobbler-v3i.patch. Tak więc operacja sprowadza się do zaktualizowania kilku kroków, które szerzej opisałem powyżej, tutaj zamieszczam samą esencję (:

# aptitude build-dep rhythmbox
~ apt-get source rhythmbox
~ wget -c http://blog.blackdown.de/static/rhythmbox/scrobbler-v3i.patch
~ cd rhythmbox-0.11.6
~ patch -NEp1 < ../scrobbler-v3i.patch
~ debchange -v 0.11.6-6.1
~ dpkg-buildpackage -rfakeroot
# dpkg -i ../rhythmbox_0.11.6-6.1_amd64.deb

Poniżej załączam paczkę ze spatchowanym Rhythmboksem (wersja 0.11.6-6.1) dla architektury x86_64, która została stworzona w sposób opisany powyżej:

Rhythmbox 0.11.6-6.1 x86_64 (~5.9 MB)

Instalacja w Rhythmboksie 0.12.0

# aptitude build-dep rhythmbox
~ apt-get source rhythmbox
~ wget -c http://blog.blackdown.de/static/rhythmbox/scrobbler-v3j.patch
~ cd rhythmbox-0.12.0/
~ dch -i
  * New Style Last.fm Scrobbler
ctrl + o (zapis) i ctrl + x (wyjście)
~ patch -NEp1 < ../scrobbler-v3j.patch
patching file configure
patching file configure.ac
patching file plugins/Makefile.am
patching file plugins/Makefile.in
patching file plugins/scrobbler/Makefile.am
patching file plugins/scrobbler/Makefile.in
patching file plugins/scrobbler/rb-scrobbler-plugin.c
patching file plugins/scrobbler/scrobbler.rb-plugin.desktop.in
~ dpkg-buildpackage -rfakeroot -us -uc
# dpkg -i ../rhythmbox_0.12.0-2.1_amd64.deb

Poniżej załączam paczkę z zaaplikowanym patchem na Rhythmboksie (wersja 0.12.0-2.1) dla architektury x86_64, która została stworzona w sposób opisany powyżej:

Rhythmbox 0.12.0-2.1 x86_64 (~5.0 MB)

10 Odpowiedzi

  1. Jak zwykle chcesz coś mieć musisz to samemu zrobić. Dzięki za opis.
    Ps. czemu tak dawno nie było wpisów na blogu?

    Odpowiedz

  2. Kochany Linux. Tyle zachodu dla takiej drobnostki :-D

    Odpowiedz

  3. Że tak z innej beczki. Czy Rhythmboxa można zrzucać do traya?
    Nie miałem nigdy z nim do czynienia (amarok rozleniwia…)

    Odpowiedz

  4. Nemeczek afaik można, tak przynajmniej kiedyś było ;)

    Odpowiedz

  5. seven: o przyczynach powinienem napisać na dniach (:

    ximian: owszem, ale ile jest analogicznych sytuacji, kiedy w Linuksie jest łatwiej? hm? (:

    Nemeczek: jak najbardziej jest :o ctrl+w

    Odpowiedz

  6. Ja od pewnego czasu zmagam się z nieco innym problemem związanym z Rhythmboxem. Rhythmbox się uparł jak osioł i nie chce mi się wyświetlać okładek. Jest to strasznie uciążliwe bo lubię kiedy na pulpicie w NowPlaying mogę zobaczyć tytuł i okładkę danej piosenki. Wynika to, jak się domyślam, z dwóch błędów. Jeden dotyczy wtyczki Jamendo, a drugi sklepu Magnature. Próbowałem już naprawić ale bezowocnie :(

    Odpowiedz

  7. Jeśli żadnych okładek nie wyświetla, to myślę, że może mieć to związek z dotychczasowym systemem – Rhythmbox w wersji DO 0.11.5 korzysta jeszcze ze starego sposobu, który może nie działać. Wersja 0.11.6 winna naprawić ten błąd, tak przynajmniej wynika z tego:

    Use Amazon ECS 4.0 web service for cover art searches

    Give it a try (:

    Odpowiedz

  8. Mi ten plugin jakoś nie chce działać. :/

    Odpowiedz

    Hadret

    Jaką masz wersję Rhythmboksa? Zainstalowałeś odtwarzacz Last.fm? [:

    Odpowiedz

Trackbacki

  1. Last.fm w nowym stylu… @ Hadret’s.Blog

Zostaw odpowiedź