přihlášení uživatele
přihlásit trvale na tomto počítači
vyhledávaní

žádnýMax for Live - Extrémně osobní Ableton Live

19.01. | Autor: Martin Jirsák | sekce: pro muzikanty - seriály
Dnes se podíváme pouze na jeden jediný objekt. Do souvislosti, tedy do nějakého patche, zasadíme tento objekt později.
Konkrétně se jedná o objekt [dict], celým názvem dictionary, tedy knihovna. Kdo někdy alespoň trošku programoval, tomu bude tento objekt povědomý. Případně jej lze z jiných programovacích jazyků znát jako Hash.
Objekt je dobrý k tomu, že do něj můžeme ukládat a následně z něj získávat data. A to data v tzv. párech. Obvykle tedy máme nějaký klíč (Key) a k němu hodnotu (Value). Zápis v textové podobě (kterou můžeme vidět po dvojitém kliknutí na objekt [dict]) vypadá schematicky takto: { "Klíč 1": 1, "Klíč 2": "hodnota 2", "Klíč tři": ["a", "b", "c"] }. Zejména těm, kteří někdy viděli JavaScript, je tento zápis velmi povědomý.

Max for Live - Extrémně osobní Ableton Live


Ano, jedná se o klasický objekt v JavaScriptu a ve svém důsledku vlastně i data v JSON. A nebudeme si nic nalhávat, ona to data v JSON jsou. A dokonce můžeme data v Max jako soubor JSON ukládat nebo z něj číst, a to právě s pomocí objektu [dict].
K čemu se to hodí? V praxi velmi často potřebujeme definovat, jaká hodnota má být na výstupu, jestliže na vstup přijde určitá hodnota. Vzpomeňme si na náš původní patch, který z jediného tónu vytváří akordy. V něm jsme měli objekt [sel 0 1 2 3 4 5 6 7 8 9 10 11] a pod ním jsme do objektu [message] s hodnotou 3 nebo 4 připojili, které tóny se mají transponovat o tři půltóny, a které o čtyři půltóny. A přitom jsme mohli vytvořit objekt [dict], který by toto definoval mnohem přehledněji (použijeme zároveň i přehlednější způsob zalamování textu):
{
"0": 4,
"1": 3,
"2": 3,
"3": 4,
"4": 3,
"5": 4,
"6": 3,
"7": 4,
"8": 4,
"9": 3,
"10": 3,
"11": 3
}
Můžeme si všimnout, že klíče jsou v tomto případě jen jednoduchou řadou čísel od 0 do 11. Tedy jedná se o tzv. pole (Array). Jak jsem již naznačil v prvním příkladu, i to můžeme v objektu [dict] použít: { "transpozice": [4, 3, 3, 4, 3, 4, 3, 4, 4, 3, 3, 3] }. A jak tedy příslušnou hodnotu nyní z objektu [dict] dostaneme? Do vstupu objektu [dict] připojíme následující objekt [message]: [get transpozice[0]]. Na druhém výstupu se pak objeví: transpozice[0] 4. Tedy jak klíč, tak jeho hodnota. Proč právě tato zpráva? Slovo „get“ říká „dej“, tedy objekt [dict] žádáme, aby nám dal nějakou hodnotu. A sice nám má dát hodnotu klíče transpozice, a konkrétně zde první hodnotu daného pole. A protože se pole číslují od 0, je v hranatých závorkách 0.

Max for Live - Extrémně osobní Ableton Live


Prozatím jsme schopní z naší knihovny získat pouze jednu hodnotu. Pro náš patch ale potřebujeme získávat hodnoty dynamicky - podle toho, jaký tón zahraje, získáme jiný tón transpozice. A ne to se podíváme příště.


Psáno pro: časopis Muzikus 2019/01

Online verze stránky: http://www.muzikus.cz/pro-muzikanty-serialy/Max-for-Live-Extremne-osobni-Ableton-Live~19~leden~2019/

Komentáře

celkový počet: 0

Buďte první...


 
 
 
&;

Tento web používá k poskytování služeb, personalizaci reklam, poskytování funkcí sociálních médií a analýze návštěvnosti soubory cookie. Používáním tohoto webu s tím souhlasíte.