This is the code from my performance the other day! I’m not entirely sure if this is the correct way of making functions in tidal but it seemed to work pretty well for me. I made functions for both the sound and the visuals in tidal so that it would be easier to control both at once. In hydra, I set it up so that the parameters that I wanted to change were linked to the functions I made in tidal
Another thing that could be helpful is writing code on multiple lines at once, just press shift and click on where you want to type and viola! This was especially helpful for when I wanted to add effects to the sound and wanted them to reflect on the visuals
Hope this helps!
//hydra blobs = ()=> osc(()=> cc[2]*30+15, .01, 1).mult((osc(20, -.1,1)).modulate(noise(()=>(cc[0])*5, cc[0])).rotate(1)).posterize(()=> cc[1]*5).pixelate(200,200) hush() blobs().out() --tidalCycles -------------------------- fucntions -------------------------- beep_beep_bop = s "arpy*2 arpy?" # n "c5 <g4 c4> a5" -- ? fast some_beats = s "bd*4" -- g1.2 more_beats = s "hh*8" deeeep = s "<bass3(5,8) techno:1(3,8)>" hehe = note "<g5 e5 c5> [<c4 g4> a4] <g4 g5>? c4" #s "sine" deep = "techno:1*2 techno:1?" -- krush8 noisy = s "bleep*4" #speed 0.5 -- fast genocide = note "<g1 e2 c3> [<c1 g1> a2] <g1 g2>? c2" #s "arpy" #squiz 2 #krush 9 -------------- VISUALS ----------------------------------- amount = struct "t*2 t?" $ ccv ((segment 128 (range 127 0 saw))) # ccn "0" # s "midi" colour = struct "<t(5,8) t(3,8)>" $ ccv ((segment 128 (range 127 30 saw))) # ccn "1" # s "midi" wobble = struct "t [t*2] t? t" $ ccv ((segment 128 (range 127 30 saw))) # ccn "2" # s "midi" -------------------------- functions end ---------------------- hush d1 $ every 4 (fast 2) $ beep_beep_bop d2 $ every 4 (fast 2) $ amount d3 $ deeeep d4 $ colour d5 $ more_beats d6 $ noisy #gain 0.8 d7 $ hehe d8 $ wobble hush