Table of Contents

Class ResponseNode

Namespace
PluginUI
Assembly
PluginUI.dll

A draggable point of a FrequencyResponseView, bound to parameters or holding its own values.

public sealed class ResponseNode
Inheritance
ResponseNode
Inherited Members

Remarks

A node has either one frequency (FrequencyParameter / Frequency) or, when UsesBandEdges is set, two band edges (LowFrequencyParameter, HighFrequencyParameter): it then sits at their geometric centre, dragging it shifts both edges with a constant ratio, the wheel changes the ratio around the centre and two small handles move each edge alone.

The vertical position is Value on the left axis; it is draggable only when IsValueEditable is set (a gain), otherwise the node stays at Value (0 dB by default).

Parameter values are read with ToPlain(double) (Hz, dB) and written inside edit gestures.

Properties

Color

Node color.

public Color Color { get; set; }

Property Value

Color

Frequency

Frequency in Hz: the geometric centre of the band edges when UsesBandEdges is set.

public double Frequency { get; set; }

Property Value

double

FrequencyParameter

Frequency parameter (plain value in Hz), or null.

public IParameter? FrequencyParameter { get; set; }

Property Value

IParameter

HighFrequency

Upper band edge in Hz.

public double HighFrequency { get; set; }

Property Value

double

HighFrequencyParameter

Upper band-edge parameter (plain value in Hz), or null.

public IParameter? HighFrequencyParameter { get; set; }

Property Value

IParameter

IsValueEditable

The vertical position can be dragged.

public bool IsValueEditable { get; set; }

Property Value

bool

IsVisible

Whether the node is drawn and can be hit.

public bool IsVisible { get; set; }

Property Value

bool

LowFrequency

Lower band edge in Hz.

public double LowFrequency { get; set; }

Property Value

double

LowFrequencyParameter

Lower band-edge parameter (plain value in Hz), or null.

public IParameter? LowFrequencyParameter { get; set; }

Property Value

IParameter

Readout

Text shown while the node is hovered or dragged, or null.

public Func<string>? Readout { get; set; }

Property Value

Func<string>

ShowWarning

Shows a warning ring (for instance when the requested design is not realizable).

public bool ShowWarning { get; set; }

Property Value

bool

Tag

Free user data.

public object? Tag { get; set; }

Property Value

object

Text

Short text drawn inside the node (for instance the band number).

public string? Text { get; set; }

Property Value

string

UsesBandEdges

The node is defined by two band edges instead of one frequency.

public bool UsesBandEdges { get; set; }

Property Value

bool

Value

Vertical value in left-axis units.

public double Value { get; set; }

Property Value

double

ValueParameter

Vertical value parameter (plain value in left-axis units), or null.

public IParameter? ValueParameter { get; set; }

Property Value

IParameter

WheelParameter

Parameter stepped by the mouse wheel over a single-frequency node (a width or Q), or null.

public IParameter? WheelParameter { get; set; }

Property Value

IParameter

WheelStep

Normalized step of WheelParameter per wheel notch (Shift divides it by 5).

public double WheelStep { get; set; }

Property Value

double