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
KUIMLReferenceCURVE_MULTI_LINK
August 20, 2025

CURVE_MULTI_LINK

This element connects multiple curves together. Whenever one of the 'from' curves changes, the 'to' curves take the 'from' value modified by the mux_function.

Attributes brief detailed show all inherited

Name DescriptionDefault
fromIdentifiers of the source curvesMandatoryempty
toIdentifier of the destination curvesMandatoryempty
mux_functionFunction used to convert the n input values to a single value ('+','-','/','*')+
Exposed: v. 1.4.3enabledEnables or disables the link'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
fromList of curve id separated by ';'emptyIdentifiers of the source curvesMandatory
toList of curve id separated by ';'emptyIdentifier of the destination curvesMandatory
mux_functionMux function ('+','-','/','*')+Function used to convert the n input values to a single value ('+','-','/','*')
Exposed: v. 1.4.3enabledboolean'true'Enables or disables the link
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

Here's an example of two curves linked into one with "+" mux_function.

  1. <!-- curve from param over time 1 -->
  2. <CURVE_FROM_PARAM_OVER_TIME id="demo_curve_1" param_id="demo_param_1" duration_ms="10000" refresh_time_ms="10"/>
  3. <PARAM id="demo_param_1" min="-10" max="10" default="0" />

  4. <!-- curve from param over time 2-->
  5. <CURVE_FROM_PARAM_OVER_TIME id="demo_curve_2" param_id="demo_param_2" duration_ms="10000" refresh_time_ms="10"/>
  6. <PARAM id="demo_param_2" min="-10" max="10" default="0" />

  7. <!-- target curve -->
  8. <CURVE id="target_curve" x_default="0" x_max="0" x_min="-10" x_unit="s" y_default="0" y_max="15" y_min="-15" y_unit="dB" />

  9. <!-- link curves into one; mux_function can be +, -, *, / -->
  10. <CURVE_MULTI_LINK from="demo_curve_1;demo_curve_2" to="target_curve" mux_function="+" />

  11. <!-- a template to display the curve on a graph -->
  12. <TEMPLATE id="SHOW_CURVE" curve_id="">
  13. <PNS_LCD_GROUP_BOX>
  14. <LAYER_STACK>
  15. <!-- first graph for the line (stroke) -->
  16. <CURVE_GRAPH curve_id="$curve_id$" width="500" height="100" color="#327ca3" graph_style="stroke" opacity="1" line_width="4" />
  17. <!-- second line for the opaque bargraph -->
  18. <CURVE_GRAPH curve_id="$curve_id$" width="500" height="100" color="#327ca3" graph_style="bargraph" opacity="0.2" line_width="4" />
  19. </LAYER_STACK>
  20. </PNS_LCD_GROUP_BOX>
  21. </TEMPLATE>

  22. <!-- show the curves -->
  23. <SHOW_CURVE curve_id="demo_curve_1" />
  24. <SHOW_CURVE curve_id="demo_curve_2" />
  25. <SHOW_CURVE curve_id="target_curve" />

  26. <!-- demo logic to create curves -->
  27. <SCRIPT script="double demo_val_1 = 0, demo_val_2 = 0;" />
  28. <TIMER id="forever_timer" refresh_time_ms="5" />
  29. <ACTION_TRIGGER event_id="forever_timer.elapsed"
  30. script=" 
  31. demo_param_1 = sin(demo_val_1)*5;
  32. demo_val_1+=0.09;
  33. demo_param_2 = cos(demo_val_2)*10;
  34. demo_val_2+=.01;
  35.  " requires="demo_param_1;demo_param_2" />

Related elements

See CURVE_GRAPH, CURVE_FROM_PARAM_OVER_TIME, FORMULA_CURVE, CURVE, CURVE_LINK.


Comments

Please, authorize to view and post comments.

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