Best methods and practices to control time in the project

Hi all.
I am recently learning Touchdesinger and working on the project for the live show with actors on the stage, position detection, and visualizations.
So far I am slowly managing to solve various problems by watching YouTube tutorials from various members of the community (thank you all :slight_smile:).
However, I have a problem understanding how different ways to control the time in the show work and which approach to choose.
The show will be divided into a number of parts (let’s say 10) and each part will have different visualizations, effects, visual devices connected by OSC, and probably also different music.
In a perfect world, each part would have a fixed time, and then, as far as I understand, the easiest method would be to make the timeline of the length of the whole show and use Animation COMP to set parameters that can control transitions and different features (like driving switches to pick correct visualization and so on).
Unfortunately, in my case, the live-acting part is specific and can not be strictly timed.
Therefore, the length and start time of each part will vary a bit.
I will have a producer who will be observing the show both live also through additional screens in a Touchdesigner control panel built for him.
He will also have there some buttons and sliders to control the show.
For example, I would like him to be able to click the appropriate button at the right moment that will move the show to the next scene (or probably in fact start the transition between scenes).
Sorry for this long introduction but here is my main question:
What is the best way to implement such time control in Touchdesigner?
Both in the sense of the whole show and manually changing the scenes but also in each scene itself (so each visualization begins from its starting point).
I see a few possible approaches and I am not sure which one to use (or maybe combine more than one).

  1. Animation COMP - seems not suitable for such manual time changes
  2. Manipulation on the global timeline - I heard that this is not advised to control the timeline from inside of its components.
  3. Some combination of timer CHOPs, parameters, and Python code - it appears to me not very clear and hard to synchronize everything with music and so on.
  4. Local timelines for show parts (with the addition of some timers and Python code to start, stop, and change the show part COMPS that contains those timelines) - at that moment it makes the most sense to me but seems quite complicated.

Could you help me to decide which approach would be the best for that kind of project?
Or maybe something completely else or some combination of them?
Also are there any best practices or conventions when working with time in Touchdesigner?
Finally, if you could also provide links to some tutorials or documentation regarding that I would be really grateful (I already watched some but did not find good answers and couldn’t develop a good understanding of those topics).
Thank you all in advance for all the answers and feedback.

1 Like

Interested to see what answers you get. To me, this is the TouchDesigner disadvantage.

Certainly you never ever want to stop (or jump etc) the main time. That leads to many unexpected bugs - some things still process and some don’t. IMO TouchDesigner should have some sort of ‘never stop’ flag.

I just did another grand experiment (my fifth or so) in giving a component its own time and controlling that. The main issue is that you need to control it externally in another component because when the component you’re controlling will *unpredictably process some functions but not others. I’m at about 10 years of touch and was defeated - it all seemed to be working and then it failed at just the wrong time.

There are a few community timeline controls you should try. I’d assume that they fabricate a new time base from raw numbers, that’s the best result I’ve had, even though it’s a lot of work. Most stuff (animation comps, movies etc) can be run from a simple frame counter.

Let me know if you solve it!

I hope I filed a feature request for some kind of timeline module built in. Need to check.


  • I’m aware it probably is predictable, but very complex and depends on the actions of other components, visibility of previews etc etc

Hi @Milten,

as @bwheaton is mentioning, things can get complex pretty quick so best to define the goals and then see how it can be realized. One avenue might be to use is making advantage of the Palette>Tools>sceneChanger (TouchDesigner Documentation) - a framework for creating a scene based show that might have all the features you need for your case.

As it comes with a Init and Start pulse, you can either run callbacks or start Timers in each scene to make sure things start from a consistent point plus still having the ability to manually switch between scenes.