Class AudityKindNode
Base for nodes that compile 1:1 to an engine node kind: ports derive entirely
from DarkEffekt.Audity.AudityNodeSpec, so the executor, compiler and editor can never
disagree about the pin set.
Assembly: DarkEffekt.Audity.Runtime
Section titled “Assembly: DarkEffekt.Audity.Runtime”[Serializable]public abstract class AudityKindNode : AudityNodeInheritance: System.Object -> DarkEffekt.Audity.AudityNode
Properties
Section titled “Properties”public abstract AudityNodeKindId Kind { get; }AuthoredVariadicCount
Section titled “AuthoredVariadicCount”Element count a variadic node was AUTHORED with (Mixer inputs, Split channels, State Route rows) - the raw field or list length, never clamped. This is the single hook: DarkEffekt.Audity.AudityKindNode.VariadicCount derives the pin surface from it and the compiler validates it, so a node cannot show one arity and be checked against another. Non-variadic kinds leave it at 0.
public virtual int AuthoredVariadicCount { get; }VariadicMin
Section titled “VariadicMin”Lower bound for this node’s arity; below it the pin surface clamps up.
public virtual int VariadicMin { get; }VariadicMax
Section titled “VariadicMax”Upper bound for this node’s arity. Authoring beyond it is a compile error
rather than a silent truncation, so raise it deliberately (channel nodes
use DarkEffekt.Audity.AudityNodeSpec.MaxChannels) rather than to fit a value.
public virtual int VariadicMax { get; }VariadicCount
Section titled “VariadicCount”Pin-surface arity: the authored count clamped into this node’s bounds. Deliberately NOT virtual - when a node could clamp here independently, a node that clamped for the editor but reported raw to the compiler (or the reverse) silently dropped everything past the cap.
public int VariadicCount { get; }HasInstancePinSurface
Section titled “HasInstancePinSurface”True when this node’s pin surface is per-instance (op-dependent pins, a
width setting): the compiler emits the node with its authored
DarkEffekt.Audity.AudityNode.GetInputPorts(System.Collections.Generic.List%7bDarkEffekt.Audity.AudityPinSpec%7d)/DarkEffekt.Audity.AudityNode.GetOutputPorts(System.Collections.Generic.List%7bDarkEffekt.Audity.AudityPinSpec%7d)
lists instead of the kind’s fixed spec. The kind’s exec must read pins by
the instance layout (guard on DarkEffekt.Audity.AudityNodeDesc.inputCount).
public virtual bool HasInstancePinSurface { get; }Methods
Section titled “Methods”GetInputPorts(List<AudityPinSpec>)
Section titled “GetInputPorts(List<AudityPinSpec>)”Appends this node’s input ports (compiler and editor both consume this).
public override void GetInputPorts(List<AudityPinSpec> ports)Parameters
Section titled “Parameters”| Type | Name |
|---|---|
System.Collections.Generic.List<DarkEffekt.Audity.AudityPinSpec> |
ports |
GetOutputPorts(List<AudityPinSpec>)
Section titled “GetOutputPorts(List<AudityPinSpec>)”Appends this node’s output ports.
public override void GetOutputPorts(List<AudityPinSpec> ports)Parameters
Section titled “Parameters”| Type | Name |
|---|---|
System.Collections.Generic.List<DarkEffekt.Audity.AudityPinSpec> |
ports |
InlineValuePath(string)
Section titled “InlineValuePath(string)”By convention a kind node’s inline field is named after the pin id.
public override string InlineValuePath(string portId)Returns
Section titled “Returns”System.String
Parameters
Section titled “Parameters”| Type | Name |
|---|---|
System.String |
portId |
BakeParams(AudityBakeContext)
Section titled “BakeParams(AudityBakeContext)”Bakes this node’s authored settings into its program param blob (layout per the kind’s *Params constants). Called by the compiler right after the node is added to the builder; the default bakes nothing.
public virtual void BakeParams(AudityBakeContext bake)Parameters
Section titled “Parameters”| Type | Name |
|---|---|
DarkEffekt.Audity.AudityBakeContext |
bake |