Ogłoszono wydanie Exaile 3.4.0 – programu do odtwarzania muzyki dla systemów uniksopodobnych, opartego na GTK+ i wzorowanego na Amaroku. Napisany jest w Pythonie i wykorzystuje framework multimedialny GStreamer. Do jego zalet należy: pobieranie tekstów utworów i okładek albumów dla płyt, obsługa LastFM oraz iPoda wielu odtwarzaczy, wbudowana przeglądarka katalogu shoutcast, listy utworów w kartach. Aplikacja potrafi obsługiwać duże kolekcje muzyczne.
Najważniejsze zmiany:
- Pojawiła się opcja zmiany wyjścia dźwięku podczas odtwarzania
- Udoskonalono obsługę Unicode
- Dodano opcję do blokady odtwarzania innego utworu, kiedy aktualna piosenka już gra
- Dodano obsługę UDisks/UDisks2
- Udoskonalono menedżera okładek, który zapisuje je na dysk
- Listy odtwarzania mogą być wyświetlane w wielu oknach
- Od teraz można zamykać panele po lewej stronie
- Udoskonalono integrację wtyczki licznika BPM
- Ulepszono inteligentne listy
- Uproszczono API dla wtyczek
- Menedżer nie pokazuje już potencjalnie uszkodzonych wtyczek
- Dodano nowe wtyczki: Icecast Radio, lyricsmania, mono output, playlist analyzer, Soma.FM
- Naprawiono sporo błędów
GTK+? Niesamowite że ktoś jeszcze pod tym cokolwiek pisze…
Pokaż podobny program w Qt. Qt jest dobry, łatwość przenoszenia programów i projektowania jest zauważalna, ale nic nie zastąpi lat rozwoju programu i lat pilnowania, by z programu nie zrobić bloatware (patrz Amarok).
W qml-u taki program robisz w dwie godziny. Zdaje się że odtwarzacz muzyki jest nawet w Qt Examples.
Lubię tą studencką wycenę czasu.
Jeszcze dodaj, że mógłbyś napisać taki za 400zł.
Tak jest, dlaczego nie pisać od razu w asmie? :D
Nie wiem o czym piszesz…
Szefie – student i za 200zł wykodzi co trzeba, choć normalna firma wzięłaby za to samo 6-7 razy tyle ;-) Przykra sprawa, ale studenci to nieprofesjonalna, ale bardzo tania siła robocza (a często i darmowa, bo korporacje z przytupem chętnie takich na staż za free przygarną).
A czy nie jest czasami tak, że QML można traktować bardziej jak coś w stylu CSS, czyli do rysowania GUI, ale i tak do logiki aplikacji musisz zapędzić np. C++?
Jeśli tak, no to GUI narysujesz we wszystkim i to nawet w 30-60 minut popijając kawę, ale już mechanika każdej funkcji z osobna na pewno nie zajmie 2h. Chyba, że naprawdę dobremu programiście, który z góry już wie jak to napisać.
Ach – no jeszcze QML można skryptować JavaScriptem z tego co wiem, czyli tak czy siak logikę aplikacji opierasz na czymś, a dzięki QML szybko rysujesz GUI. W sumie to dobra rzecz do pisania stacjonarnych appek w JavaScripcie, ale w tym makaronie nie chciałbym rzeźbić całych aplikacji (dlatego zrezygnowałem z pisania np. pod Firefox OS).
No to i tak mamy punkt początkowy – QML jako taki samowystarczalny nie jest, zatem w 2h to najwyżej narysuje się GUI, ale tak bez przygotowania logika – bez szans.
Nie do końca. W Qml-u możesz zakodzić bardzo wiele z logiki samego GUI, bardziej skomplikowane rzeczy napiszesz w JavaScripcie. Tylko backend musisz zaimplementować w C++, ale akurat Qt ma wszystkie niezbędne narzędzia do odtwarzania audio/wideo.
Clementine. BTW Spotify też jest pisane w QT.
Testowałem Clementine, w pewnych aspektach zrobił się z tego bloatware (powiązania z siecią, okna i okienka) a w pewnych sporo mu brakuje (wsadowe przetwarzanie tagów dla wielu utworów).
Ale pisze to użytkownik Debiana i to Stable, może tagi już ta się edytować dla kilku utworów na raz, a dodatki sponsorowane wyłączyć.
Chociaż żeby zmniejszyli ilość użytej pamięci (ponad 100MB! – Exaile bierze ok. 25) nie sądzę.
Można edytować tagi całych albumów czy wykonawców, nie ma z tym najmniejszego problemu. Rzeczywiście, Clementine posiada masę różnych dodatków, integracji, pluginów i czego tam jeszcze. Czy to źle? Nie wydaje mi się. Ja u siebie mam po prostu powyłączane to, czego nie potrzebuję (wyłączam już na etapie konfiguracji/kompilacji). A zużycie pamięci? Jak mam 8GB to mam to gdzieś czy program zużywa 20MB czy 100MB. Czasy, kiedy oszczędzało się każdy kilobajt RAM-u minęły wiele lat temu.
Niestety wielu ludzi ma to gdzieś.
I z tego powodu mamy np. routery, które mają za mało pamięci by poinformować mailem, że ktoś brute-force’uje hasło ale wystarczająco dużo żeby rozsyłać spam z wgranego przez intruza oprogramowania.
GTK+ mimo wszystko _nie_jest_ takie złe. Owszem – może nieco zamotane, ale jak wszystko – kiedy już opanujesz to piszesz. Nie rozumiem tej nagonki na GTK, szczególnie po wprowadzeniu dekoracji po stronie klienta (samo w sobie niczemu to nie wadzi i nie powoduje wybuchu systemu).
Weź też pod uwagę, że Exaile nie powstał dziś – wiem, że używałem go już przynajmniej 3 lata temu. Skoro autorzy znali GTK niż Qt, to nie ma czemu się dziwić. Owszem – dziś jako cross-platform to sam wziąłbym Qt, ale jeszcze z parę lat do tyłu to pierwsza myśl – GTK.
Polecam MVC z ThreeView. Zmienisz słowo „nieco” na mocniejsze ;-)
Zamotanie to tylko czubek góry lodowej. Sam pisałem ostatnio jedną rzecz z uzyciem GTK+, Cairo oraz Cluttera. W porównaniu do Qt dokumentacja jest tragiczna, a ja sam odniosłem wrażenie że całe API jest po prostu źle zaprojektowane, tak na „odwal się”. Możliwe że kiedyś GTK+ było popularniejsze niż Qt, ale to jeszcze niestety o niczym nie świadczy. Weźmy takiego Wiresharka, którego developerzy spostrzegli że brnięcie dalej w to bagno po prostu nie ma sensu.
Tu nie chodzi o nagonkę na GTK+, zawsze powstrzymuję się przed osądami na temat rzeczy, o którym nie mam dostatecznego pojęcia. Ale dane mi było korzystać z obu rzeczy, z GTK+ oraz z Qt i mam jako-takie porównanie.
P.S. Mówiącym że pod Qt nie ma dobrych odtwarzaczy proponuję rzucić okiem na http://qt-apps.org/index.php?xcontentmode=4220×4221&PHPSESSID=3223ccaaa85fda1e553e74f7d2126dd1 Każdy na pewno znajdzie coś dla siebie ;)
Jak się wysypałeś na cairo i clutterze to jesteś raczej słabym koderem.
To są jedyne najlepsze elementy tej platformy.
Nie powiedziałem że się wysypałem. Projekt zrobiłem i działa. Tyle że dokumentacja jest szczątkowa, przykładów jest mało, a całość próbuje imitować niektóre funkcjonalności z C++, dosyć nieudolnie, psując przy tym całe piękno kodu w C.