Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
Software
Quartz Composer: typy patchů
28. června 2005, 00.00 | Minule jsme se především naučili pracovat se vstupy a výstupy patchů – základních jednotek, z nichž v Quartz Composeru sestavujeme komplexní animace – a vzájemně je propojovat podle potřeby. Dnes si řekneme trochu více o tom, jak patche přesně fungují, a jaké jsou jejich typy.
Minule jsme se především naučili pracovat se vstupy a výstupy patchů – základních jednotek, z nichž v Quartz Composeru sestavujeme komplexní animace – a vzájemně je propojovat podle potřeby. Dnes si řekneme trochu více o tom, jak patche přesně fungují, a jaké jsou jejich typy.
Jak už víme z předchozích dílů našeho miniseriálku, patche dokáží dělat řadu věcí: mohou zpracovávat nějaký vnější vstup (systémový čas, polohu myši, stream novinek RSS...) a předat jej prostřednictvím svých výstupů k dalšímu zpracování; mohou zpracovávat svůj vstup a předat na výstup jeho upravenou versi (formátování data, obrazové filtry Core Image); mohou také svůj vstup prostě zobrazit.
Tyto tři základní typy patchů pro lepší orientaci odlišuje Quartz Composer i formálně; v jeho okně to vidíme na první pohled podle barvy titulku obdélníka, jenž patch representuje:
- modrý titulek mají patche typu provider: obvykle nabízejí jen výstupy, neboť jejich úkolem je zpřístupnit nějaký externí údaj ostatním patchům – u patche "System Time" na minulém obrázku to je systémový čas;
- patche se zeleným titulkem jsou procesory; ty zpracovávají vstupní údaje (u patche "Image With String" na minulém obrázku textový řetězec a další atributy), a na jejich základě generují výstup (obrázek a jeho atributy);
- patche typu consumer mají titulek růžový; tyto patche obvykle mají pouze vstupy, neboť jejich úkolem je v rámci generované animované komposice to, co se objeví na jejich vstupu, zobrazit.
Typy patchů jsou poměrně důležité také proto, že každý typ je zpracováván trochu odlišným způsobem. Základním typem je consumer, neboť právě a jen díky němu vůbec v komposici něco vidíme.
Každý consumer vždy obsahuje atribut "Enable". Součástí titulku každého consumeru je pořadové číslo, jež určuje pořadí jeho zpracování v rámci komposice; kdykoli Quartz Composer při renderování komposice potřebuje vytvořit její obsah, projde postupně všechny consumery právě v tomto pořadí a ty, jejichž atribut "Enable" má hodnotu "true", zpracuje. Pořadové číslo můžeme určit pomocí kontextové nabídky nad patchem:
Ostatní patche se zpracovávají "on demand": teprve ve chvíli, kdy některý consumer požaduje zobrazení, získají se vstupní hodnoty z k němu připojených providerů a zpracují se pomocí případných procesorů.
Právě vzhledem k tomuto systému zpracování obvykle v Quartz Composeru nevidíme žádné hodnoty u patchů, jež nejsou zapojeny: umístíme-li do komposice třeba "System Time" a jeho výstup necháme nezapojený, a podíváme se na jeho hodnotu (jak už umíme od minula, třeba tak, že nad výstupním portem chvilku necháme "viset" kursor myši, aby se zobrazil tooltip), bude hodnota vždy nula. Teprve zapojíme-li jej do nějakého consumeru, uvidíme skutečné hodnoty systémového času.
Quartz Composer kromě typů patchů podle zpracování rozlišuje také základní patche a tzv. makra, jež mohou sama obsahovat vnořené komposice z více patchů; na to se ale podíváme zase až příště.
Obsah seriálu (více o seriálu):
- Mac OS X Tiger - Vývojářské aplikace nejen pro vývojáře!
- Quartz Composer: základy
- Quartz Composer: co je to "patch"
- Quartz Composer: typy patchů
- Makra Quartz Composeru
- Speciální služby Quartz Composeru
- Quartz Composer pro programátory