This is a customizable multi-layer timeline component that is designed to play and mix media elements.
It is intended to be as simple and customizable as possible, with minimal UI and most of its setup and controls via custom parameters on components, making the timeline easier to extend and use. Its internal architecture is a reflection of recently-developed best-practices, so we hope you learn from its internals. (099 only now)
Each timeBase component is a Scene that acts as a separate layer-mixer that gets triggered to play and mix. A Scene contains 1 or more layers, and each layer contains a number of "elements" placed along the timeline. There are six element types ("effects") including Movie file, Audio file, Text, Generative and Events. The scene contains the network that pulls and mixes video, audio and channels from the layers.
Click the “Scene 1” button at top left to see all the setup parameters for the whole scene… total length, initialization and start (same as the buttons "I" and "S" in the UI), cue time and cue go, plus the adaptive panel layout parameters of the UI including the overall width/height of the panel on the usual “Layout” page.
Click the “Layer 1” button etc to get the layer setup parameters.
Click any element on a timeline. Here you set the start and length of the element, and set the parameters of the specific element type:
There are 6 element types that can be intermixed on a layer. The current element types (Effects) are: Movie+Audio File, Audio File, Text, Generative, Events and Channels. Click an element bar to show the element’s parameters. The first custom page “Element” is common to all elements, the “Effect” page is specific to the type of effect – movie file name, etc.
Add an element by clicking on the background of the layer.
Playing a sub-range of the Timeline:
Under the viewers at the top is the sub-range control (grab the green bar's <, > and <=> to change the sub-range start and end times). Then press "PS" to play only the sub-range, and VS to view the sub-range of the layers.
The timelines can be mixed in any combination you want, and in scene1, you select and composite layers as you see fit, and select and mix audio to suit your needs. The example has layer 1 and 2 screened together, with layer 3 composited over 1 and 2. Layer 4 is used for an audio track, and any audio on movies in layer 1 gets mixed in.
The element types are pretty basic currently, playing movies and audio at normal speed, synced to the start of the element. Event elements run one command on start and one at end. Channel elements don't do much currently. Also keyframing parameters isn't implemented directly.
You can delete via a right-click on a layer or an element, or you can just go into scene1 and delete any layer1, layer2... component, and within a layer you can delete any element component.
If you go into any layer component, you will see that some elements have their specific effect built internal to the element component (audio file playback for example: in the elementN/effect component), and some effects are external to the element component - like effect2 beside an element2 (if it is a generative thing). It works either way - inside or outside the element component, and allows for huge image/audio generating components to live somewhere else in your project. (The element component has a parameter Effect, which is the path to the effect, and the effect component has an Element path parameter that points back to the element.)
I started on this right after the Day For Night festival (Dec 2017) where I got it in my head from looking at the terrific digital art and talking to the 27 other TouchDesigner users in attendance to stop talking and make this no-fuss component.
April 17, 2017 - uploaded timeBase.4.tox (see doc below)
- (221.2 KiB) Downloaded 16 times