Table of Contents

Class FilterTransition

Namespace
Nyra.Entities.Filters
Assembly
Nyra.dll

Fades a filter in or out (a wet/dry blend) instead of stepping, NodeLink only.

public sealed record FilterTransition : IEquatable<FilterTransition>
Inheritance
FilterTransition
Implements
Inherited Members

Remarks

Parameter changes animate them towards the new values on the filters whose parameters the server animates, the rest accept the transition but step their parameters. Which filters animate is the server's to decide per release, this library sends the transition uniformly. A removal never carries a transition, it snaps.

Constructors

FilterTransition(int?, string?)

Fades a filter in or out (a wet/dry blend) instead of stepping, NodeLink only.

public FilterTransition(int? DurationMilliseconds, string? Curve = null)

Parameters

DurationMilliseconds int?

How long the transition takes, in milliseconds. There is no client-side guard, the value is the server's to judge. A non-positive one makes the change snap instantly or is rejected with 400. A null still writes an explicit zero, an omitted member (a third-party form) leaves the transition unable to animate, the change snaps.

Curve string

Transition curve by name, linear, exponential or sinusoidal, case-sensitive. The server replaces any other name with sinusoidal or rejects it with 400. A null curve is an omitted member on the wire, it never travels as a JSON null, so a fresh apply lands on the server's default (sinusoidal) and a server that merges the previous transition retains the earlier curve.

Remarks

Parameter changes animate them towards the new values on the filters whose parameters the server animates, the rest accept the transition but step their parameters. Which filters animate is the server's to decide per release, this library sends the transition uniformly. A removal never carries a transition, it snaps.

Properties

Curve

Transition curve by name, linear, exponential or sinusoidal, case-sensitive. The server replaces any other name with sinusoidal or rejects it with 400. A null curve is an omitted member on the wire, it never travels as a JSON null, so a fresh apply lands on the server's default (sinusoidal) and a server that merges the previous transition retains the earlier curve.

[JsonPropertyName("curve")]
public string? Curve { get; init; }

Property Value

string

DurationMilliseconds

How long the transition takes, in milliseconds. There is no client-side guard, the value is the server's to judge. A non-positive one makes the change snap instantly or is rejected with 400. A null still writes an explicit zero, an omitted member (a third-party form) leaves the transition unable to animate, the change snaps.

[JsonPropertyName("durationMs")]
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
[JsonConverter(typeof(TransitionDurationConverter))]
public int? DurationMilliseconds { get; init; }

Property Value

int?