MPD, Sonata i Last.fm cz. II
Właściwie, to o Sonacie niczego nowego nie popełnię bo i po co? Każdy ją zna, a kto chce, korzysta. Jak to było w pierwszej części, skupię się na połączeniu MPD z serwisem Last.fm. Za pierwszym razem użyłem do tego programu mpdscribble, ale ten pod wieloma względami mi nie odpowiadał. Dodatkowo, zdarzało mu się nie radzić z długimi nazwami tytułów piosenek, przez co w ogóle nie trafiały one do mojego profilu. Przy okazji przejściowych problemów jakie miało Last.fm, zacząłem rozglądać się za innym subskrybentem. Na pierwszy ogień poszedł lastfmsubmitd, ale nie mogłem go przekonać do współpracy. Grzebiąc po forach na Last.fm, trafiłem na scmpc. I to jest to, co dzisiaj opiszę (;
scmpc jest klientem MPD, subskrybującym odtwarzane utwory do Audioscrobblera. W sumie nic oryginalnego, prawda? A jednak, bowiem scmpc ma pewne funkcje, jakich brakuje innym tego typu subskrybentom. Są to m.in.:
- Może zostać uruchomiony jako demon – tak z konta root, jak i zwykłego użytkownika;
- Przechowuje niewysłane utwory w pliku i próbuje przesłać je ponownie, co ustalony w pliku konfiguracyjnym czas;
- Będzie próbował wznowić połączenie z MPD i Audioscrobblerem, jeśli padnie łącze;
- Współpracuje z chronionym hasłem MPD;
- Działa z włączonym crossfadingiem (
płynne przejścia
).
1. Instalacja
scmpc nie ma dużych wymagań. Wyłączając samo MPD, są to: libcurl (>=7.10), argtable, confuse oraz libdaemon. W Ubuntu 6.10/6.12/7.04 sprawę załatwi jedno polecenie:
$ sudo apt-get install libargtable2-0 libargtable2-dev pkg-config libconfuse0 libconfuse-dev libdaemon0 libdaemon-dev libcurl3 libcurl3-dev
Źródła programu znajdują się tutaj http://developer.berlios.de/projects/scmpc. Ostatnia wersja – 0.2.2 – została wydana w grudniu ubiegłego roku i najprawdopodobniej projekt nie będzie dalej rozwijany.
Należy przejść do katalogu, w którym źródła zostały zapisane (u mnie jest to src) i je rozpakować:
$ cd src
$ tar xvjf scmpc-0.2.2.tar.bz2
Dalszy ciąg jest procedurą standardową:
$ cd scmpc-0.2.2
$ ./configure
$ make
$ sudo make install
Ostatnie polecenie można zamienić na:
$ sudo checkinstall
Tylko w przypadku kiedy checkinstall jest zainstalowany i chce się zrobić paczkę scmpc dla prywatnego użytku.
2. Konfiguracja
Jak na tak niewielkich rozmiarów programik, dysponuje sporymi możliwościami konfiguracyjnymi. scmpc szuka plików ustawień w następującej kolejności: ~/.scmpcrc, później ~/.scmpc/scmpc.conf i na końcu /usr/local/etc/scmpc.conf. Dodatkowo, używając przy uruchamianiu parametru -f <ścieżka_do_pliku> lub –config-file <ścieżka_do_pliku>, można zdefiniować jeszcze inne (własne) położenie pliku konfiguracyjnego.
Ponieważ ja nie mam dużych wymagań, postanowiłem skorzystać z gotowego pliku konfiguracyjnego. Znajdując się wciąż w katalogu, z którego instalowany był scmpc, wystarczą trzy polecenia by przygotować plik ustawień do dalszej edycji:
$ cd examples/
$ cp scmpc.conf ~/.scmpcrc
$ cd ~
Pokrótce, co można w takim pliku poustawiać, na sam przód tzw. opcje globalne:
cat .scmpcrc
- log_level – czyli jakie logi scmpc ma zbierać. Do wyboru są opcje none, error, info i debug;
- log_file – ścieżka do pliku, w którym mają być zapisywane logi. Domyślnie jest to /var/log/scmpc.log;
- pid_file – generalnie służy do sprawdzania, czy scmpc jest uruchomione tylko raz. Odnosi się to wyłącznie do programu działającego jako demon (we tle);
- cache_file – ścieżka do pliku, w którym zapisywane są utwory, jakie mają zostać wysłane do Audioscrobblera. Domyślnie jest to /var/lib/scmpc/scmpc.cache;
- queue_length – maksymalna liczba niewysłanych utworów. Domyślnie jest ich 500;
- cache_interval – interwał w minutach, co jaki jest zapisywany plik z niewysłanymi utworami. Zapobiega utracie danych o utworach w przypadku np. odłączenia prądu. Domyślny interwał jest ustawiony na 10 minut;
Kolejne ustawienia dotyczą połączenia scmpc z MPD:
mpd {
#host = „localhost”
#port = 6600
#timeout = 5
#password =
}
- host – nazwa hosta serwera MPD. Może być to również adres IP;
- port – port, na którym MPD słucha muzyki (;
- timeout – opóźnienie w sekundach, przy łączeniu się z serwerem MPD;
- password – hasło w przypadku tak zabezpieczonego serwera MPD;
I ostatnie ustawienia, w których ustala się dane dostępu do profilu na Last.fm:
audioscrobbler {
username = „”
password = „”
}
Tu już jest chyba wszystko jasne (;
3. scmpc a bezpieczeństwo
Ponieważ nie przeszkadza mi włączanie scmpc przez sudo oraz domyślne ustawienia programu, swój plik konfiguracyjny ~/.scmpcrc ograniczyłem do informacji dotyczących połączenia z Audioscrobblerem. Nie każdy jednak lubi, ja na ten przykład, w pliku tekstowym trzymać jawnie hasło. Z pomocą przychodzi funkcja password_hash, która przyjmuje hasła zapisane jako sumy MD5. Jak wygenerować sumę kontrolną z hasła?
$ echo -n 'twoje_haslo' | md5sum
dd373a0fc397eba6882d44dd1a5cfa08 -
Teraz należy tylko skopiować sam ciąg liter i liczb, bez spacji i myślnika. W powyższym przykładzie będzie to więc:
dd373a0fc397eba6882d44dd1a5cfa08
Jak więc powinien wyglądać plik konfiguracyjny?
audioscrobbler {
username = „Użytkownik”
password_hash = „dd373a0fc397eba6882d44dd1a5cfa08″
}
Od razu człowiek czuje się bezpieczniej (:
4. Podsumowanie
Program można do woli ustawiać wedle własnych potrzeb. Po więcej informacji odsyłam do:
$ man scmpc
Kilka użytecznych porad można złapać również na forum scmpc.
Program u mnie sprawuje się wyśmienicie. O czym należy pamiętać, to przymus jego restartu po restarcie MPD – w przeciwnym razie utwory nie będą subskrybowane, ani nawet odkładane do wysłania później. Tyle ode mnie, odmeldowuję się (;
Przydatne Linki:
Oficjalna strona scmpc
Temat o scmpc na forum Gentoo
Pobierz scmpc
Oficjalna strona MPD
Oficjalna strona Sonaty

Żeby lastfmsubmitd działał, trzeba uruchomić nie tylko lastfmsubmitd, ale również lastmp (które przychodzi razem z paczką lastfmsubmitd). Konfiguracja w pliku /etc/lastmp.conf, odpalone oba działają jak należy. :)
Odpowiedz
Dzięki – przetestuję jak zajdzie taka potrzeba ^_^
Odpowiedz
scmpc jest z, tego co pamietam, mniejszy niz lastfmsubmitd i lastmp, ale i tak najlepiej pamietam czasy za mpdscribbls :D
Odpowiedz
Wielkie dzięki za arta, scmpc śmiga aż miło, mało brakowało a już bym dał sobie spokój z lastfm :D
Odpowiedz
Ja byłem bardziej skłonny odpuścić MPD – Last.fm uzależnia, serio! :P
Odpowiedz