Zobrazují se příspěvky se štítkemprogramy. Zobrazit všechny příspěvky
Zobrazují se příspěvky se štítkemprogramy. Zobrazit všechny příspěvky

pondělí 19. prosince 2011

Přehrávač hudby deadbeef

Najít rozumný přehrávač hudby pro Linux byl podle mne téměř vždy celkem problém - xmms2 byl velice zdařilý klon winampu, ale prakticky neustále trpěl problémy s leakováním paměti. Dalším přehrávačem, co jsem zkoušel byl Audacious. Celkem důstojný nástupce xmms2, ale pro moje potřeby přehrávání hudby celkem přehnaně komplikovaný. Nedávno jsem se proto rozhodl projít web a zkusit se porozhlédnout po něčem novém. A našel jsem...

Přehrávač pojmenovaný správně programátorsky deadbeef mne zaujal svojí modulární filozofií a smysluplnými pluginy (podpora obsahuje spoustu formátu audia a základní DSP magii). Rozhodně doporučuji k vyzkoušení :-) .

Jediná věc, která mi u přehrávače chyběla byla podpora pro aktualizaci přehrávané hudby v IM klientu. A co se dá čekat od programátora? No prostě jsem si plugin aktualizující Tune v PSI napsal :-D. Můžete si ho stáhnout na adrese http://densuke.spjk.cz/users/devyx/deadbeef-plugin-psitune.tar.gz.
 

PS: Teď se zase snad dostanu k tomu sem psát častěji ^_~

pondělí 8. března 2010

Trocha historie - dxhttpd

Tak tohle byl můj první velký programátorský projekt - plán byl vytvořit malý webserver, který bude sloužit jako základ pro další projekty. Rozšířená funkcionalita měla být realizována pomocí přilinkovaných modulů. Nakonec se použití omezilo na maturitní práci, která byla jednou z motivací tohohle řešení.
Kód zde nechávám k dispozici jako ukázku toho jak webový server nepsat. V první řadě je pěkně blbý nápad využívat na síťovou komunikaci služeb fread a fwrite (unixové systémy mají krásné volání open, read a write, které nemají takovou režiji). Další věc, kterou je opravdu lepší nepoužívat je provoz ve více vláknech - syscally typu select a poll jsou v tomhle případě nádherně použitelné a mnohem efektivnější (tohle si mnohdy lidé neuvědomují ani u komerčních projektů, kde by se mohla ušetřit hromada problémů).
A nakonec samotný kód, doufám, že se budete bavit při jeho čtení (je to celkem sranda). Ve verzi 2 už to dokonce tolik nepadá. Verze 1 pak segfaultovala celkem běžně :)