V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …
Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.
Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.
Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.
Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.
Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.
Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.
Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.
Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.
Byla vydána nová stabilní verze 6.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 124. Přehled novinek i s náhledy v příspěvku na blogu. Vypíchnout lze Spořič paměti (Memory Saver) automaticky hibernující karty, které nebyly nějakou dobu používány nebo vylepšené Odběry (Feed Reader).
TepSonic je malý, jednoduchý, rychlý, multiplatformní audio přehrávač napsaný v C++ a Qt, který bych rád představil i komunitě tady, na abíčku.
TepSonic, podobně jako třeba Amarok, podporuje kolekce. Data se ukládají do SQLite nebo MySQL databáze. Je snadno rozšiřitený formou pluginů, ale zatím má jen plugin pro spojení se službou na Last.fm. Nemá moc žádných hustodémonsky-übercool featur, cílem je, aby byl malý a uměl hlavně to, co opravdu potřebuju. Nebráním se samozřejmě návrhům na nové funkce - pokud budou mít smysl a užitek, proč ne?!
Pro načítání metadat používá osvědčenou a prověřenou knihovnu taglib. Last.fm scrobbler plugin ještě donedávna používal vlastní implementaci Last.fm API, přešel jsem ale na lastfmlib (neplést s liblastfm!), která je dokonalejší než moje vlastní implementace.
Očekávám, že se objeví v diskuzi otázky typu proč radši nepřispívám do existujících projektů, takže tu i rovnou odpovím: myslím si, že tvorbou vlastního programu se naučím víc, než jen posíláním patchů do jiného projektu - takhle se naučím i něco o návrhu aplikací. Což je pravda - většinu částí jen přepisuju, jak se postupně učím řešit věci lépe.
V současnosti TepSonic podporuje 3 základní platformy: primárně Linux, ale funguje i na Windows (ačkoliv tam jsou nějaké potíže se stabilitou), a díky Petru Vaňkovi jde přeložit i na Macovi (ale nevím, jak to běhá). Ani ne za měsíc budu na privátu mít k dispozici Macbook, takže to budu moct pořádně testovat i verzi pro Macka.
Pokud někdo budete mít chuť, budu rád, když TepSonic vyzkoušíte. Uvítal bych nějakou konstruktivní kritiku, feedback, bug reporty, rád se nechám poučit jak udělat věci lépe.
Zdrojáky: git clone http://git.gitorious.org/tepsonic/tepsonic.git
Homepage: www.tepsonic.org
Bugzilla: bugs.tepsonic.org
Chtěl jsem založit i mailinglisty, ale asi bych si v nich povídal jen sám, takže zatím pokud máte nějaké připomínky, email vratil zavináč progdansoft tečka com nebo jabber progdan@jabber.cz to jistí :)
Tiskni Sdílej:
pak jeste takova vec, mp3 a flacy mi tepsonic normalne prehraje, ale wma ignoruje, ani je neprida do kolekce. s tim by se taky melo neco udelat, jestli to hraje pres nejakej xine backend tak ten by to mel normalne umet.
no snad sem se vyzvejk jasne a srozumitelne co mi tam chybi, ale pro jistotu to este shrnu - prehravani wma a podpora various artist v kolekci (primo nutnost pro vybery a soundtracky).co mi tam chybi ... prehravani wmaKeďže ten prehrávač je len GUI k phonon, tak musíš prehrávanie wma súborov riešiť práve tam (FFmpeg si s wma poradí, takže to je asi len vec správnych prepínačov pri kompilovaní).
a nebo z pohodlnosti zustanu u konzolovyho MOC (ten to bere podle adresaru a souboru a zadny kolekce neresi, jen playlist)
hustodémonsky-übercoolKterej rok to bylo naposledy vtipný? Jinak program nevypadá špatně. Dokonce bych řekl, že vypadá skoro stejně dobře jako Rhythmbox. ;)
Očekávám, že se objeví v diskuzi otázky typu proč radši nepřispívám do existujících projektů, takže tu i rovnou odpovímTakové otázky vesměs pokládají přihřátí lemplové, co nikdy nikam nepřispěli. Zaráží mě, že se jim to ještě někdo snaží vysvětlovat. Když budeš chtít, můžeš si napsat třeba padesát takových programů - a jim po tom bude pořád stejné hovno.
[kotyz@behemot ~]$ tepsonic
TepSonic(7825): ""CurrencyIntroducedDate" - conversion of "" to QDate failed" " (wrong format: expected 3 items, got 1)"
TepSonic(7825): ""CurrencyIntroducedDate" - conversion of "" to QDate failed" " (wrong format: expected 3 items, got 1)"
Searching in ("/usr/bin/plugins", "/usr/lib")
()
Database revisions don't match: Found revision "5" , expected revision "6"
Collections will be rebuilt
Initializing database structure
Database revisions don't match: Found revision "5" , expected revision "6"
Collections will be rebuilt
Initializing database structure
Loading plugin "/usr/lib/libtepsonic_lastfmscrobbler.so.0.2.0"
Starting collections update...
the final supported extension list: ("*.ac3", "*.flac", "*.mp3", "*.mp4", "*.ogg", "*.wav", "*.wma", "*.aif", "*.aiff", "*.asf", "*.mp2", "*.mpc", "*.ra", "*.ram", "*.wv")
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
QSortFilterProxyModel: index from wrong model passed to mapFromSource
Neoprávněný přístup do paměti (SIGSEGV)
spolecne udelame z tepsonicu lepsi program! (jeste mam v rukavu par poznamek ohledne vzhledu, ale ty si necham na pozdeji, az nebudou dulezitejsi veci k predelani).
(gdb) bt #0 0x0000000000460f23 in CollectionBuilder::insertTrack (this=0xb56780, filename=..., sqlDB=0xb64360) at /home/vojta/scm/tepsonic/player/collections/collectionbuilder.cpp:200 #1 0x000000000045fc97 in CollectionBuilder::run (this=0xb56780) at /home/vojta/scm/tepsonic/player/collections/collectionbuilder.cpp:117 #2 0x00007ffff6b29a35 in ?? () from /usr/lib64/qt4/libQtCore.so.4 #3 0x00007ffff51a0644 in start_thread () from /lib/libpthread.so.0 #4 0x00007ffff5b8abfd in clone () from /lib/libc.so.6 #5 0x0000000000000000 in ?? ()