Effects » User » Remote Control » RC 3001, cyclic control, B


RC 3001, cyclic control, B
Author(s):
Release date: Nov. 19, 2018
Creation date: Feb. 13, 2017
License: unknown

Lightworks user effect RC3001_Cyclic_Remote_LW14_5.fx

*********** WARNING: THIS EFFECT REQUIRES LIGHTWORKS 14.5 OR BETTER ***********

This is a version of the master controller for the remote control user effects subsystem
adds the ability to cycle the values of the effects channels.
This effect outputs the remote control signal on channel 3001.

In particular, if there are problems with the effect, I ask for feedback.
The effect should theoretically work across platforms, but until 10.11.2018 only a test on Windows was possible.

Details:
Note 1, Assistent effect for correct adjustment:
In particular, if a different cyclic waveform is to be set,
then it is recommended to add the effect "Setting Display Unit" at the end of the routing.

Note 2, Remote control input:
What is connected to the input of the effect has no effect on the effect itself.
However, the input can be used to pass the remote control signal from another remote control,
which is transmitting on another channel, to the output.
At the output of the effect then the remote control signals of both effects will be available.
That also works with more remote controls.
If you do not need this feature, you can leave this input open.

Note 3, Keyframing:
A sliding change of the "Interval" will lead to unexpected interval times.
The same applies to "Start delay", for which, however, only a static value makes sense anyway.

Note 4, Export:
If the "Setting Display Unit" was used for the effect setting, then deactivate it for the final export.
Note 4b, when using the export option "Marked section":
* In this case, let "Start Delay" be set to 0 to avoid unexpected behavior.
* The export always starts at the beginning of the interval curve.
This may differ from the playback if the starting point of the "Marked section"
is not the beginning of the segment (interval phase shift between playback and export).

Note 5, Cycle frames with decimal places :
The cycle progress will occasionally pause for 1 frames
at a position to remain synchronized with the set value.

Update:
19. Nov, 2018 by LW user schrauber: Changed effect name

10. Nov, 2018 by LW user schrauber:
Simplification of the effect settings
Interval setting is now switchable between frames and seconds.
Reduction of GPU load.
The quality of the signal transmission should now be independent of the GPU/OS.

3. May 2018 by LW user schrauber:
Unnecessary sampler settings removed.
Subcategory defined, effect description and other data relevant to the user repository added.

18 Feb 2017 by LW user schrauber:
Status level of the blue transmission channel updated (standardization with the other remote control effects)

END of effect description
Compatibility check, and build a meaningful compiler warning
Inputs & Samplers
Parameters
Definitions, declarations und macros
float _OutputFPS;
... Preprocessor, macros:
Exceeding the maximum allowed effect length specified in frames. In the first frame progress can remain on the first frame too long. In tests, the critical limits ranged between 62488 and 62503 frames total. (Side note: "_Progress" generates errors when using export function "use marked section", and is therefore used only as a cross-check)
Project frame rate (not "_OutputFPS")
Possibly corrected main interval (cycle length in frames).
Number of integer frames that can be represented in a cycle.
Cycle Time between the beginning and the end of the same frame. Timebase expressed in 0 to 1, within the current cycle.
1/2 Duration of a frame. Timebase expressed in 0 to 1, within the effekt .
Sets the position on the manually set start time. The duration of a half frame is added so that no pause in the effect progress occurs between the 1st and 2nd frame.
Position in the current cycle, Intermediate step 1 without correction of the zero point
Position in the current cycle, Correction of the zero point of the cycle
Transmitter, Status checks for transfer to the "Settings Display Unit"
It is checked whether the playhead is before a possibly set delayed start time.
Transmitter, Plausibility check for transfer to the "Settings Display Unit"
This check is no longer needed, so this value was set to 0 (OK). (0 = ok, 1 = error)
This check is no longer needed, so this value was set to 0 (OK). (0 = ok, 1 = error)
It is checked whether the adjusted effect length is too high. (0 = ok, 1 = error)
It is checked whether the set interval length is sufficient. (0 = ok, 1 = error)
Transmitter, transfer graphics variables
Channelgroup 30 Multiplication with 0.02 = y-Position of the upper edge of the color signal.
Channel group for transmission of graphic variables. 0.02 is the y-size of the color signal areas.
x - position position and dimensions of the the color point, remote control signal (is also used by the "Settings Display Unit")
x - position position and dimensions of the the color point (used by the "Settings Display Unit")
x - position position and dimensions of the the color point (used by the "Settings Display Unit")
x - position position and dimensions of the the color point (used by the "Settings Display Unit")
x - position position and dimensions of the the color point (used by the "Settings Display Unit")
Option (free channel)
x - position position and dimensions of the the color point (used by the "Settings Display Unit")
x - position position and dimensions of the the color point (used by the "Settings Display Unit")
Transmitter, transfer graphics data: Output of the waveform form encoded as a colored line (occupies Remote control channel 3101 to 3200)
Channelgroup 31 Multiplication with 0.02 = y-Position of the upper edge of the color signal.
Transmitter: Position and dimensions of the color signal. 0.02 is the y-size of the color signal areas.
Documentation see: https://github.com/FxSchrauber/Code_for_developing_Lightworks_effects/blob/master/Remote_control/README.md
Blue color channel:
Meaning of these definitions see: https://github.com/FxSchrauber/Code_for_developing_Lightworks_effects/blob/master/Remote_control/Channel_definitions/Channel_assignment.md#blue-color-channel-status-messages
Transmits 3 boolean values as color (numeral system 0 to 1)
"RENDERscalar(Tx)" (numeral system 0 to 1), Transmits the value of "Tx" via the RG channels with increased precision.
Submacro.
"RENDERscalar_1_0_1(Tx)" (numeral system input -1 to +1, output 0 to 1), Transmits the value of "Tx" coded over the RG channels with increased precision,
and transmits the same value with GPU precision setting on the alpha channel
Submacro
Submacro. Adjustment of the numeral system from (-1 ... +1) to ( 0 ... 1)
Shaders
------------- Calculate and render the remote control signal,
------------- and the waveform as a RC database for the graphical view in the RC effect "Setting Display Unit (Simulates a run through a cycle)
1nd half wave
2nd half-wave, or after the combination half waves, the variable contains the sum of the first half waves and the second half wave.
Simulates a run through a cycle
Simulates a run through a cycle. Displays the actual curve in the frame steps.
Start time of the next ramp within a cycle
.... "HALF_WAVE1" within the same cycle
Ramp A
Adds the Hold_Time to the already elapsed time.
add Time Ramp B
Cosine fallback (no sharp edges), Cosine result: +1 to -1 , after correction: 0 = max zoom , 1 = no zoom
... "HALF_WAVE2" within the same cycle
Ramp A
Adds the Hold_Time to the already elapsed time.
add Time Ramp B
Cosine fallback (no sharp edges), Cosine result: +1 to -1 , after correction: 0 = max zoom , 1 = no zoom
Combine the half waves
... Output
Output the remote control signal. (and adjustment of the numeral system from (-1 ... +1) to ( 0 ... 1))
Output of the waveform form encoded as a colored line (occupies Canal 5001 to 5100). Macro, Render a variable ("strengthCycle2") a via the RG channels with increased precision (numeral system 0 to 1)
Channel group for transmission of values needed to generate the graph.
Numeral system 0 ... 1 (Transfer of a float variable via the RG channels with increased precision.)
Numeral system 0 ... 1 (Transfer of a float variable via the RG channels with increased precision.)
Numeral system 0 ... 1 (Transfer of a float variable via the RG channels with increased precision.)
Numeral system 0 ... 1 (Transfer of a float variable via the RG channels with increased precision.)
Boolean transmission of 3 possible error types.
Boolean transmission of 2 values ( the macro "RENDERboolean" can transmit a maximum of 3 values)
Pass the color signal from the remote input.
Technique