Keyframes and Effect Parameters

From Light Stream (EN)
Revision as of 13:14, 3 September 2026 by LumiBot (talk | contribs) (Перевод с русской вики (задача №1041, LS Dev Hub))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

A keyframe is a mark on the timeline where an effect parameter has a specified value. As long as there are no keyframes, the parameter holds the same value for the entire length of the effect: the speed is always the same, the brightness is always the same. Set two keyframes with different values, and Light Stream will automatically calculate the values in between, so the parameter changes smoothly over time.

Keyframes can animate the effect's opacity and any of its slider parameters: speed, size, number of elements, and the color components R, G, B. This is how you create smooth fade-ins and fade-outs, acceleration and stopping, and color changes at exactly the right second.

Where the Effect Parameters Are

Select the effect — click its bar on the Timeline or the row with its name. The parameters appear in two places at once.

Properties window — the full set of the effect's parameters: sliders, numeric fields, checkboxes, lists, color pickers. This is where it's convenient to fine-tune values by eye. The parameter's name sits above its row, and the row itself looks like this: a numeric field, a slider, and to the right of it — the L button and the stopwatch icon.

Timeline window — effects are listed to the left of the time scale. Besides the enable checkbox and the name, an effect's row has a blend mode list and an Opacity value with ◀ ◆ ▶ buttons. The triangle to the left of the name expands the effect's parameter list — but not all of it: only parameters with keyframe mode enabled are shown under the effect, as a plain list without groups. While there is no such parameter yet, the triangle is inactive. Opposite each row, on the time scale itself, runs that parameter's own track — this is where its keyframes live.

This is the same set of values shown in two different ways: a value changed in one window changes in the other immediately too. It's more convenient to fine-tune values in Properties, and to place them in time on the Timeline.

Three States of a Parameter

At any moment, every effect parameter is in one of three states, and only one of them is ever active.

State How it works
Constant value The value is set with a slider or a field and does not change over time. This is how all parameters work by default
Keyframes The value is set by keys on the parameter's track and changes over time. Between keys, the program calculates intermediate values
Function The value is calculated from a formula — sine, linear, pulses, or noise — and repeats indefinitely for as long as the effect plays

Enabling Keyframes

The keyframe mode toggle is the stopwatch icon at the end of the parameter's row, to the right of the L button. It exists only in the Properties window — there is no stopwatch on the Timeline. A disabled stopwatch is grey, an enabled one is blue.

  1. Select the effect and find the parameter you need in the Properties window.
  2. Click the stopwatch — the parameter switches to keyframe mode.

As soon as it's enabled, the program places the first keyframe at the start of the effect, with the value the parameter had before. The picture doesn't change: a single key is still a constant value. However, the parameter now appears under the effect on the Timeline (if the effect was collapsed, it expands automatically), and it gets its own track.

The stopwatch is available for the effect's opacity and for all slider parameters. Color is animated by its components: it has three sliders — R, G and B — and each has its own stopwatch. Checkboxes, lists, and text fields cannot be animated with keyframes.

Placing Keyframes

The shortest way is simply to set the parameter's value at different points in time.

  1. Place the playback cursor on the Timeline where the first value should be.
  2. Set the parameter's value — with the slider or the numeric field. A key appears on the parameter's track at the cursor position.
  3. Move the cursor further and set another value — a second key appears.
  4. Done: between the two keys the parameter smoothly transitions from the first value to the second.

This also explains the main feature of keyframe mode: the slider and the field no longer set the parameter's “overall” value — they edit the value at the cursor position. If there's no key on that frame, one is created; if there is, its value is changed.

You can place a key without touching the value using a button. The parameter's row on the Timeline has three small buttons — ◀ ◆ ▶ — followed by a value field and a trash-can button. The middle diamond button places a key on the current frame with the value the parameter currently has; if a key is already on that frame, pressing it again removes it. The same buttons appear in the effect's own row and work with its opacity: Opacity keys land directly on the effect's bar.

The third way is to work directly on the track. Double-click the parameter's track: it highlights, and diamond-shaped keys appear on it — this is edit mode. Each further double-click on the track creates a key at that point: the horizontal position sets the time, the vertical position sets the value — the bottom of the track corresponds to the parameter's minimum, the top to its maximum.

The line connecting the keys is always visible on the track, but the diamonds themselves are visible only in edit mode.

Keys belong to the effect, not to the composition: a key's time is counted from the start of the effect. If you move the effect along the timeline, its entire animation moves together with it.

Editing Keyframes

To work with existing keys, enter the track's edit mode — double-click it. To exit edit mode, press Enter or Esc.

Action How to do it
Select a key Click the diamond on the track. The selected key turns red, and the key under the cursor turns white
Select several keys Click the keys while holding Ctrl or Shift
Deselect Click an empty spot on the track
Move a key Drag it: horizontally changes the time, vertically changes the value. Selected keys move as a group
Delete a key Delete or Backspace; or right-click the key → Delete
Undo a mistake Ctrl+Z, redo with Ctrl+Shift+Z

Keys snap exactly onto the composition's frames, so two keys of the same parameter can never end up at the same point. Neighboring keys act as boundaries for each other: you can't drag a key past its neighbor and swap their places. A key also can't go beyond the effect's bounds — near its edges, dragging snaps to the start and end of the bar.

Before the First and After the Last Key

Beyond the outermost keys the value doesn't change: before the first key the parameter holds the first key's value, after the last key it holds the last key's value. The animation doesn't return to its initial state on its own. If the effect should end the same way it started, place one more key with the needed value at the end.

Navigating Between Keys

The arrow buttons and on either side of the diamond move the playback cursor to the previous and next key of this parameter, select it, and open the track for editing.

This is a convenient way to land exactly on a key: jump to it with the arrow and adjust its value with the slider, without risking accidentally creating an extra key nearby. If there are no more keys in the given direction, the button does nothing.

Disabling the Animation

Click the stopwatch again — it turns off, and the parameter reverts to the constant value it had before keyframes were enabled. The parameter's row disappears from the list under the effect on the Timeline: only parameters in keyframe mode are shown there.

The trash-can button at the end of the parameter's row on the Timeline does the same thing — it removes the parameter from the timeline and returns it to a constant value.

In both cases the keys you placed aren't lost: turn the stopwatch back on, and the animation returns exactly as it was. To get rid of the animation for good, delete the keys from the track.

Functions Instead of Keyframes

If you don't need precisely plotted movement through points but an endless, even oscillation — blinking, a smooth pulse, random flicker — it's easier to assign a function to the parameter instead of keys. A function calculates itself, needs no keys, and doesn't end for as long as the effect is playing.

Next to the parameter's slider in the Properties window there's an L button. Click it and choose Functions, then the function you need.

Function What it does
Sine Smoothly drives the value from minimum to maximum and back. Good for “breathing,” a smooth pulsing of brightness or size
Linear Evenly drives the value from minimum to maximum and starts over. The Back and Forth checkbox makes the value return instead of jumping back
Pulses Rectangular on/off switching: the value sits at the minimum, then jumps to the maximum. This is a strobe and blinking
Noise Random smooth changes — flicker, “living” fire, chaotic shimmer

The Settings item in the same menu opens the parameter window of the selected function. The set of fields depends on the function; the window closes with Enter or Esc.

Parameter What it sets
Function duration, sec The length of one cycle for the Sine and Linear functions
Interval, sec The length of one cycle for the Pulses function
Pulse distribution, % The ratio between the off and on parts of the interval for the Pulses function
Frequency How fast the value changes for the Noise function
Seed value The seed of the Noise random sequence. The New button picks a different seed, and the flicker pattern changes
Minimum value, % and Maximum value, % The bounds the value moves between. Set as a fraction from 0 to 1 of the parameter's full range
Time offset, % Shifts the function's phase. Useful when several effects share the same function and need to be spread out in time
Back and Forth Linear only: the value goes there and back, without jumping to the start

While a function is driving the parameter, the slider no longer changes it, and the button's label changes from L to F and lights up orange. To return to manual control, go to FFunctionsClear.

External Control of a Parameter

The same L button links the parameter to an external source, so it can be controlled live during a show instead of being set in advance.

  • OSC, MIDI, DMX — the parameter starts listening for an incoming command: a message, a note, a channel. The program opens a window where you specify that command, or you can simply send it from a console.
  • Virtual Controller — the parameter is bound to a slider or palette from the Virtual Controller window (Settings menu → Virtual Controller; you can also open it directly from this submenu via Open Virtual Controller). Sliders and palettes are added in that window itself, and a single slider can drive several parameters of different effects at once — handy when the same brightness or color needs to change across the whole project with one move.

The button lights up orange if the parameter has at least one binding; hover over it to see a tooltip listing the bindings. The Clear item at the end of the menu removes all of them and also clears the function. It doesn't touch keyframes.

If Something Goes Wrong

The slider doesn't change the parameter. The parameter has keyframe mode enabled or a function assigned. In keyframe mode the value is edited at the cursor position and written into a key; with a function it can't be edited at all. Turn off the stopwatch or clear the function to restore normal behavior.

The parameter I need isn't shown under the effect on the timeline. Only parameters with keyframe mode enabled are shown there. Find the parameter in the Properties window and click its stopwatch.

The effect doesn't return to its initial state. After the last key the value simply holds. Place a final key where the animation should reach its end state.

The program lags on animations with a large number of keys. Updating values in real time noticeably loads the computer. Turn off the Update Keyframe Data During Playback setting — Settings menu → Properties (Ctrl+P), General tab, Other group. The animation is still calculated as before, only the numeric fields stop updating on the fly.

See Also