HUMA: Manual under Construction Tweening - timebound data interpolation

Tweening (derived from "in beTWEEN") describes a procedure that generates data by transforming a start value into a destination values over time, emitting the algorithmically derived values between the two extremes. Tweening is a well known feature in Flash, but hardly known in Quicktime. HUMA gives you full access to Quicktime tweens and beside that offers some not movietime dependent implementations of equal functionality. All Quicktime tween functionality available here will also work in QT Movie Player!

Before getting into the details you should be aware of the fact that all Quicktime tweening is bound to movietime. The tween components will only generate values when the playback head moves along the timeaxis, be it stepped or playing, be it forward or backward. This imposes limitations in terms of realtime control, but still offers powerful functionality. As Tweening modifies media parameters in realtime, it allows you to perform a lot of effects that would normally require prerendering on the fly, thus allowing for parallel manipulation of the media involved.
Quicktime tweens are separated in different types according to the character of the values they emit. These value characteristics also determine what targets a tween can be routed to. Available tween types include:
  • Numeric tweens(short, integer and float) - routeable to parameters like volume, pan, sprite image indices etc.
  • Transfermode tweens - used for opacity and color manipulation
  • Matrix tweens - for transforming the shape and size of segments and sprites
  • Path tweens (with a number of subtypes)
Most tweens may either consist of just a single start and an end value or be a whole sequence of cornerstone values spread accross a certain period of time, which allows you to create complex envelopes. The output of a tween can be limited (or rather windowed) both in terms of time (x) and output (y) range. Theoretically one can feed one tween's output as an artificial timing input to another one (tween interpolation) but this only works on Macs due to a bug in Quicktime for Windows in the moment.
Ok, let's see how to build tweens:
You create a new tween segment by either clicking the "add tween" button in the upper toolbar or by choosing the "media->add->tween"menu. Huma will ask what period of time you want to create tweens for and - if there allreadyis a tween segment in the project - if you wish to create a new segment or wat to add to the existing one. You will then be confronted with the Tween editor subwindow as shown above. This will also pop up when you select "edit media" from the context menu on a tween segment. Once in the editor the basic procedure is as follows Choose a tween type, set up its defining values, build the data structure and assign it to targets.
En detail: A tween segment can contain any number of tweens. All present tweens are listed on the lower left side. To edit an allready build tween and to attach targets to it, just click it in the list. To add a new tween, click the "new tween" button. You can then give it a name via the textfield on the upper left side ("new tween" in red). Next to this textfield you find the tween type selector. After selecting a certain type the editor will change to show the options for that particular type. Set up your parameters here. To create a sequence tween, go to the sequence tab (not available for path tweens which are sequences by nature) and enter multiple values. When done, click the "build" button. the new tween will appear in the list and you can attach targets to it, via the elements on the lower right side. Huma will only offer reasonable choices according to tween type here.
All parameters of built tweens are editable. Just select one, make your changes and click the "build" button, which will be labeled "apply edits" on editing, again.
One tween can be routed to multiple targets and multiple tweens can be routed to different parameters of a single target segment. There is no theoretical limitation to the complexity of setups here, but, as tweening is performed in realtime, you will have to see how many things your computer can do in parallel without choking.

Similiar functionality as tweens perform over time can be mapped to sensor signals via the media destination in the input patchbay.

Editor for numeric sequences.The width of the editor coresponds to the timespan of the tween. The small Movie display on the right will follow mouse movements

Transfermode sequence editor. This particular setting would probably just look horrible...Anyway right click into the editor to create a new sequence entry. Click and move the handles to adjust time positions of present entries

Path tween editor. There area number of different path tweens: Path to matrix translation will move a target segment or sprite along the path, Path to matrix rotation will rotate the target, Path to matrix translation and rotation does both and PathXtoY and PathYtoX will output numeric values again where either the X or Y axis is mapped to movietime.