Byl vydán LineageOS 24 (Mastodon). LineageOS (Wikipedie) je svobodný operační systém pro chytré telefony, tablety a set-top boxy založený na Androidu. Jedná se o nástupce CyanogenModu. LineageOS 24 je založený na Androidu 17.
Společnost Valve publikovala na svém GitLabu nákresy a schémata zapojení headsetu Steam Frame. Pro nekomerční účely.
Soutěž Pwn2Own Ireland 2026 skončila 9. října. Bezpečnostní výzkumníci získali celkem 1 262 000 dolarů na odměnách. Během soutěže bylo předvedeno zneužití 98 zero-day zranitelností. Testování zahrnovalo různé kategorie zařízení a software. Výzkumníci předváděli prakticky fungující útoky podle pravidel soutěže. Výsledky následně slouží výrobcům při přípravě oprav. Mezi pokořenými jsou: Samsung Galaxy S26, OpenAI Codex, Oracle Autonomous AI Database, Google Pixel 10, u iPhone 17 neuspěli.
Programovací jazyk Python byl vydán v nové verzi 3.15.0. Podrobný přehled novinek v aktualizované dokumentaci.
BIGWORDS.PAGE je open-source webová aplikace, která po otevření odkazu v prohlížeči vykreslí přes celou obrazovku jednoduché informační sdělení. Zpráva i její nastavení jsou uložené v části URL za znakem #, například odkaz https://bigwords.page/#abclinuxu zobrazí jako velký bílý nápis 'abclinuxu' na černém pozadí. Obsah odkazu lze upravovat i vestavěným editorem, ten umožňuje nastavovat formátování a vizuální efekty textu, časovače, QR kódy a obrázky. Zdrojový kód je dostupný pod licencí MIT na GitHubu.
V neděli 11. října proběhne rotace klíče kořenové zóny. Podruhé v historii. Ondřej Filip na blogu CZ.NIC: "Pokud je pro Vás DNS protokol spíše výzva, ale přesto spravujete nějakou síť či DNS resolver, zkuste si jednoduchý test, který připravila firma Cloudflare na této adrese. Obzvláště zbystřit byste měli, pokud uvidíte nějaká červená políčka."
Vláda Spojených států se rozhodla vyřadit americkou softwarovou společnost Microsoft a několik dalších velkých technologických podniků z programu, který umožňuje kvalifikovaným zahraničním pracovníkům získat povolení k trvalému pobytu. Oznámila to včera administrativa amerického prezidenta Donalda Trumpa. Opatření zdůvodnila rozsáhlým zneužíváním programu, který je dlouhodobě terčem kritiky ze strany Trumpových příznivců, neboť prý znevýhodňuje americké pracovníky.
Datové centrum největší ruské technologické společnosti Jandex v Rjazaňské oblasti se stalo cílem dronového útoku a zastavilo provoz. Jandexu se někdy přezdívá „ruský Google“. Provozuje nejoblíbenější internetový vyhledávač v Rusku nebo aplikace pro objednávky jídla a taxi. Využívají jej desítky milionů lidí v rusky mluvících zemích.
Francouzská společnost Mistral AI představila Mistral Large 4 (interně přezdívaný 'le Chonk', volně přeloženo 'pořádný macek'), 'open-weight multimodální hybridní instruct-and-reasoning model s architekturou granulárního MoE, nativně podporující více jak 160 jazyků'. Model má přes jeden bilión parametrů, z nichž při práci využívá 49 miliard, kontextové okno o délce milion tokenů a obrazový enkodér o 1,6 miliardách parametrů.
… více »Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.20. Díky 227 přispěvatelům.
Vítám vás u druhého pokračování seriálu o programu na sázení notových partů
GNU Lilypond. Pokud vás minulý díl
zaujal, tak teď přijde křest ohněm. Ze začátku to bude celkem nevinné a pak
se ponoříme do hlubin překladače, abychom se na závěr vynořili i s nějakými
těmi znalostmi.
Minule se vám (doufám) podařilo nainstalovat Lilypond a ukázali jsme si velmi, velmi jednoduchý příklad. Jenže jedna nota asi hudbu nedělá, takže zkusíme napsat kousek skladby pro klavír:
\version "1.6.3"
\include "paper16.ly"
\include "deutsch.ly"
% \header {
% title = "Imagine"
% composer = "J. Lennon"
% tagline = ""
% }
right = \notes {
\property Staff.TimeSignature \override #'style = #'C
\time 4/4
\clef bass
<e4 g> <e g> <e g> <e g h> |
<f a c'> <f a c'> <f a c'> <f16 a> ais h8
}
left = \notes {
\clef bass
a,8 a a, a a, a a, a | d a d a d a4.
}
\score {
\simultaneous {
\context Staff = upper \right
\context Staff = lower \left
}
\paper {}
\midi {}
}
Uf, tady je toho najednou nějak moc. Nebojte se, zde si ukážeme základy
práce a zbytek už je jen omáčka kolem. První tag je \version. Je
celkem intuitivně zřejmé, k čemu se používá. Během vývoje se přece jen občas
změní syntaxe jazyka a aby skript convert-ly mohl vše správně převést do
nejnovější verze, tak je třeba udržovat tuto informaci.
\include opravdu dělá to, co by od něj člověk očekával.
Vkládá tedy soubor nalezený v cestě. První soubor, tedy
paper16.ly nastavuje všechny potřebné hodnoty podle velikosti
použitého fontu - 16 bodů. Druhý soubor slouží k načtení německých názvů not.
Přece jen jsme asi zvyklejší na h, než na anglické
b.
Dalším tagem je \header. Zde vidíme poprvé to, co bude
následovat téměř všude a to jsou složené závorky. Podobně jako třeba v TeXu
označují nějakou uzavřenou skupinu. Uvnitř \header je možno
nastavit vše, co se bude objevovat kolem notového partu, tedy nadpisy,
autory, nástroje, apod. Jak vidíte, je zapoznámkován. to jen abyste viděli,
že jednořádkové poznámky jsou stejné jako v TeXu. Víceřádková poznámka vypadá
takto %{ ... %}
A teď se blížíme k hudbě, ovšem pozvolna a to přes makra. Makra v pojetí
Lilypondu nejsou zdaleka tak mocná jako TeXová. Nemají žádné parametry, takže
slouží spíše k ukládání opakujícího se kódu a především k rozumnému členění
zdrojového textu. Nadefinujeme tedy makro \right, které bude
obsahovat noty hrané pravou rukou (Ve zdrojovém textu to lomítko opravdu
nechybí, pokud by tam bylo, tak by se Lilypond domníval, že již bylo
definováno, pokusili by se jej rozvinout a už by vám spílal, jak jste ho asi
zapomněli nadefinovat.) \notes říká, že vše co bude následovat
se má interpretovat jako notový záznam (jiné možnosti jsou \chords
a \lyrics, které budeme probírat později).
Nejdříve přeskočíme jeden řádek a nastavíme celý takt pomocí \time
4/4. Tento zlomek může být libovolný. Pokud pro danou kombinaci existuje
nějaká značka (čtyřčtvrťový, dvoupůlový takt apod.) bude vykreslena. V opačném
případě se zobrazí zlomek. Toto chování ovlivňuje vlastnost style.
A tímto se vracíme k předchozímu řádku. Mocným nástrojem Lilypondu jsou právě
vlastnosti jednotlivých objektů.
Nyní od příkladu lehce odbočíme a osvětlíme si způsob, jak vlastně Lilypond pracuje. Vypíšeme si jednotlivé fáze a poté si je popíšeme:
Nejdříve se načtou všechny inicializační soubory a aktivuje se scheme (derivát LISPu). Pak proběhne fáze syntaktické analýzy. Kdo neví, co taková slova znamenají? Někdo se hlásí? No dobře. Pro naše účely povíme velmi zjednodušeně, že (v případě Lilypondu) jde především o kontrolu, zda je vstupní soubor zapsán správně a neobsahuje kupříkladu neuzavřené závorky, překlepy v příkazech a podobně. Pokud jsou všechna vstupní data zadána správně, dojde následně k interpretaci těchto dat. V této fázi se vytváří logický popis hudebního partu v pořadí v jakém by noty byly hrány živými hráči. Z takto získaného popisu lze již stanovit pravidla pro sazbu.
Během syntaktické analýzy se již shromažďují základní údaje, jako
například délky a výšky not (nebudeme přece soubor zbytečně číst dvakrát).
Vytvoří se jakési základní objekty. Hlavními takto vzniklými objekty jsou
Score a Music. První z nich popisuje celistvý úsek
skladby a odpovídá obsahu příkazu \score. Druhý je pak seznamem
všech hudebních událostí v dané části.
Interpretační fáze pak pracuje s jedním objektem Score a
postupně předává hudební události patřičným interpretačním kontextům. Ty
slouží k tomu, aby z hudebních událostí sestavily odpovídající grafické
objekty (GROB). V programu je to zařízeno kolekcí objektů
Music_iterators. Ty procházejí seznam Music a
předávají získaná data objektům Translator. Výsledkem této části
je vlastně hierarchická síť GROBů. Tyto objekty jsou navzájem propojeny a
každý z nich má definovány elastické vazby na své okolí.
To zní hrozně, takže jednodušeji. Třeba osminová nota je definována hlavičkou. K hlavičce se připojí nožička (vazba musí být pevná) a k nožičce praporek opět pevnou vazbou. Tato nota je umístěna v osnově a osnova je navázána na účaří. Celá nota pak má vlastnosti určující, kolik místa minimálně potřebuje a naopak jak nejdál od ní může být nějaký další objekt, třeba pomlka. Technicky je to vlastně soustava rovnic s mnoha neznámými. Podaří-li se tuto soustavu vypočítat máme vyhráno.
A to už se dostáváme k fázi Prebreaking (něco jako předlámání). V místech, kde by mělo dojít ke zlomu, se doplní klíče a svislé čáry a pokračuje se svižně dál. Během Preprocessingu se dopočítají všechny údaje potřebné k přesnému stanovení jednotlivých zlomů. Nyní je možno vypočítat všechny pozice sloupců na které se později umístí jednotlivé GROBy. Tato fáze se nazývá Break calculation (výpočet zlomů). Následuje Breaking (lámání). Nalámání na řádky přineslo nové změny do vztahů mezi jednotlivými GROBy. Tyto vztahy se tedy znovu upraví. Typickým případem takové změny je přerušení ligatury zlomem. Musí se tedy vytvořit místo jedné ligatury dva nové objekty, každý na jiném řádku. A už jsme na konci. Máme vše vypočítáno a můžeme se pustit do tisku. Tuto fázi pro pořádek nazýváme Outputting (výstup).
Snad jste se v tom všem neztratili a všimli jste si interpretačních
kontextů. Tyto kontexty nejsou nic ukrytého hluboko v Lilypondu a dají se
přímo ovlivňovat a vytvářet. Základním kontextem je Score. Ten
obsahuje v našem krátkém příkladu dva kontexty Staff (notová
osnova). Jiným podobným typem kontexte je třeba Staffgroup,
který může obsahovat více Staffů. I uvnitř kontextu
Staff existují kontexty a to Voice a
Thread. První označuje hlas a druhý konkrétní linku not.
Nebudeme se jimi zde zabývat, ale je dobré vědět, že existují. Používají se
třeba pro změnu tvaru hlaviček not pro rozeznání hlasů ve stejné osnově.
Základní kontexty se vytvářejí automaticky, takže když napíšete jen několik
not, automaticky se vytvoří kontext Score obsahující
Staff, který zpracuje vámi zadané noty. Uměle vytvořit kontext
však není problém a v příkladu je tento postup také použit za pomoci příkazu
\context = ... .
A konečně se můžeme vrátit k příkladu. Radši zopakuji řádek, kde se nyní nacházíme:
\property Staff.TimeSignature \override #'style = #'C
Řekli jsme si, že každý kontext má mnoho vlastností. Tyto vlastnosti se
dají měnit pomocí příkazu \property. K vlastnosti se dostaneme
podobně jako leckde jinde. kontext.vlastnost. Následuje metoda,
jakou chceme tuto vlastnost změnit. Na výběr jsou tyto čtyři: =,
\override, \set a \revert. První se používá pro nastavení
vlastností celého kontextu. Zbylé tři nastavují vlastnosti GROBů uvnitř
kontextu a mají tedy navíc další parametr - jméno vlastnosti GROBu. Rozdíly
mezi \set a \override ponecháme pokročilejším a
spokojíme se s tím, že si většinou vystačíme právě s \override.
\revert podle očekávání mění booleovská nastavení do opačné
polohy (např. směr nožiček).
Poslední upozornění se týká znaku #. Ten slouží k přepnutí ze
syntaxe Lilypondu do syntaxe Scheme. Všechny objekty jsou totiž popsány ve
Scheme a musíme k nim tak přistupovat. Apostrof v Scheme značí, že bude
následovat textový řetězec, tedy název vlastnosti. A co to tedy celé dělá?
Říkáme, že se má vykreslit znak 'C', nikoliv zlomek 4/4. Tolik textu kvůli
takové prkotině? No to jsem vám jen chtěl osvětlit, jak to všechno pracuje.
Pak následuje celý blok not. Zápis not je opravdu jednoduchý. První část
je název noty (norma pro názvy not, lze načíst třeba takto \include
"deutsch.ly"), nebo r jako pomlka (rest) dále řekneme, ve které oktávě
nota leží. Apostrofy a čárky odpovídají patřičným oktávám. Za tím vším se
může objevit případné prodloužení noty pomocí teček. Mezi notami jsem ukázal
několik základních značek. Kulaté závorky označují začátek a konec ligatury.
Hranaté přikazují zalomení trámců na daném místě.
Následuje \paper. Tag obsahuje všechna technická nastavení.
Většinou stačí jeho uvedení s prázdným tělem. Pokud by tu totiž nebyl vůbec
Lilypond by nevytvořil žádný tiskový výstup. Na co je dobré netisknout? Třeba
si chceme jen poslechnout hudbu. Kromě tisku vytváří Lilypond i zvukový
výstup ve formě MIDI souboru. Nečekejte nic světoborného, je to dobré
především na akustickou kontrolu. Druhý důvod proč netisknout může být
syntaktická kontrola zapsaného textu. Zpracování souboru bez tisku je totiž
výrazně rychlejší (nepočítají se žádné pozice).
Další je \midi. Ten nám říká, že se má generovat i zvukový
soubor. Je to podobné jako s \paper. Uvnitř se dá nastavit
například tempo, nebo výchozí hudební nástroj.
Na závěr tohoto dílu si dovolím upozornit na rozsáhlou a dle mého názoru opravdu výtečnou dokumentaci (včetně desítek příkladů) k projektu. Jen na okraj, co bude příště: Ukážeme si zápis akordových značek a textů. Oba postupy jsou vhodné zejména pro zápis běžných popových písniček.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Vitula
Vitula
! Je fakt, ze MT chce doinstalovat nejaky nadstavby a doplnky, pokud clovek chce rozumne psat vicehlasy a nebo treba slova. Jestli si Lilypond lip hlida jeste kolize a pod. tak to je asi fakt lepsi.
Jinak MT se taky vyviji, ale netusim, jestli se tempo da nejak srovnavat. Ostatne, nevim kolik toho je, co MT jeste neumi ...
Diky za poucny serial!
Wanthalf