Amarok 2
W tym tygodniu przedstawię zmiany w Amaroku 2, który jest rozwojową gałęzią Amaroka dla KDE 4. Nowości są jeszcze w różnych fazach rozwoju. W dalszej części artykułu przeczytacie o silnikach z których korzysta Amarok (włączając Phonon), zmianach w interfejsie, wsparciu dla OS X i wielu innych nowościach.
Kilka tygodni temu w innej części cyklu Droga do KDE 4 prezentowałem Phonon. Kiedy ten artykuł był publikowany, prace nad Amarokiem 2 jeszcze się nie rozpoczęły, ale programiści Phonon uwzględnili w nim wiele rzeczy, które teraz będą wykorzystane w Amaroku.
W Amaroku 1.x programiści musieli wydzielić obsługę każdego z silników: xine, gstreamer, aKode, itp. Wraz ze zmianami w tych silnikach należało odpowiednio dostosowywać kod Amaroka. Inne programy jak Noatun musiały także zawierać odpowiedni kod do obsługi poszczególnych silników. W KDE 4 pojawia się Phonon, dzięki któremu programy takie jak Amarok nie muszą zawierać kodu do wykorzystania wszystkich silników, a programiści mogą skupić się na innych częściach aplikacji. Według programistów Amaroka dodanie obsługi Phonona zajęło całe 90 minut aż do uzyskania normalnej funkcjonalności, a po kilku kolejnych godzinach cała funkcjonalność Phonona była już dostępna. Wykorzystując Phonon aplikacje mogą odtwarzać muzykę także poprzez różne sieciowe protokoły dzięki wykorzystaniu mechanizmu KIO.
Phonon już działa w Amaroku 2. Stare silniki także zostały przeniesione, silnik do obsługi xine będzie nadal rozwijany. Rozwój Amaroka 2 trwa zaledwie kilka tygodni i jak na razie jest za wcześnie na podejmowaniu decyzji o porzuceniu rozwoju dotychczasowych silników, takich jak xine, który służył Amarokowi w przeszłości bardzo dobrze.
Jednym z ubocznych efektów zastosowania Phonona jest to, że Amarok może zajmować się odtwarzaniem wideo, wykorzystując moduł Phonona do obsługi xine. Podstawowe wsparcie dla wideo zostało już dodane jednak jest ono przeznaczone raczej jako uzupełnienie możliwości odtwarzania dźwięku, a nie jako zamiennik dla odtwarzaczy wideo takich jak Kaffeine. Założenie jest takie - jeśli w kolekcji muzyki masz teledyski i chcesz użyć Amaroka do odtworzenia tej muzyki to strumień wideo zostanie potraktowany jako wizualizacja. Według Dana Meltzera dodanie takiej funkcjonalności to całe siedem linijek kodu odwołującego się do Phonona.
Oczywiście dzięki przenośności KDE 4, Amarok będzie działał też na innych platformach, a nie tylko na Unix/X11. Wersja wydania deweloperskiego przeznaczonego dla OS X już jest, dziękuje za pracę nad nią Benjaminowi Reedowi. Prace nad przeniesieniem do systemu Windows oczywiście nadal trwają, niestety nie mam zrzutu ekranu aby wam to pokazać.
Ale dla takich zmian nie było by sensu nazywać tego wydania 2.0, jednak są o wiele bardziej znaczące zmiany.
Amarok jest w wielu miejscach inspirowany XMMSem, który jest podobny w Winampa. Krótko mówiąc jest to odtwarzacz muzyki z wielokolumnową listą wyświetlająca informacje pobrane z tagów znajdujących się w plikach dźwiękowych. Ten wielokolumnowy widok nie zmienił się zbyt wiele przez kilka ostatnich lat, w różnych aplikacjach jedynie w różny sposób rozwiązano sortowanie i filtrowanie listy. Amarok jest dość dobry w sortowaniu i filtrowaniu, a z edycją tagów także nieźle sobie radzi (zobacz JuKa jako przykład odtwarzacza, w którym edytowanie tagów jest rozwiązane w zadziwiająco dobry sposób). Żadna z powyższych funkcjonalności nie wymaga, aby playlista była wyświetlana w tabelce. Jako część odświeżania interfejsu użytkownika w Amaroku 2 playlista otrzyma zupełnie nowy wygląd. Ciągle będą wyświetlane tytuły i inne tagi, ale nie będą one wyświetlane w tabeli.
Najlepiej zaprezentuje to poniższy zrzut ekranu:
Pewnie zastanawiasz się "Gdzie się podziała playlista?", podobnie jak zastanawiałem się ja i jeszcze kilka osób na IRCu, ale jeśli przyjrzysz się dokładniej zauważysz, że lista po prawej stronie okna to właśnie playlista.
Dość mocno promowany jest środkowy panel. Panel ten podaje informacje na temat aktualnie odtwarzanego pliku i pozwala "Na nowo odkryć swoją muzykę" (ang. "Rediscover Your Music" - motto Amaroka). Lewa kolumna będzie pełniła funkcje takie jak dotychczas, z wyjątkiem tego, że zawartość zakładki "Kontekst" będzie w środkowym panelu. Oczywiście większość funkcji będzie konfigurowalna.
Poniżej zrzut ekranu z Amaroka 1.4.5 pokazujący aktualny stan interfejsu. Można zauważyć duże różnice. Powyższy mockup jest docelowym wyglądem interfejsu, ale na pewno zajdą jeszcze jakieś zmiany.
I kolejny zrzut ekranu, tym razem pokazujący aktualny stan wersji rozwojowej Amaroka 2.0. Pamiętajcie, że Amarok 2 dopiero zaczął się rozwijać.
Jedną z najbardziej obiecujących nowości w Amaroku jest integracja ze sklepem Magnatune. Według Wikipedii Magnatune jest sklepem internetowym, który stara się traktować artystów i klientów na równi. Użytkownicy mogą pobierać muzykę w formacie MP3 zanim podejmą decyzję o zakupie. Pliki z muzyką nie wykorzystują żadnych mechanizmów DRM, które mogłyby zapobiegać kopiowaniu plików.
Amarok już w wersji 1.4.5 posiadał wsparcie dla Magnatune. Od tego czasu ekipa Amaroka otrzymała wiele emaili z ofertami innych sklepów, które także chciałby by być dostępne z poziomu Amaroka. W Amaroku 1.4 programiści jeszcze dopracowywali integrację z Magnatune i nie chciano podejmować się jakichś większych prac - szczególnie ze względu na brak siły roboczej. Wsparcie dla Magnatune działa prawidłowo i generuje małą lecz ciągle rosnącą liczbę sprzedanych piosenek.
Nikolaj Hald Nielsen - główny programista obsługi sklepu Magnatune planuje wydzielić określoną funkcjonalność niezbędną do obsługi innych sklepów. Dzięki temu możliwe byłoby automatyczne dodawanie demonstracyjnych wersji utworów do listy odtwarzania, wyświetlanie dodatkowych danych o utworach i inne podobne funkcje. Jako przykład opracowano usługę odpowiedzialną za tą funkcjonalność, która może być kontrolowana z poziomu skryptów. Jak na razie nie będzie opracowywana żadna bardziej zaawansowana funkcjonalność taka jak robienie zakupów czy dostarczanie informacji ze strony sklepu, ponieważ każdy sklep wykorzystuje do tego inne mechanizmy. Jest to także dobry wstęp do obsługi mediów strumieniowanych. Aktualnie dodano usługę CoolStreams (jako skrypt w Ruby), a przeglądarka Shoutcastów jest w przygotowaniu.
Teraz, kiedy Magnatune działa już z wykorzystaniem nowego frameworka nadszedł czas na skontaktowania się z innymi zainteresowanymi sklepami.
Poniżej zrzut ekranu pokazujący eksperymentalną obsługę "Cool Streams":
Jeśli jesteś zainteresowany pomocą w rozwijaniu Amaroka 2 musisz skonfigurować środowisko rozwojowe KDE. Instrukcje wykorzystania SVNa dostępne są na stronie KDE TechBase, można też wykorzystać mechanizm kdesvn-build, aby zautomatyzować cały proces. Programiści Amaroka czekają na poprawki i łatki. Czekają też na pomoc ze strony artystów, testerów i ludzi, którzy mogą oferować pomoc użytkownikom na kanale #amarok w sieci freenode.
Rozwój Amaroka 2 następuje bardzo szybko. Cytując Marka Kretschmanna - głównego programistę Amaroka: "Jeśli rozwój będzie postępował tak szybko na czas premiery KDE 4 będziemy mieli Amaroka 3 ;)".

