Namespace Serenity.AudioPlayer.Domain.Services
Classes
AudioClipSpatialSettingsRules
The defaults for a positioned play and the rules for the spatial settings an author may choose: the values allowed and
the message for a value that is not. Pure and engine-free, so the inspector, the batch importer and the recipes agree
on the same rules. The defaults are what a positioned play of an unauthored clip already used; the clip's own
DEFAULT_* values are the 2D defaults and are a separate concern.
AudioDepthCueCalculator
Pure math behind the positioned depth cues: how far a source is within its own range, how an occlusion amount settles over time, and how it shapes the low-pass cutoff and the level. Engine-free on purpose: only Math/System.MathF, never an engine type.
AudioOcclusionDetour
Pure geometry behind graded occlusion: how much longer a sound has to travel to get around the world bounds of the box that blocks the straight line from the listener to the source, over the top or past either side. Y is up. Engine-free on purpose: only System.Numerics types. A rotated collider's bounds are an axis-aligned box that overestimates the real obstacle, so the detour it reports can be longer than the true one.
AudioPortalRouting
Pure rules for hearing a sound through a doorway: how long the way through a portal is, which portal to use without flipping between two near-equal ones, and how that route changes what the depth cues hear. Engine-free on purpose: only System.Numerics types.
AudioPriorityCandidateSelector
Default IAudioPriorityCandidateSelector. Picks the least important replaceable slot allowed by the policy, breaking ties in favor of the oldest sound.
AudioReverbVoiceCapPolicy
Decides which voices keep their per-source reverb when more voices want it than the authored cap allows: the nearest voices win, and which voice gives its slot back because it stayed dry. Pure and engine-free; the caller owns the list of voices that hold a slot.