timeBase - a Multi-Layer Timeline Component - 2019-11-12 04:25

timeBase - a Multi-Layer Timeline Component

Link to main site


Hi Greg,

thank you for that, it looks very useful.

I was playing around a bit and when using a text,
first thing I want to do is to change the Font. I can certainly dive down to the textTOP,
but how would I proceed when I wanted to add that parameter generally to all text effects?


The best way to add a parameter or feature to a standard element like a Text element is to change the clone master component for the Text elements so all Text elements get a font. It is located at /timeBase/scene0/layerMaster1/elementText1.

See the new section in the post: “Adding Features to an Existing Element Type”.

Note: If you see a huge font menu cut off in the parameters on the right, this is a bug in TouchDesigner which is fixed after Nov 25, 2019. And it’s also been cut off in a floating parameter dialog which you can get if you right-click on the element. Apologies.

I uploaded timeBase Version 15, which is also made with the current 2019 10000 Official. Aside from minor/cosmetic improvements, it has a component timeBase/saveRestore which will help you migrate your scenes in Version 14/15 to Version 16 coming in January. See the section “Saving all your Scenes and States to JSON file”.

Excellent work Greg, I am currently using and it is a very interesting solution to develop different types of projects.

I have 2 scenes created (E1, E2)

At the end of E1 add a scene element, to change from E1 to E2.
When the end of E1 arrives, the scene element does not make such a change towards E2.

  • Scene 2 / Scene element: parent.TimeBase.op (‘scene1’)
  • Scene 1 / Time / External control: scene
  • Scene 1 / Time / External unit: seconds
  • Scene 1 / External master scene: parent.TimeBase.op (‘scene1 / layer1 / element1’)

I hope you can help me, thanks!

solved, I leave an example 3 scenes:

  • Scene 1 / External control: off

  • Scene 1 / Scene element 1: parent.TimeBase.op(‘scene2’)

  • Scene 1 / Scene element 2: parent.TimeBase.op(‘scene3’)

  • Scene 2 / Time / External control: scene

  • Scene 2 / Time / External unit: seconds

  • Scene 2 / External master scene: parent.TimeBase.op(‘scene2/layer2/element1’)

  • Scene 3 / Time / External control: scene

  • Scene 3 / Time / External unit: seconds

  • Scene 3 / External master scene: parent.TimeBase.op(‘scene2/layer2/element2’)

Hi tolch, Yes, you figured it out. The answer I came up with is this: The Parameter “External Master Scene” is labelled wrong. It should be “External Master Scene-type Element”, and should contain a path to an element like, as you wrote, parent.TimeBase.op(‘scene1/layer1/element2’).

So I’ll change the label in the next version, and I will put a note in the post where it’s documented. Thanks for communicating the problem and your solution to me.

Hey Greg, this is really awesome, thanks for making it !

I’ve found an obscure bug . . . after playing a long audio file (~1 hour), the audio starts to get distorted around 45 minutes. This happens when scrubbing to the location or just playing through linearly, it appears the time is off by just a few samples.

The same audio file played with a timer using indexed scrubbing or if linked to the timeline doesn’t have the distortion. I’ve dug through the scene quite a bit but can’t figure out what is happening. I can send you some samples and the audio clip.


Hi jeff, … I mean teff… I’ll look into this distortedness with a long file ASAP.

Hi Greg,

This system is very inspiring and am excited to use it when I can. Is there a process in here for preloading upcoming clips?


Hi Greg ,

Just wanted to highlight a potential bug that seems to have been appeared with the latest versions of TD. It is related to the timer CHOP .
Basically once an event has played on the timeline it won’t play again until the timer has been reinitialized. This mainly affects Looping the sub range.

Diving deeper this appears to be a new way that the timer CHOP is functioning while using parallel segments … so not sure if its a bug or possibly a new feature ? :slight_smile:
any thoughts?



Hi Puck,

Can you build an example? I generally don’t use the timeline so you’ll have to be more specific.

Hey Greg … Heres an example , this is the timebase COMP freshly
downloaded and a portion of the timeline Looped using the subRange.

You should see that it will play all the events on the first time round but
in all other loops, the events won’t trigger … until you Re-initialize the timer.

Hope that makes sense?

timebase.15_1_loop.tox (1.6 MB)

Hi Greg,

Your timeBase component looks amazing. You’re talking about a version 16, any idea when it’s ready?


It seems in the current version of TD the component also breaks in several places. It’s also not showing any output on the out TOP.

Hello, it’s possible to loop the timeline? I didn’t find this option.