This is a customizable multi-layer timeline component that is designed to play and mix media elements.
It is intended to be an infrastructure that is as simple and customizable as possible. It has minimal panel UI, in favor of defining, setting and controlling via custom parameters, which makes the timeline easier to extend and control externally via scripts. Multi-layer timelines in 2D editing, audio editing and show control products have endless features and UI... these are the basics here and I hope the community expands on what's started, and inter-breeds it with the other timelines made by TouchDesigner users. At very least its architecture is a reflection of recently-developed best-practices, so we hope you learn from its internals. (088 and 099)
Each timeBase component is a Scene that acts as a separate timeline 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 6 element types ("effects") including Movie file, Audio file and Generative. 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 ("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 File, Audio File, Text, Generative, Events and Channels. Click an element bar to get up an 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 left, right and middle to change start and end times). Then press "PS" to play only the sub-range, and VS to view the subrange on the scrub bar below it.
The timelines can be 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 blended 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 or 2 get mixed in.
The element types are pretty basic currently, playing movies and audio at normal speed synced to the start of the element. Event and Channel elements are a blank slate currently. Also keyframing channels isn't hooked in.
There are no delete buttons, you can just go into scene1 and delete any layer1-layern component, and within a layer you can delete any element 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 conponent), and some are external - 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.)
More doc coming soon.
Anyway, I started on this right after the Day For Night festival (Dec 17) where I got it in my head from looking at the digital art and talking to the 27 other TouchDesigner users in attendance to stop talking and make this no-fuss component.
- (133.82 KiB) Downloaded 107 times