Table of Contents

Class ReverbFilter

Namespace
Nyra.Entities.Filters
Assembly
Nyra.dll

Simulates a room's reflections.

public sealed record ReverbFilter : IFilter, IEquatable<ReverbFilter>
Inheritance
ReverbFilter
Implements
Inherited Members

Remarks

NodeLink only. An instance with every member null is not a no-op, the mix defaults to 0.5, an audible reverb, so send explicit values to pin the sound you intend.

A co-client's custom delays and gains state survives every write of this record. RoomSize and Damping only reach the server while the custom state is absent, remove and re-add the filter to clear it.

Constructors

ReverbFilter(float?, float?, float?, float?, float?, float?, FilterTransition?)

Simulates a room's reflections.

public ReverbFilter(float? RoomSize = null, float? Damping = null, float? WetLevel = null, float? DryLevel = null, float? Width = null, float? Mix = null, FilterTransition? Transition = null)

Parameters

RoomSize float?

Room size, 0.0-1.0, null is sent as 0.5.

Damping float?

How much the room absorbs, 0.0-1.0, null is sent as 0.5.

WetLevel float?

Reverb loudness, 0.0-1.0. NodeLink ignores it (the wet level comes from the mix) and just echoes it back, null is sent as 0.5.

DryLevel float?

Original-signal loudness, 0.0-1.0. NodeLink ignores it (the dry level comes from the mix) and just echoes it back, null is sent as 0.5.

Width float?

Stereo width of the reverb, 0.0-1.0, null is sent as 1.0.

Mix float?

Overall reverb mix, 0.0-1.0. 0.0 leaves the block inactive, null is sent as the audible 0.5 server default.

Transition FilterTransition

NodeLink currently accepts but ignores this transition, the change always snaps instantly.

Remarks

NodeLink only. An instance with every member null is not a no-op, the mix defaults to 0.5, an audible reverb, so send explicit values to pin the sound you intend.

A co-client's custom delays and gains state survives every write of this record. RoomSize and Damping only reach the server while the custom state is absent, remove and re-add the filter to clear it.

Properties

Damping

How much the room absorbs, 0.0-1.0, null is sent as 0.5.

[JsonPropertyName("damping")]
public float? Damping { get; init; }

Property Value

float?

DryLevel

Original-signal loudness, 0.0-1.0. NodeLink ignores it (the dry level comes from the mix) and just echoes it back, null is sent as 0.5.

[JsonPropertyName("dryLevel")]
public float? DryLevel { get; init; }

Property Value

float?

Mix

Overall reverb mix, 0.0-1.0. 0.0 leaves the block inactive, null is sent as the audible 0.5 server default.

[JsonPropertyName("mix")]
public float? Mix { get; init; }

Property Value

float?

RoomSize

Room size, 0.0-1.0, null is sent as 0.5.

[JsonPropertyName("roomSize")]
public float? RoomSize { get; init; }

Property Value

float?

Transition

NodeLink currently accepts but ignores this transition, the change always snaps instantly.

[JsonPropertyName("transition")]
public FilterTransition? Transition { get; init; }

Property Value

FilterTransition

WetLevel

Reverb loudness, 0.0-1.0. NodeLink ignores it (the wet level comes from the mix) and just echoes it back, null is sent as 0.5.

[JsonPropertyName("wetLevel")]
public float? WetLevel { get; init; }

Property Value

float?

Width

Stereo width of the reverb, 0.0-1.0, null is sent as 1.0.

[JsonPropertyName("width")]
public float? Width { get; init; }

Property Value

float?