Max for Live - Extrémně osobní Ableton Live - XY ovladač hlasitosti a panoramy
XY ovladač hlasitosti a panoramy
Myslím, že teorie už máme za sebou dost a je čas na nějakou tu praxi. Dnes si vytvoříme prozatím jednoduchý ovladač, pomocí kterého budeme v XY poli ovládat zároveň hlasitost a stereopozici prvního kanálu našeho projektu Ableton Live. Použijeme k tomu již známé objekty a případně nové objekty vysvětlím.
Jako XY ovladač použijeme objekt [pictslider]. Tento objekt je původně primárně myšlen tak, že mu přiřadíme nějaký obrázek, aby náš ovladač vypadal hezky a přesně podle toho, jak si představujeme své vlastní GUI (grafické prostředí). Ale pro naše účely zatím bude bohatě stačit základní výchozí podoba.
Tento objekt má dva výstupy, logicky jeden bude vysílat hodnotu vertikální (pravý výstup) a druhý hodnotu horizontální (levý).
Jak je už z předchozích dílů patrné, budeme muset Abletonu Live nějak říci, jaké parametry chceme ovládat. Jak jsem řekl, bude se jednat o hlasitost a stereopozici prvního kanálu. Z již nám známé dokumentace LOM si najdeme cesty, které budou vypadat následovně:
live_set tracks 0 mixer_device volume
live_set tracks 0 mixer_device panning
Nejlépe tedy rovnou vytvoříme dva objekty [message] s touto cestou k ovládanému objektu a před text ještě vepíšeme path, aby bylo jasné, že se jedná o cestu. Tato cesta musí být poslána do objektu [live.path]. Tento objekt přemění námi zaslanou cestu na ID, tedy jedinečné číslo námi popsaného objektu. Toto ID přiřadí Ableton Live sám každému objektu v okamžiku, kdy je tento objekt vytvořen. Tedy když vytvoříme novou audio stopu, je nějaké jedinečné ID přeřazeno této stopě samotné, pak ovladači hlasitosti, ovladači stereopozice atd. My jakožto uživatelé tato ID neznáme, proto daný objekt popisujeme slovy (path). Ale pro komunikaci uvnitř aplikace je samozřejmě jednodušší používat přiřazená ID než dlouhé popisné cesty.
A samozřejmě nakonec musíme tyto dvě informace, tedy ID (získané z cesty) a hodnotu (ziskanou z objektu [pictslider]), nějak dostat do Abletonu Live. Dnes k tomu použijeme objekt [live.remote~]. To je speciální objekt, který používáme pro vzdálené ovládání Abletonu Live. V podstatě tento objekt simuluje hardwarový ovladač. Tento objekt žádá v pravém vstupu ID objektu, který chceme ovládat (to již máme z objektu [live.path]) a samozřejmě v levém vstupu žádá hodnotu (a tu získáme z objektu [pictslider]).