Rockbox 3.7.

Dzięki temu, że opisywany sposób (html2rss) na otrzymywanie powiadomień o zmianach na stronie WWW przy pomocy RSS działa dobrze, już mam na mojej Sansie Rockbox 3.7. Upgrade totalnie bezproblemowy (przy pomocy Rockbox Utility).

Lista zmian dla Rockbox 3.7 podobnie jak w przypadku wersji 3.6 nie jest imponująca, ale doszło parę sprzętów, które są wspierane w wersji stabilnej (Sansa Clip v1 and v2, Clip+, Fuze v2, Ipod Nano 2g) oraz (chyba jedyna istotna(?) zmiana dla mnie) Optimizations for FLAC, MP3, Vorbis, AAC-LC, AAC-HE, TTA, Cook, Atrac3 and WMA. Z nowości – wspierany jest WMA Pro codec (czymkolwiek to jest).

Zmiany w libre.fm, nowy Rockbox.

Z kronikarskiego obowiązku – od dłuższego czasu dostępna jest wersja 3.6 Rockboksa. Lista zmian w Rockbox 3.6 nieimponująca, dla mnie godne uwagi jest jedynie New iMDCT library that improves battery life while playing Ogg Vorbis, WMA, AAC, ATRAC3, Cook, and AC3. Opisany sposób powiadamiania o nowych wersjach Rocboksa działa. Nie aktualizowałem wcześniej, bo akurat na urlop zmykałem.

Przy okazji zauważyłem, że w libre.fm pojawiła się opcja Listen i wydaje się robić dokładnie to, czego chciałem – pojawia się webowy player i można sobie słuchać danego gatunku. No, nie całkiem gatunku, bo tagiem jest to określone, ale to nawet lepsze rozwiązanie. Jeśli do tego scrobble’uje (po zalogowaniu) to już całkiem przyjemnie. Przydałby się (o ile już nie ma) jakiś zaawansowany (tak naprawdę nic zaawansowanego, podstawy statystyki) algorytm, który np. polecałby muzykę zbliżoną do tej, której użytkownik słucha dużo, ale inną. Dobraną na podstawie podobnych użytkowników i ilości odsłuchiwanych przez nich utworów.

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).