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

Minule jsme vytvořili patch, ze kterého jsme byli pomocí XY ovladače schopni ovládat hlasitost a panoramu vybrané stopy Ableton Live.

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

Vypadá to hezky, ale při praktickém použití jsme hned narazili na závažný problém, který použití tohoto patche v praxi znemožňuje. Problém je v tom, že samotný XY ovladač neaktualizuje své nastavení v okamžiku, kdy vybereme novou stopu. V praxi to tedy vypadá tak, že zvolíme stopu A,

pomocí XY ovladače nastavíme hodnoty hlasitosti a stereopozice. Jakmile přepneme na stopu B, nastavení v XY ovladači zůstane, a když na ovladač myší klikneme, původní nastavení stopy B je ta tam, a my musíme nastavovat úplně od začátku. Nemůžeme tedy hodnotu pouze upravit. To rozhodně nefunguje tak, jak bychom běžně očekávali. A proto to dnes napravíme.

V podstatě se jedná o dva úkoly. Úkol nastavení stereopozice a hlasitosti beru jako úkol jeden, protože to bude v podstatě stejné, pouze budeme nastavovat jiný parametr. Jeden úkol už jsem tedy zmínil. Ten druhý, který ale může být na první pohled schovaný, je ten, že musíme vždy ovladač aktualizovat v okamžiku, kdy vybereme novou stopu. Musíme tedy nějakým způsobem pozorovat Ableton Live a ten musí náš patch informovat vždy, když je vybrána nová stopa. Abychom se toho neděsili, Ableton Live nás nemusí úplně přesně informovat o tom, jaká stopa přesně je nově vybraná. Stejně jako pro vysílání dat z XY ovladače do Abletonu Live, tak i pro příjem dat nám postačí informace „vybraná stopa“, tedy selected_track.

Už jsme se určitě bavili o objektu [live.observer]. Tento objekt pozoruje (observe) Ableton Live a v něm konkrétní parametr. Jaký parametr chceme sledovat, řekneme objektu [live.observer] snadno. Podobně jako do objektu [live.path], musíme do objektu [live.observer] poslat cestu k objektu, který chceme pozorovat. Abych byl přesný, tak pravý vstup objektu [live.observer] očekává ID daného objektu (které mu řekne právě tou cestou) a levý objekt očekává vlastnost daného objektu.

Potřebujeme najít cestu k určitému objektu, a tak nám nezbývá nic jiného, než jít znovu do naší oblíbené tabulky LOM - The Live Object Model (pořád ji mám vyvěšenou na nástěnce nad monitorem).

Tentokrát by nalezení té správné cesty mělo být velmi rychlé. Jednak proto, že cesta je velmi kratičká, a jednak proto, že jsme jí vlastně použili už minule. Respektive přesně touto cestou jsme šli, jen jsme po ní došli ještě dál. Vzpomínáte si na [message] objekty [path live_set view selected_track mixer_device volume] (a druhý panning namísto volume)? Tady tu cestu máme: live_set view selected_track. To je přesně to, co nás nyní zajímá.

Psáno pro časopis Muzikus