PLUG'N SCRIPT
rapid plugin development
Tutorial
DSP
KUIML
How-to
Scripts
  • Overview
  • Tutorial
  • Reference
Layout and positioning
  • CELL
  • TABLE
Language basics
  • SKIN
  • DUMMY
  • INCLUDE
  • INCLUDE_ONCE
  • DEFINE
  • UNDEFINE
  • VARIABLE
  • LOCAL_VARIABLE
  • TEMPLATE
  • TEMPLATE_INNER_CONTENT
  • TEMPLATE_UNLOAD
  • REPEAT
Text widgets
  • TEXT
  • TEXT_FIELD
  • TEXT_EDIT_BOX
  • TOOLTIP
  • PARAM_TEXT
  • PARAM_TEXT_CONTROL
  • PARAM_TEXT_EDIT_BOX
  • PARAM_TOOLTIP
Image widgets
  • IMAGE
  • IMAGE_ACTION_BUTTON
  • IMAGE_GROUP_BOX
  • IMAGE_PARAM_BUTTON
  • IMAGE_PARAM_KNOB
  • IMAGE_PARAM_LINEAR_METER
  • IMAGE_PARAM_MENU_BUTTON
  • IMAGE_PARAM_METER
  • IMAGE_PARAM_SLIDER
  • IMAGE_PARAM_TOGGLE_SWITCH
  • XYZ_IMAGE_PARAM_JOYSTICK
Invisible controls
  • INVISIBLE_ACTION_BUTTON
  • INVISIBLE_PARAM_BUTTON
  • INVISIBLE_PARAM_KNOB
  • INVISIBLE_PARAM_MENU_BUTTON
  • INVISIBLE_PARAM_SLIDER
  • INVISIBLE_PARAM_TOGGLE_SWITCH
  • XY_PARAM_PAD
  • XY_ZOOM_SELECT_PAD
  • XYZ_PARAM_SCRATCH_PAD
  • XYZ_PARAM_CLICK_PAD
Drawing, curves & 3D
  • CANVAS
    • Graphics API
  • svg
  • CURVE_GRAPH
  • XY_CURVES_GRAPH
  • GRID
  • RULER
  • COLOR_SCALE
  • VIEW_3D
  • COLOR_SURFACE_3D
  • GRID_3D
  • GL_OBJECT_3D
    • OpenGL Cheat Sheet
  • SURFACE_COLORMAP_2DPLOT
Miscellaneous
  • SCRIPT
  • WIDGET
  • KUIML_WIDGET
  • POPUP_MENU
  • MENU_ITEM
  • MENU_SEPARATOR
  • FILE_SELECT_MENU
  • SYSTEM_ACTION_BUTTON
  • SYSTEM_PARAM_CHECKBOX
  • SYSTEM_PARAM_DROPDOWN_LIST
  • WINDOW
  • LOAD_FONT
Data model
  • STRING
  • PARAM
  • FORMULA_PARAM
  • PARAM_ANIMATOR
  • ACTION
    • Built-in action types
  • TIMER
  • ACTION_TRIGGER
  • CURVE
  • FORMULA_CURVE
  • CURVE_FROM_PARAM_OVER_TIME
  • SURFACE
  • FORMULA_SURFACE
  • SURFACE_FROM_CURVE_OVER_TIME
  • GROUP
Links and commands
  • PARAM_LINK
  • PARAM_MULTI_LINK
  • PARAM_CONNECTION
  • PARAM_TO_STRING_LINK
  • STRING_LINK
  • STRING_MULTI_LINK
  • CURVE_LINK
  • CURVE_MULTI_LINK
  • SURFACE_LINK
  • REQUIRED_OBJECTS
  • EXPOSED_OBJECTS
  • PERSISTENT_OBJECTS
Common attrubutes
  • For all elements
  • Widgets
  • Param Widgets
  • Param Controls
  • Param Info Viewers
  • Text Widgets
  • Surface Viewers
  • Curve Viewers
  • Images
  • 3D Objects
Additional information
  • All attributes
  • Attribute types
  • Cursors
  • Math formulas
  • Scripting
    • Built-in addons
  • User experience
  • Errors and solutions
  • Built-in variables
  • Runtime model
  • Parameters mapping
  • Script converter
  • LetiMix
KUIMLReferencePARAM_CONNECTION
June 03, 2025

PARAM_CONNECTION

This element connects two parameters together: whenever one of the parameters is changed, the other one follows it. It is stronger than two PARAM_LINK elements connecting both parameters because it ensures that both parameters keep the same value.

With two PARAM_LINKs the risk is that they are not equivalent, so they may get into unstable states.

Attributes brief detailed show all inherited

Name DescriptionDefault
id1Identifier of the first parameterMandatoryempty
id2Identifier of the second parameterMandatoryempty
response_curveResponse curve of the link: this enables the software to compute the value of the second parameter from the value of the first parameter. The inverse function is used to make the computation the other way roundlinear
Exposed: v. 1.2reverseReverse the response curveIf the curve is normalized, the transfer function of the link is:p2=1-f(p1),else it is:p2=max-f(p1)(f being the response curve)'false'
normalizedLinks the normalized values of the parameters instead of the absolute valuesSet this parameter to true if you want to link the parameters relatively to their ranges, and not as absolute values. 'Normalized' values are set between 0 and 1, 0 corresponding to the minimum and 1 the maximum values of the parameters'false'
Exposed: v. 1.2enabledEnables or disables the link'true'
Exposed: v. 1.3.2modeChooses the operation mode of the link: in 'absolute' mode the value of the linked parameters are synchronized (according to other settings such as response curve). When diff mode is set, the link incrementally modifies the value of the parameters based on the modified parameter variationsThis parameter is exposed as an integer (0 matching to 'absolute' mode and 1 to 'diff' mode'absolu...
constraintEnables or disables the constraint modewhen in constraint mode, the source parameter changes may trigger a change back so that the connection acts as a constraint. When the constraint mode is off, change messages are never sent back to the source parameter (which may cause parameters not to be in perfect sync). This parameter is always disabled when the connection operates in diff mode.
To simplify a bit: not "constrained" target parameter is not locked by the range of the source parameter (see example below).
'true'
Common attributesRead about `common`
idIdentifier of the elementThe id of an element has to be globally unique. Don't start with a digit for AngelScript compatibility.empty
Name Value type Default Description Comment
id1param idemptyIdentifier of the first parameterMandatory
id2param idemptyIdentifier of the second parameterMandatory
response_curveresponse curvelinearResponse curve of the link: this enables the software to compute the value of the second parameter from the value of the first parameter. The inverse function is used to make the computation the other way round
Exposed: v. 1.2reverseboolean'false'Reverse the response curveIf the curve is normalized, the transfer function of the link is:p2=1-f(p1),else it is:p2=max-f(p1)(f being the response curve)
normalizedboolean'false'Links the normalized values of the parameters instead of the absolute valuesSet this parameter to true if you want to link the parameters relatively to their ranges, and not as absolute values. 'Normalized' values are set between 0 and 1, 0 corresponding to the minimum and 1 the maximum values of the parameters
Exposed: v. 1.2enabledboolean'true'Enables or disables the link
Exposed: v. 1.3.2mode'absolute' or 'diff''absolute'Chooses the operation mode of the link: in 'absolute' mode the value of the linked parameters are synchronized (according to other settings such as response curve). When diff mode is set, the link incrementally modifies the value of the parameters based on the modified parameter variationsThis parameter is exposed as an integer (0 matching to 'absolute' mode and 1 to 'diff' mode
constraintboolean'true'Enables or disables the constraint modewhen in constraint mode, the source parameter changes may trigger a change back so that the connection acts as a constraint. When the constraint mode is off, change messages are never sent back to the source parameter (which may cause parameters not to be in perfect sync). This parameter is always disabled when the connection operates in diff mode.
To simplify a bit: not "constrained" target parameter is not locked by the range of the source parameter (see example below).
Common attributesRead about `common`
ididentifieremptyIdentifier of the elementThe id of an element has to be globally unique. Don't start with a digit for AngelScript compatibility.

Examples

A very practical example is when you want to force a value for a parameter (for example when you do not want to have a control for it). In this case just create a parameter with a single possible value and create a connection between this parameter and the one you want to constrain.

In the example below param A is constrained to a fixed parameter (with value 0.3), params B C and D are connected, but B to D is not "constrained", so D is not limited by the range of B.

  1. <!-- create params -->
  2. <PARAM id="A" min="0" max="1" default="0" />
  3. <PARAM id="B" min="0" max="1" default="0" />
  4. <PARAM id="C" min="-2" max="2" default="0" />
  5. <PARAM id="D" min="-2" max="2" default="0" />

  6. <!-- test several param connections -->
  7. <PARAM id="fixed_value" min="0.3" max="0.3" default="0.3" />
  8. <PARAM_CONNECTION id1="A" id2="fixed_value" />
  9. <PARAM_CONNECTION id1="B" id2="C" />
  10. <PARAM_CONNECTION id1="B" id2="D" constraint="false" />

  11. <!-- layout with sliders -->
  12. <ROW v_margin="10">
  13. <REPEAT index_list="A;B;C;D">
  14. <COLUMN width="35">
  15. <TEXT value="$index$" />
  16. <LM_SLIDER_A param_id="$index$" />
  17. <PARAM_TEXT_CONTROL param_id="$index$" />
  18. </COLUMN>
  19. </REPEAT>
  20. </ROW>

See more examples in PARAM_LINK, PARAM_MULTI_LINK and Params 101.


Comments

Please, authorize to view and post comments.

2020 - 2025 © Site by LetiMix · Donate  |  Plug'n Script and KUIML by Blue Cat Audio