logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Interface IMusicTrackDefinition

    Interface representing the definition of a music track.

    Namespace: Serenity.MusicPlayer.Application.Interfaces
    Assembly: Serenity.MusicPlayer.Application.dll
    Syntax
    public interface IMusicTrackDefinition : IFoundationSettings

    Properties

    Artist

    Gets the artist of the music track.

    Declaration
    string Artist { get; }
    Property Value
    Type Description
    string

    The artist as a string.

    AudioClip

    Gets the audio clip of the music track.

    Declaration
    object AudioClip { get; }
    Property Value
    Type Description
    object

    The audio clip as an object.

    AudioClipPath

    Gets the audio clip path of the music track.

    Declaration
    string AudioClipPath { get; }
    Property Value
    Type Description
    string

    The audio clip path as a string.

    EndTime

    Gets the loop-out point in seconds. When playback reaches this position a new voice starts the loop from StartTime while the current voice rings out its tail past this point.

    Declaration
    float EndTime { get; }
    Property Value
    Type Description
    float

    The end time as seconds from the beginning of the clip.

    StartTime

    Gets the loop-return point in seconds. When the track is tail-preserving looped, each loop restarts playback from this position instead of the beginning, so the intro is heard only once.

    Declaration
    float StartTime { get; }
    Property Value
    Type Description
    float

    The start time as seconds from the beginning of the clip.

    TailFadeOutCurve

    Gets the shape of the tail fade-out curve.

    Declaration
    MusicFadeCurve TailFadeOutCurve { get; }
    Property Value
    Type Description
    MusicFadeCurve

    The selected MusicFadeCurve.

    TailFadeOutCurveSamples

    Gets the custom tail fade-out curve sampled into a uniform gain table over [0, 1], or null when a preset curve is selected. Values run from 1 (full volume) to 0 (silence).

    Declaration
    float[] TailFadeOutCurveSamples { get; }
    Property Value
    Type Description
    float[]

    The sampled gain table, or null for preset curves.

    TailFadeOutDuration

    Gets the duration, in seconds, over which the outgoing tail voice fades to silence once the loop-out point is reached. A value of zero cuts the tail at the loop point (no tail).

    Declaration
    float TailFadeOutDuration { get; }
    Property Value
    Type Description
    float

    The tail fade-out duration in seconds.

    TailPreservingLoop

    Gets whether the track uses tail-preserving looping, where the loop seam is bridged by a second audio source so reverb/ambience tails are not cut on restart.

    Declaration
    bool TailPreservingLoop { get; }
    Property Value
    Type Description
    bool

    True when tail-preserving looping is enabled.

    Title

    Gets the title of the music track.

    Declaration
    string Title { get; }
    Property Value
    Type Description
    string

    The title as a string.

    In this article
    © 2026 Serenity. All Rights Reserved