Skip to content

Multi Dim Pars

Multi-Dimension Variant

Import

import "_IVLS/std-library/nodes/components/engine-box/multi-dim-pars.ksp"

Overview

Multi-Dimension Variant

LIBRARY MODULE

Parameter engine for multi-dimension data organized by two or more axes (e.g., layer + par).

  • Data.CreateMultiDim(name) — creates engine with persistent data[], data.buffer[], data.mod[]
  • Exposes par, par.public, par.mod_offset, par.ctrl_id properties
  • Generates named per-parameter properties from par.MEMBERS via Data._MultiParProperty
  • Generates metadata properties from Data.META_PARS via Data._MultiMetaProperty

API

Properties

Name Description
property #par# Gets current value; sets value triggering par_cb and control update.
property #par#.ctrl_id Gets or sets the bound UI control ID for this parameter.
property #par#.ctrl_label Gets or sets the bound label control ID for this parameter.
property #par#.live Gets value with modulation offset applied (read-only).
property #par#.mod_offset Gets or sets modulation offset for this parameter.
property #par#.pad_idx Gets or sets the XY pad cursor index for this parameter.
property #par#.public Gets current value; sets value triggering par_cb with UI display flag.
property #par#.raw Direct value access bypassing par_cb.
property #par#.ui_routine Gets or sets the UI routine binding for this parameter.
property par Gets parameter value; sets value triggering par_cb and control update.
property par.#meta_par# Gets or sets the #meta_par# metadata value for a parameter.
property par.#meta_par#.all Sets #meta_par# metadata for all dimension combinations of a parameter (write-...
property par.ctrl_id Gets or sets the bound UI control ID for a parameter.
property par.mod_offset Gets or sets modulation offset for a parameter.
property par.public Gets parameter value; sets value triggering par_cb with UI display flag.

Macros

Name Description
Data.CreateMultiDim(#name#) Creates a multi-dimension parameter engine for parameter sets organized by multi...

Properties

property #par#

Gets current value; sets value triggering par_cb and control update.


property #par#.ctrl_id

Gets or sets the bound UI control ID for this parameter.


property #par#.ctrl_label

Gets or sets the bound label control ID for this parameter.


property #par#.live

Gets value with modulation offset applied (read-only).


property #par#.mod_offset

Gets or sets modulation offset for this parameter. Setting triggers par_cb without mutation flag.


property #par#.pad_idx

Gets or sets the XY pad cursor index for this parameter.


property #par#.public

Gets current value; sets value triggering par_cb with UI display flag.


property #par#.raw

Direct value access bypassing par_cb.


property #par#.ui_routine

Gets or sets the UI routine binding for this parameter.


property par

Gets parameter value; sets value triggering par_cb and control update.


property par.#meta_par#

Gets or sets the #meta_par# metadata value for a parameter.


property par.#meta_par#.all

Sets #meta_par# metadata for all dimension combinations of a parameter (write-only).


property par.ctrl_id

Gets or sets the bound UI control ID for a parameter.


property par.mod_offset

Gets or sets modulation offset for a parameter.


property par.public

Gets parameter value; sets value triggering par_cb with UI display flag.


Macros

Data.CreateMultiDim(#name#)

Creates a multi-dimension parameter engine for parameter sets organized by multiple dimensions.

Preconditions:

  • #name#.DIMS, #name#.MULTS, #name#.SIZES, #name#.par.MEMBERS, #name#.par.LONGNAMES must be defined
  • data.engine_id.#name# must be defined as a unique engine ID
Parameter Description
#name# engine namespace

Side effects:

Name Type Purpose
#name#.data[] int[] Main persistent data storage
#name#.data.buffer[] int[] Instance-persistent buffer
#name#.data.mod[] int[] Modulation offsets
  • Generates par, par.public, par.mod_offset, par.ctrl_id properties
  • Generates per-parameter properties via Data._MultiParProperty
  • Generates per-meta-parameter properties via Data._MultiMetaProperty
  • Calls Data._CreateCommon() internally

Example

// TODO: Add usage example

See Also