I have a component, inside is a network of different SOP and TOP stuff triggered by a midi note. If I add an independent component time to that component, is it possible to have that same midi note trigger the timeline to play? Effectively telling all the stuff within that component to only cook when I am triggering it?
I have tried exactly this, but it’s not really working. I’m getting some buggy behavior. Anybody know how to do this?
Hi all, I’m back at this. Here’s a different question to achieve the same thing:
Is there a way to toggle the Cooking Flag on a Container other than clicking on it? e.g. using a chop to turn it on or off?
In observing the behavior of simply clicking the flag on and off, it seems like this could be a good way of switching through different VJ effects in real time while keeping the system resources free to work on the currently selected effect. Or is there another way to do this that I am overlooking?
You can trigger a script to turn flags on and off, but we don’t recommend it. The networks are optimized so that nodes that are not in use are not cooked, see this wiki article for more details - [url]TouchDesigner Documentation. There’s also an article on optimization if that is what you’re looking for - [url]TouchDesigner Documentation
Thanks Selina, those articles are definitely helpful, but I am still wondering how people are using Touch for VJ operations.
Say I have a bank of 50 different synths, and each one on its own is optimized to play at 60fps, but having all of them in one project slows the frame rate to a crawl. There must be a way that people have this type of setup and “shut off” every synth but the active one, so that they have immediate push-button access to all of their synths without bogging down the system.
Is there a specific reason you don’t recommend triggering a script to toggle the cook flag?
The reason that your network will be slowing is that once an operator is loaded it wont be unloaded from GPU memory unless you tell it be unloaded.
For moviein TOPs you can use the unloadmovie command, however for render TOPs most of us (I think?) use a trick where we change the resolution of a generator TOP (constant, ramp, render etc) to 2x2 when it’s not in use to free up GPU memory.
The way I personally do this is to have components called module1 module2 module3 etc and then create a common table inside called resolution. This table has 2 rows with 1920, 1080 in the first row and 2, 2 in the second row with a select DAT after (or you could use component variables which is another thing I sometimes do) and with the resolutions of all generator TOPs referencing row 0 in the select DAT, you can then toggle the DAT to turn the component on or off. You could make all components have 2x2 res by using the opparm command and specifying “module*/resolution” as the node.