<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://en.lightstream.pro/index.php?action=history&amp;feed=atom&amp;title=Keyframes_and_Effect_Parameters</id>
	<title>Keyframes and Effect Parameters - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://en.lightstream.pro/index.php?action=history&amp;feed=atom&amp;title=Keyframes_and_Effect_Parameters"/>
	<link rel="alternate" type="text/html" href="http://en.lightstream.pro/index.php?title=Keyframes_and_Effect_Parameters&amp;action=history"/>
	<updated>2026-09-04T07:12:15Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.40.1</generator>
	<entry>
		<id>http://en.lightstream.pro/index.php?title=Keyframes_and_Effect_Parameters&amp;diff=350&amp;oldid=prev</id>
		<title>LumiBot: Перевод с русской вики (задача №1041, LS Dev Hub)</title>
		<link rel="alternate" type="text/html" href="http://en.lightstream.pro/index.php?title=Keyframes_and_Effect_Parameters&amp;diff=350&amp;oldid=prev"/>
		<updated>2026-09-03T13:14:56Z</updated>

		<summary type="html">&lt;p&gt;Перевод с русской вики (задача №1041, LS Dev Hub)&lt;/p&gt;
&lt;a href=&quot;http://en.lightstream.pro/index.php?title=Keyframes_and_Effect_Parameters&amp;amp;diff=350&amp;amp;oldid=325&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>LumiBot</name></author>
	</entry>
	<entry>
		<id>http://en.lightstream.pro/index.php?title=Keyframes_and_Effect_Parameters&amp;diff=325&amp;oldid=prev</id>
		<title>LumiBot: Перевод с русской вики (задача №963, LS Dev Hub)</title>
		<link rel="alternate" type="text/html" href="http://en.lightstream.pro/index.php?title=Keyframes_and_Effect_Parameters&amp;diff=325&amp;oldid=prev"/>
		<updated>2026-09-02T18:51:06Z</updated>

		<summary type="html">&lt;p&gt;Перевод с русской вики (задача №963, LS Dev Hub)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[ru:Ключевые кадры и параметры эффектов]] [[en:Keyframes and Effect Parameters]]&lt;br /&gt;
A keyframe is a mark on the timeline where an effect parameter has a specific value. As long as there are no keyframes, the parameter keeps the same value for the whole length of the effect: the speed is always the same, the color is always the same. Set two keyframes with different values, and Light Stream will calculate the values in between on its own, so the parameter changes smoothly over time.&lt;br /&gt;
&lt;br /&gt;
Keyframes can animate almost any property of an effect: opacity, speed, size, rotation angle, element count, color. This is how you create smooth fade-ins and fade-outs, acceleration and stopping, or a color change timed to an exact second.&lt;br /&gt;
&lt;br /&gt;
== Where Effect Parameters Are Located ==&lt;br /&gt;
&lt;br /&gt;
Select the effect — click its bar on the &amp;#039;&amp;#039;&amp;#039;Timeline&amp;#039;&amp;#039;&amp;#039; or the row with its name. The parameters will appear in two places at once.&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Properties&amp;#039;&amp;#039;&amp;#039; window — the full set of effect parameters: sliders, numeric fields, checkboxes, lists, color pickers. This is where it&amp;#039;s convenient to adjust values by eye.&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Timeline&amp;#039;&amp;#039;&amp;#039; window — to the left of the time ruler, effects are listed. Click the triangle to the left of the effect&amp;#039;s name, and the same parameters will expand below it, grouped together. Next to each parameter, on the time ruler itself, runs its own track — this is where keyframes live.&lt;br /&gt;
&lt;br /&gt;
This is the same set of parameters shown in two different ways: a value changed in one window changes immediately in the other. It&amp;#039;s more convenient to pick values in &amp;#039;&amp;#039;&amp;#039;Properties&amp;#039;&amp;#039;&amp;#039;, and to place them in time on the &amp;#039;&amp;#039;&amp;#039;Timeline&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Three Parameter States ==&lt;br /&gt;
&lt;br /&gt;
At any moment, each effect parameter is in one of three states, and only one of them is ever active.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! State !! How it works&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Constant value&amp;#039;&amp;#039;&amp;#039; || The value is set by a slider or field and does not change over time. This is how all parameters work by default&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Keyframes&amp;#039;&amp;#039;&amp;#039; || The value is set by keyframes on the parameter&amp;#039;s track and changes over time. Between keyframes, the program calculates intermediate values&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Function&amp;#039;&amp;#039;&amp;#039; || The value is calculated using a formula — sine, linear, pulse, or noise — and repeats indefinitely while the effect is playing&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enabling Keyframes ==&lt;br /&gt;
&lt;br /&gt;
The keyframe mode toggle is the &amp;#039;&amp;#039;&amp;#039;stopwatch&amp;#039;&amp;#039;&amp;#039; icon next to the parameter: in the &amp;#039;&amp;#039;&amp;#039;Properties&amp;#039;&amp;#039;&amp;#039; window it sits to the right of the slider, and on the &amp;#039;&amp;#039;&amp;#039;Timeline&amp;#039;&amp;#039;&amp;#039; it sits to the left of the parameter&amp;#039;s name. A disabled stopwatch is gray; an enabled one glows orange.&lt;br /&gt;
&lt;br /&gt;
# Select the effect and find the parameter you need.&lt;br /&gt;
# Click the &amp;#039;&amp;#039;&amp;#039;stopwatch&amp;#039;&amp;#039;&amp;#039; — the parameter switches to keyframe mode.&lt;br /&gt;
&lt;br /&gt;
Nothing changes right after enabling it: as long as the parameter has no keyframes, it keeps its previous value.&lt;br /&gt;
&lt;br /&gt;
== Placing Keyframes ==&lt;br /&gt;
&lt;br /&gt;
The shortest way is simply to set the parameter&amp;#039;s value at different points in time.&lt;br /&gt;
&lt;br /&gt;
# Place the playback cursor on the &amp;#039;&amp;#039;&amp;#039;Timeline&amp;#039;&amp;#039;&amp;#039; where the first value should be.&lt;br /&gt;
# Set the parameter&amp;#039;s value — with the slider, the numeric field, or a color picker. A keyframe will appear on the parameter&amp;#039;s track at the cursor&amp;#039;s position.&lt;br /&gt;
# Move the cursor further along and set a different value — a second keyframe will appear.&lt;br /&gt;
# Done: between the two keyframes, the parameter smoothly transitions from the first value to the second.&lt;br /&gt;
&lt;br /&gt;
This also explains the main feature of keyframe mode: the slider and the field no longer set an &amp;quot;overall&amp;quot; value for the parameter — they edit the value at the cursor&amp;#039;s position. If there is no keyframe on that frame, one is created; if there is, its value changes.&lt;br /&gt;
&lt;br /&gt;
You can also place a keyframe without touching the value, using a button. In the parameter&amp;#039;s row on the &amp;#039;&amp;#039;&amp;#039;Timeline&amp;#039;&amp;#039;&amp;#039; there are three small buttons — &amp;#039;&amp;#039;&amp;#039;◀ ◆ ▶&amp;#039;&amp;#039;&amp;#039;. The middle &amp;#039;&amp;#039;&amp;#039;diamond&amp;#039;&amp;#039;&amp;#039; button places a keyframe on the current frame with whatever value the parameter currently has; if a keyframe is already on that frame, clicking it again removes it.&lt;br /&gt;
&lt;br /&gt;
The third way is to work directly on the track. Double-click the parameter&amp;#039;s track: it will switch to keyframe editing mode. Each subsequent double-click on the track creates a keyframe at that point — the horizontal position sets the time, the vertical position sets the value: the bottom of the track corresponds to the parameter&amp;#039;s minimum, the top to its maximum.&lt;br /&gt;
&lt;br /&gt;
Keyframes belong to the effect, not to the composition: a keyframe&amp;#039;s time is measured from the start of the effect. If you move the effect along the timeline, its entire animation moves along with it.&lt;br /&gt;
&lt;br /&gt;
== Editing Keyframes ==&lt;br /&gt;
&lt;br /&gt;
To work with existing keyframes, enter track editing mode — double-click the track. To exit the mode, press &amp;#039;&amp;#039;&amp;#039;Enter&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Esc&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Action !! How to do it&lt;br /&gt;
|-&lt;br /&gt;
| Select a keyframe || Click the diamond on the track&lt;br /&gt;
|-&lt;br /&gt;
| Select multiple keyframes || Click while holding &amp;#039;&amp;#039;&amp;#039;Ctrl&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Shift&amp;#039;&amp;#039;&amp;#039;; or drag a selection box around the keyframes, starting from an empty spot on the track&lt;br /&gt;
|-&lt;br /&gt;
| Move a keyframe || Drag it: the horizontal position changes the time, the vertical position changes the value. Selected keyframes move together as a group&lt;br /&gt;
|-&lt;br /&gt;
| Delete a keyframe || &amp;#039;&amp;#039;&amp;#039;Delete&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Backspace&amp;#039;&amp;#039;&amp;#039;; or right-click the keyframe → &amp;#039;&amp;#039;&amp;#039;Delete&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| Undo a mistake || &amp;#039;&amp;#039;&amp;#039;Ctrl+Z&amp;#039;&amp;#039;&amp;#039;, to redo — &amp;#039;&amp;#039;&amp;#039;Ctrl+Shift+Z&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Keyframes snap exactly to the composition&amp;#039;s frames, so two keyframes of the same parameter cannot end up at the same point.&lt;br /&gt;
&lt;br /&gt;
== Before the First and After the Last Keyframe ==&lt;br /&gt;
&lt;br /&gt;
Outside the outermost keyframes, the value does not change: before the first keyframe, the parameter holds the value of the first one; after the last, the value of the last one. The animation does not return to its initial state on its own. If the effect should end the same way it started, place another keyframe with the needed value at the end.&lt;br /&gt;
&lt;br /&gt;
== Moving Between Keyframes ==&lt;br /&gt;
&lt;br /&gt;
The arrow buttons &amp;#039;&amp;#039;&amp;#039;◀&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;▶&amp;#039;&amp;#039;&amp;#039; on either side of the diamond move the playback cursor to the previous and next keyframe of this parameter, and select it at the same time.&lt;br /&gt;
&lt;br /&gt;
This makes it easy to land exactly on a keyframe: jump to it with the arrow and adjust the value with the slider, without risking accidentally creating an extra keyframe nearby. If there are no more keyframes in that direction, the button does nothing.&lt;br /&gt;
&lt;br /&gt;
== Turning Off the Animation ==&lt;br /&gt;
&lt;br /&gt;
Click the &amp;#039;&amp;#039;&amp;#039;stopwatch&amp;#039;&amp;#039;&amp;#039; again — it will turn off, and the parameter will return to the constant value it had before keyframes were enabled.&lt;br /&gt;
&lt;br /&gt;
The keyframes you placed are not lost: turn the stopwatch back on, and the animation returns exactly as it was. To get rid of the animation for good, delete the keyframes from the track.&lt;br /&gt;
&lt;br /&gt;
== Functions Instead of Keyframes ==&lt;br /&gt;
&lt;br /&gt;
If what you need is not precisely-timed motion between points but an endless, uniform oscillation — blinking, smooth pulsing, random flickering — it&amp;#039;s easier to assign the parameter a function instead of keyframes. A function is calculated on its own, needs no keyframes, and never ends while the effect is playing.&lt;br /&gt;
&lt;br /&gt;
Next to the parameter&amp;#039;s slider in the &amp;#039;&amp;#039;&amp;#039;Properties&amp;#039;&amp;#039;&amp;#039; window there is an &amp;#039;&amp;#039;&amp;#039;L&amp;#039;&amp;#039;&amp;#039; button. Click it and choose &amp;#039;&amp;#039;&amp;#039;Functions&amp;#039;&amp;#039;&amp;#039;, then pick the function you need.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Function !! What it does&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Sine&amp;#039;&amp;#039;&amp;#039; || Smoothly drives the value from the minimum to the maximum and back. Good for &amp;quot;breathing,&amp;quot; a smooth pulsing of brightness or size&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Linear&amp;#039;&amp;#039;&amp;#039; || Steadily drives the value from the minimum to the maximum and starts over. The &amp;#039;&amp;#039;&amp;#039;Both directions&amp;#039;&amp;#039;&amp;#039; checkbox makes the value go back instead of jumping abruptly&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Pulse&amp;#039;&amp;#039;&amp;#039; || Rectangular on/off switching: the value sits at the minimum, then jumps to the maximum. This is for strobe and blinking effects&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Noise&amp;#039;&amp;#039;&amp;#039; || Random smooth changes — flickering, &amp;quot;living&amp;quot; fire, chaotic shimmer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Settings&amp;#039;&amp;#039;&amp;#039; item in the same menu opens the parameter window for the selected function.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Parameter !! What it sets&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Function duration, sec&amp;#039;&amp;#039;&amp;#039; || The length of one cycle for the &amp;#039;&amp;#039;&amp;#039;Sine&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Linear&amp;#039;&amp;#039;&amp;#039; functions&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Interval, sec&amp;#039;&amp;#039;&amp;#039; || The length of one cycle for the &amp;#039;&amp;#039;&amp;#039;Pulse&amp;#039;&amp;#039;&amp;#039; function&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Pulse distribution, %&amp;#039;&amp;#039;&amp;#039; || The ratio of the off and on parts of the interval for the &amp;#039;&amp;#039;&amp;#039;Pulse&amp;#039;&amp;#039;&amp;#039; function&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Frequency&amp;#039;&amp;#039;&amp;#039; || How fast the value changes for the &amp;#039;&amp;#039;&amp;#039;Noise&amp;#039;&amp;#039;&amp;#039; function&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Seed value&amp;#039;&amp;#039;&amp;#039; || The random seed for &amp;#039;&amp;#039;&amp;#039;Noise&amp;#039;&amp;#039;&amp;#039;. The &amp;#039;&amp;#039;&amp;#039;New&amp;#039;&amp;#039;&amp;#039; button picks a different seed, changing the flickering pattern&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Minimum value&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Maximum value&amp;#039;&amp;#039;&amp;#039; || The bounds within which the value moves. Set as a fraction from 0 to 1 of the parameter&amp;#039;s full range&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Time offset, %&amp;#039;&amp;#039;&amp;#039; || Shifts the function&amp;#039;s phase. Useful when several effects share the same function and need to be offset in time from each other&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Both directions&amp;#039;&amp;#039;&amp;#039; || Only for &amp;#039;&amp;#039;&amp;#039;Linear&amp;#039;&amp;#039;&amp;#039;: the value goes back and forth instead of jumping back to the start&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
While a function is driving the parameter, the slider does not change it, and the &amp;#039;&amp;#039;&amp;#039;L&amp;#039;&amp;#039;&amp;#039; button glows orange. To return to manual control: &amp;#039;&amp;#039;&amp;#039;L&amp;#039;&amp;#039;&amp;#039; → &amp;#039;&amp;#039;&amp;#039;Functions&amp;#039;&amp;#039;&amp;#039; → &amp;#039;&amp;#039;&amp;#039;Clear&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Controlling a Parameter Externally ==&lt;br /&gt;
&lt;br /&gt;
The same &amp;#039;&amp;#039;&amp;#039;L&amp;#039;&amp;#039;&amp;#039; button links the parameter to an external source, so you can control it live during the show instead of setting it in advance.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;OSC&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;MIDI&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;DMX&amp;#039;&amp;#039;&amp;#039; — the parameter starts listening for an incoming command: a message, a note, a channel. The program will open a window where you specify that command, or simply send it from the console.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Virtual controller&amp;#039;&amp;#039;&amp;#039; — the parameter is bound to a slider or a palette from the &amp;#039;&amp;#039;&amp;#039;Virtual Controller&amp;#039;&amp;#039;&amp;#039; window (&amp;#039;&amp;#039;&amp;#039;Settings&amp;#039;&amp;#039;&amp;#039; menu → &amp;#039;&amp;#039;&amp;#039;Virtual Controller&amp;#039;&amp;#039;&amp;#039;). 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 be changed across the whole project with one motion.&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;L&amp;#039;&amp;#039;&amp;#039; button glows orange if the parameter has at least one binding; hover over it to see a tooltip listing the bindings. The &amp;#039;&amp;#039;&amp;#039;Clear&amp;#039;&amp;#039;&amp;#039; item at the end of the menu removes them all.&lt;br /&gt;
&lt;br /&gt;
== If Something Goes Wrong ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The slider doesn&amp;#039;t change the parameter.&amp;#039;&amp;#039;&amp;#039; The parameter has keyframe mode enabled or a function assigned. In keyframe mode, the value is edited at the cursor&amp;#039;s position and written into a keyframe; with a function, it can&amp;#039;t be edited at all. Turn off the stopwatch or clear the function to restore normal behavior.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The effect doesn&amp;#039;t return to its initial state.&amp;#039;&amp;#039;&amp;#039; After the last keyframe, the value is simply held. Place a final keyframe where the animation should reach its end state.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The program lags on animation with a lot of keyframes.&amp;#039;&amp;#039;&amp;#039; Updating values in real time noticeably loads the computer. Turn off the &amp;#039;&amp;#039;&amp;#039;Update keyframe data during playback&amp;#039;&amp;#039;&amp;#039; setting — &amp;#039;&amp;#039;&amp;#039;Settings&amp;#039;&amp;#039;&amp;#039; menu → &amp;#039;&amp;#039;&amp;#039;Properties&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;General&amp;#039;&amp;#039;&amp;#039; tab, &amp;#039;&amp;#039;&amp;#039;Miscellaneous&amp;#039;&amp;#039;&amp;#039; group. The animation is still calculated as before, only the numeric fields stop updating on the fly.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Настройки эффектов]]&lt;br /&gt;
* [[Добавление эффекта в композицию]]&lt;br /&gt;
* [[Расстановка эффектов по времени]]&lt;br /&gt;
* [[Таймлайн]]&lt;br /&gt;
* [[Режимы смешивания]]&lt;br /&gt;
* [[Терминология]]&lt;/div&gt;</summary>
		<author><name>LumiBot</name></author>
	</entry>
</feed>