LINUXSOFT.cz Přeskoč levou lištu

ARCHIV



   

> XMMS2 - návrat krále

Pamatujete si ještě Linux Winamp aka XMMS? Dlouhou dobu to byl jediný použitelný Open Source přehrávač. Projekt XMMS2 je jeho kompletním remakem.

22.6.2006 08:00 | Radim Kolář | Články autora | přečteno 13476×

XMMS

Kdo by neznal Linuxový Winamp - XMMS, byla to jedna z prvních linuxových 'Killer App'. Winamp byl tehdy (kolem roku 1998) velmi populární přehrávač mp3 souborů a těžko byste hledali Windows se zvukovou kartou bez Winampu.

XMMS přišel ve správný čas, uživatelské rozhraní měl téměř shodné s Winampem a málokdo se tehdy zajímal, co vlastně ta zkratka XMMS znamená, byl to prostě náš linuxový Winamp. Podobně jako originál byl skinovatelný a bylo možné k němu psát pluginy, kterých vzniklo poměrně rychle velké množství, jak se sami můžete přesvědčit na jeho homepage.

Jako uvědomělá opensource aplikace typu 'Killer App' XMMS velmi úspěšně zabíjel jistý uživatelský systém s modrým pozadím. Pro konverzi uživatelů se používala sympatická trojka složená z Netscape Navigátoru, KDE a našeho hrdiny XMMS, která si získala srdce nejedné uživatelky.

XMMS se stalo populárním a udrželo se na špici hezkých pár let. Konkurenční přehrávače sice existovaly např. ZINF, ale zájem o ně byl pramalý; zinf, ačkoliv nevypadal nejhůře a běhal dokonce i pod Win32, měl potíže se stabilitou. Kromě toho, když jste měli kvalitní, udržovaný, stabilní a skinovatelný přehrávač se spoustou pluginů, nebyl důvod shánět něco jiného.

S příchodem masového rozšíření videa začala sláva XMMS pohasínat. Video nebylo nikdy v XMMS slušně podporováno. Existovaly sice pluginy pro jeho přehrávání, ale nebyly nic moc, jelikož API poskytované pluginům bylo pro seriozní přehrávání videa značně nevhodné. Ono nebylo dost vhodné ani pro přehrávání audia, pokud jste chtěli něco víc než jen prosté přehrávání - např. titulky. Autorům se nechtělo API nějak zásadně předělávat, jelikož již existovala spousta pluginů.

Nastala tak pozvolná migrace uživatelů od XMMS k velké trojce skládající se z XINE, Video on LAN a Mplayeru. Všechny video přehrávače zvládaly pochopitelně přehrávání audia levou zadní a vývojáři z open source komunity dodali hezky vypadající skinovatelná grafická rozhraní. Jelikož uživatelé byli většinou líní používat dva přehrávače, ztratili o XMMS víceméně zájem. Ani autoři se nesnažili nějak radikálně XMMS předělat a v současné době je projekt víceméně v bugfix režimu.

XMMS2

Bylo jasné, že pokud má XMMS vstát z mrtvých, je třeba jeho radikální přepracování. XMMS2 tedy začal na zelené louce s využitím know-how načerpaného z předchozího projektu. Autorem XMMS2 je Peter Alm, autor XMMS. Jméno nového projektu je tentokrát X(cross)platform Music Multiplexing System.

Peter zvolil pro nový projekt architekturu klient-server. Server je složen z jádra a řetězce transportních pluginů, dekódovacích pluginů, efektových pluginů, výstupních pluginů, pluginů pro playlisty a konečně i podpora export datu pro vizualizaci klientem. Server taktéž obhospodařuje knihovnu metadat, ve které může klient vyhledávat pomocí SQL dotazů. Více informací o architektuře XMMS2 najdete zde.

XMMS2 není navržen jako video přehrávač a podpora videa se neplánuje, neboť autor je zásadně proti podpoře videa v XMMS2 v jakékoliv formě. Žádat o začlenění videa je tedy stejné jako nosit sovy do Atén.

Autor se také z chyb v designu XMMS poučil a projekt již důsledně využívá existující knihovny pro dekódování audia, ogg dekóduje knihovna vorbis a mp3 jsou dekódovány libmad. Pro výstup se používá knihovna ALSA. Technicky vzato všechny uvedené knihovny jsou volitelné, povinné pro sestavení jádra přehrávače jsou jen dvě - glib2 a sqlite3. Jako framework pro překlad je použit SCons, takže je nutné jej mít spolu s Pythonem nainstalován.

Praxe

Jak jsem již napsal, XMMS2 využívá klient-server architekturu. V základním balíku je server představován programem xmms2d a klient programem xmms2. Teprve po spuštění démona: xmms2d -q & můžeme začít s xmms2 pracovat. Démon standardně ukládá data v uživatelově $HOME, takže každý uživatel může mít jak svoji knihovnu metadat, tak i svou instanci démona, neboť defaultně je komunikace přes TCP zakázána a ipc sokety v tmp obsahují jméno uživatele (i.e. /tmp/xmms-ipc-clanky). Někdy se démon odmítne spustit, pokud neexistuje adresář ~/.xmms2 a je nutné jeho ruční vytvoření. U betaverze lze takové chování omluvit.

Dalším krokem je import hudebních souborů. K tomu slouží příkaz xmms2 mlib addpath adresář, který rekurzivně proscanuje adresář a do knihovny médií přidá metadata odpovídající nalezeným souborům. Jedná se o poměrně rychlou operaci. Pokud se metadata souborů změní (např. pomocí id3 editoru) lze příkazem xmms2 mlib rehash zajistit jejich opětovnou synchronizaci.

V takto vytvořené knihovně lze hledat v tzv. simple módu např. xmms2 mlib search title=%krishna. Pokud by nám toto vyhledávání nestačilo je možné pomocí xmms2 mlib query používat přímo dotazovací jazyk SQL, přesněji řečeno jeho podmnožinu podporovanou sqlite3 enginem.

Knihovna metadat obsahuje kromě souborů také playlisty. O import/export playlistů se starají pluginy, v standardní instalaci najdete zahrnutou podporu pro formáty pls a m3u. Zaujalo mne, že si xmms2 pamatuje aktuální pozici v playlistu i po restartu xmms2d.

Ovládání

Xmms2 se v současnosti ovládá pouze z příkazové řádky. Existují sice grafické a dokonce i web nadstavby, ale ty nejsou standardně dodávány. Ovládání z příkazové řádky je díky rozdělení programu na serverovou a klientskou část velmi pohodlné. Osobně jej považuji za největší praktický přínos tohoto projektu, jelikož jsem si programy ovládané z příkazové řádky oblíbil.

A tak můžeme xmms2 velice snadno ovládat pomocí intuitivních příkazů jako xmms2 play, xmms2 stop, xmms2 next atd. Tyto příkazy nečekají na dokončení požadované akce, pouze předají pokyn xmms2 démonu a skončí. Toto je velké plus, neboť je lze bez problémů použít z různých IDE prostředí za použití volby spusť příkaz.

Rozšiřování

Xmms2 je naprogramováno v jazyce C a proto je nejsnadnější psát pluginy v tomto jazyce. Pokud chcete napsat k xmms2 klienta, není nutné a ani doporučované komunikovat s xmms2d přímo. K tomuto účelu byla vytvořena knihovna. Tuto knihovnu lze v současné době využívat z C++, Ruby, Pythonu a Javy. Autoři doporučují použití interpretovaných jazyků, neboť v nich lze vyvíjet rychleji.

Shrnutí

Xmms2 je dobrý program. Mezi jeho hlavní pozitiva patří modulární architektura, snadné psaní pluginů a klientů, hezké ovládání z příkazové řádky, knihovna metadat a architektura klient-server. Pokud máte rádi programy ovládané z příkazové řádky, rozhodně nebudete zklamáni.

Verze pro tisk

pridej.cz

 

DISKUZE

mpd 22.6.2006 12:13 Michal Čihař
Hmmm, k cemu ? 22.6.2006 13:03 Milan Hejpetr
|- Re: Hmmm, k cemu ? 22.6.2006 13:51 Lukáš Lommer
|- Re: Hmmm, k cemu ? 22.6.2006 21:15 Radek Steiger
L Re: Hmmm, k cemu ? 26.6.2006 01:29 Jozo Gercak
Další aplikace pro programátory 22.6.2006 15:37 TaK
L Re: Další aplikace pro programátory 22.6.2006 16:16 daeltar
  L Re: Další aplikace pro programátory 22.6.2006 17:31 Dalibor Smolík
Na XMMS nedám dopustit 23.6.2006 08:54 Michal Obešlo
xmms mi nevyhovuje 24.6.2006 21:26 camlost
budoucnost 26.6.2006 17:40 Karel Honzl
  L MPlayer 28.6.2006 21:54 Dal Horinek




Příspívat do diskuze mohou pouze registrovaní uživatelé.
> Vyhledávání software
> Vyhledávání článků

28.11.2018 23:56 /František Kučera
Prosincový sraz spolku OpenAlt se koná ve středu 5.12.2018 od 16:00 na adrese Zikova 1903/4, Praha 6. Tentokrát navštívíme organizaci CESNET. Na programu jsou dvě přednášky: Distribuované úložiště Ceph (Michal Strnad) a Plně šifrovaný disk na moderním systému (Ondřej Caletka). Následně se přesuneme do některé z nedalekých restaurací, kde budeme pokračovat v diskusi.
Komentářů: 1

12.11.2018 21:28 /Redakce Linuxsoft.cz
22. listopadu 2018 se koná v Praze na Karlově náměstí již pátý ročník konference s tématem Datová centra pro business, která nabídne odpovědi na aktuální a často řešené otázky: Jaké jsou aktuální trendy v oblasti datových center a jak je optimálně využít pro vlastní prospěch? Jak si zajistit odpovídající služby datových center? Podle jakých kritérií vybírat dodavatele služeb? Jak volit vhodné součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně datové centrum spravovat? Jak co nejlépe eliminovat možná rizika? apod. Příznivci LinuxSoftu mohou při registraci uplatnit kód LIN350, který jim přinese zvýhodněné vstupné s 50% slevou.
Přidat komentář

6.11.2018 2:04 /František Kučera
Říjnový pražský sraz spolku OpenAlt se koná v listopadu – již tento čtvrtek – 8. 11. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma umění a technologie, IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář

4.10.2018 21:30 /Ondřej Čečák
LinuxDays 2018 již tento víkend, registrace je otevřená.
Přidat komentář

18.9.2018 23:30 /František Kučera
Zářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář

9.9.2018 14:15 /Redakce Linuxsoft.cz
20.9.2018 proběhne v pražském Kongresovém centru Vavruška konference Mobilní řešení pro business. Návštěvníci si vyslechnou mimo jiné přednášky na témata: Nejdůležitější aktuální trendy v oblasti mobilních technologií, správa a zabezpečení mobilních zařízení ve firmách, jak mobilně přistupovat k informačnímu systému firmy, kdy se vyplatí používat odolná mobilní zařízení nebo jak zabezpečit mobilní komunikaci.
Přidat komentář

12.8.2018 16:58 /František Kučera
Srpnový pražský sraz spolku OpenAlt se koná ve čtvrtek – 16. 8. 2018 od 19:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát jsou tématem srazu databáze prezentaci svého projektu si pro nás připravil Standa Dzik. Dále bude prostor, abychom probrali nápady na využití IoT a sítě The Things Network, případně další témata.
Přidat komentář

16.7.2018 1:05 /František Kučera
Červencový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 7. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát bude přednáška na téma: automatizační nástroj Ansible, kterou si připravil Martin Vicián.
Přidat komentář

   Více ...   Přidat zprávičku

> Poslední diskuze

31.7.2023 14:13 / Linda Graham
iPhone Services

30.11.2022 9:32 / Kyle McDermott
Hosting download unavailable

13.12.2018 10:57 / Jan Mareš
Re: zavináč

2.12.2018 23:56 / František Kučera
Sraz

5.10.2018 17:12 / Jakub Kuljovsky
Re: Jaký kurz a software by jste doporučili pro začínajcího kodéra?

Více ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2024) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze