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_LINK
August 23, 2025

CURVE_LINK

This element connects a curve to another one. This means than whenever the 'from' curve changes, the 'to' curve takes the 'from' curve value.

Attributes brief detailed show all inherited

Name DescriptionDefault
fromIdentifier of the origin curveMandatoryempty
toIdentifier of the target curveMandatoryempty
Exposed: v. 1.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
fromcurve idemptyIdentifier of the origin curveMandatory
tocurve idemptyIdentifier of the target curveMandatory
Exposed: v. 1.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 a CURVE_LINK used to copy data from CURVE_FROM_PARAM_OVER_TIME into a newly created CURVE. The new curve has different max/min values, and the link can be "disabled" to "pause" the curve, without pausing the original (source) CURVE_FROM_PARAM_OVER_TIME.

  1. <!-- demo param -->
  2. <PARAM id="demo_param" min="-10" max="10" default="0" />

  3. <!-- source curve from param over time -->
  4. <CURVE_FROM_PARAM_OVER_TIME id="curve_source" param_id="demo_param" duration_ms="10000" refresh_time_ms="10"/>

  5. <!-- target curve -->
  6. <CURVE id="curve_demo" x_default="0" x_max="0.5" x_min="-5" x_unit="s" y_default="0" y_max="7" y_min="-7" y_unit="dB" />

  7. <!-- copy data from source curve to target curve -->
  8. <CURVE_LINK id="curve_link_1" from="curve_source" to="curve_demo" enabled="true" />

  9. <!-- we can "pause" the target curve without pausing sampling the values for the original CURVE_FROM_PARAM_OVER_TIME -->
  10. <PARAM_TEXT_CONTROL param_id="curve_link_1.enabled" content="Link: {text_value}" />

  11. <!-- display the curve on a graph -->
  12. <PNS_LCD_GROUP_BOX>
  13. <LAYER_STACK>
  14. <!-- grid -->
  15. <GRID id="grid_1" width="100%" height="100%" x_positions_count="11" x_subdiv_count="1" y_positions_count="3" y_subdiv_count="3" color="#CCCCCC" subdiv_color="#999999" origin_color="#FFFFFF" line_width="2" subdiv_line_width="1" origin_line_width="3" x_param_info_id="curve_demo.x_info" y_param_info_id="curve_demo.y_info" opacity="0.2" />

  16. <!-- first graph for the line (stroke) -->
  17. <CURVE_GRAPH curve_id="curve_demo" width="500" height="200" color="#327ca3" graph_style="stroke" opacity="1" line_width="4" />
  18. <!-- second line for the opaque bargraph -->
  19. <CURVE_GRAPH curve_id="curve_demo" width="500" height="200" color="#327ca3" graph_style="bargraph" opacity="0.2" line_width="4" />

  20. <!-- horizontal ruler -->
  21. <RULER id="graph_ruler_x" orientation="horizontal" width="100%" value_suffix="false" param_info_id="curve_demo.x_info" color="#AAAAAA" value_format=".1" content="{value}" positions_count="11" font_escapement="0" text_h_align="center" v_offset="0" v_align="bottom" h_offset="-1" font_size="12" />

  22. <!-- vertical ruler -->
  23. <RULER id="graph_ruler_y" orientation="vertical" height="100%" width="50" value_suffix="false" param_info_id="curve_demo.y_info" color="#999999" value_format=".1" content="{value}" positions_count="3" font_escapement="0" text_v_align="top" h_align="left" text_h_align="left" h_offset="3" v_offset="0" font_size="12"/>
  24. </LAYER_STACK>
  25. </PNS_LCD_GROUP_BOX>

  26. <!-- demo logic -->
  27. <SCRIPT script="double demo_val = 0;" />
  28. <TIMER id="forever_timer" refresh_time_ms="5" />
  29. <ACTION_TRIGGER event_id="forever_timer.elapsed"
  30. script=" 
  31. demo_param = sin(demo_val)*5 + cos(demo_val*0.2);
  32. demo_val+=0.09;
  33.  " requires="demo_param;demo_offset;" />

Related elements

See CURVE_GRAPH, CURVE_FROM_PARAM_OVER_TIME, FORMULA_CURVE, CURVE, CURVE_MULTI_LINK.


Comments

Please, authorize to view and post comments.

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