AudioLevel

sealed interface AudioLevel(source)

What to do with one clip's or one track's audio.

Narrower than AudioSpec: a clip or a track can only scale its audio. Dropping the audio track, or keeping audio while dropping video, is set on the composition. Levels multiply down the scopes and are not capped, so a gain above 1f boosts, and a Mute at any of them silences everything below it. A negative or non-finite gain is refused with dev.jordond.filmstrip.FilmstripError.InvalidComposition when the composition is planned.

Inheritors

Types

Link copied to clipboard
class Envelope(val points: List<EnvelopePoint>) : AudioLevel

Contribute at a gain that moves over time.

Link copied to clipboard
data object Inherit : AudioLevel

Take the level from the enclosing scope, which is the track for a clip and the composition for a track.

Link copied to clipboard
data object Mute : AudioLevel

Contribute silence, without changing timing or the output's track count.

Link copied to clipboard
class Volume(val gain: Float) : AudioLevel

Contribute at a scaled gain.