Rockbox, scrobbling i obsługa libre.fm pod Linuksem.

Wygląda, że mój odtwarzacz dorobił się finalnej postaci. To, co najważniejsze, czyli odtwarzanie muzyki działało od samego początku. Ostatnio dorobił się dodatkowej karty flash, a teraz obsługi scrobblingu. O ile samo włączenie scrobblingu, które już wcześniej planowałem zrobić, jest trywialne i aż dziwne, że wcześniej tego nie zrobiłem, o tyle spięcie z libre.fm trywialne nie jest (trudne też nie, ale). Do rzeczy.

Włączenie obsługi scrobblingu w Rockboksie jest proste i sprowadza się do zaznaczenia jednej opcji. Konkrentnie należy zmienić Settings -> Playback Settings -> Last.fm Log na Yes. Tworzony i automatycznie uzupełniany jest plik .scrobbler.log, w standardowym formacie. Nie wiem, czemu wcześniej tego nie zrobiłem w sumie. Pewnie rzuciłem okiem na dalsze wymagane czynności i odpuściłem.

Gorzej z obsługą libre.fm, bo sam plik to nie wszystko (a w zasadzie prawie nic). Początkowo chciałem korzystać z QTscrobblera – klikalne, wolne, niby libre.fm obsługuje. Pierwszy zgrzyt – nie ma tego w repo Debiana, nie ma pakietu .deb do pobrania. Kompilacja i budowa paczki to wprawdzie moment (ave checkinstall!) plus konieczność doinstalowania paru pakietów koniecznych do kompilacji, ale niestety nie widzę nigdzie opcji wyboru libre.fm, a dokumentacja w tym zakresie jest na poziomie non-existent, mimo, że sama aplikacja jest oznaczona jako wspierająca libre.fm na ich wiki. Być może należy dodać wpisy w hosts. Być może ustawić proxy. Zawsze można w źródle zmienić… No ale jakby nie o to chodzi – to miało być łatwe i klikalne, a robi się rzeźba. A wyniki wyszukiwania nie pomagają.

Podczas poszukiwań wielokrotnie natykałem się na opis, jak w prosty sposób (skrypt w bashu plus dwa skrypty w pythonie) aktualizować dane na libre.fm z wiersza poleceń. Metoda prymitywna, ale wyglądająca na prostą i skuteczną, więc stwierdziłem, że dam jej szansę. Jedyne na co warto zwrócić uwagę, to aktualizacja strefy czasowej. OTOH nie mam pewności, dla której strefy czasowej Rockbox dodaje timestampy przy poprawnie ustawionym czasie na odtwarzaczu i komputerze, ale nawet jeśli będzie przesunięcie o te 2 godziny, ale dzień się będzie zgadzał, a taka dokładność w zupełności mi wystarczy.

Instrukcja step-by-step:

  1. Pobierz skrypt bashowy (drugą wersję) z forum i zapisz do pliku
  2. Dostosuj strefę czasową
  3. Utwórz katalog librefm w katalogu użytkownika (mkdir ~/librefm)
  4. Pobierz skrypty import.py oraz gobble.py z tej strony
  5. Uruchom skrypt bashowy (sh nazwa_pod_jaka_zapisany). W katalogu musi być plik .scrobbler.log
  6. Opcjonalnie możesz wykasować pozycje, których nie chcesz wysyłać (np. podcasty czy audiobooki)
  7. Uruchom skrypt w Pythonie (chmod 700 import.py && ./import.py login_do_librefm ~/librefm/rockbox.log)
  8. Podaj hasło do swojego konta na libre.fm
  9. Enjoy your stats

Jeśli ktoś spiął QTscrobblera z libre.fm, to chętnie dowiem się, jak to dokładnie zrobić.

Poza tym, ciągle rozglądam się za wygodnym sposobem słuchania muzyki, ze wsparciem (natywnym) dla libre.fm i – najlepiej – jednoczesnym wsparciem dla Jamendo. Jest Pyjama, ale po pierwsze nie jest to player ogólnego przeznaczenia, tylko – skądinąd wygodny – program do Jamendo. Po drugie, demon szybkości to to nie jest. Nie wiem, czy kwestia Pythona z testinga, czy czego, ale obecnie potrafi zmulić i to do granicy reponsywności (OTOH odtwarzanie działa w tym czasie płynnie, więc nie krytyk). A kiedyś było dobrze… Po trzecie, Pyjama jest słabo rozwijana.

Ideałem byłoby coś, co potrafi scrobble’ować i radia internetowe, i dobrze obsługującego zwykłe albumy z dysku, i Jamendo. W sumie kolejność Jamendo -> radia -> albumy z dysku, bo jakoś nie jestem fanem trzymania wybranej kolekcji (co innego odtwarzacz).

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *