foo-webview-sdk
    Preparing search index...

    Interface LibraryTrack

    One track row of a library list: the shared track fields plus index.

    interface LibraryTrack {
        absolutePath: string;
        album: string;
        albumArtist: string;
        albumArtists: string[];
        albumId?: string;
        artist: string;
        artists: string[];
        bitrate: number;
        channels: number;
        codec: string;
        date: string;
        discNumber: number;
        duration: number;
        fileSize: number;
        genre: string;
        handle: string;
        index: number;
        path: string;
        rating: number;
        sampleRate: number;
        subsong: number;
        title: string;
        trackNumber: number;
    }

    Hierarchy (View Summary)

    Index
    absolutePath: string

    Native filesystem path without the subsong suffix; the same as path for a remote URL.

    album: string

    First ALBUM value; empty when untagged.

    albumArtist: string

    Every ALBUM ARTIST value joined with ", "; empty when untagged.

    albumArtists: string[]

    All ALBUM ARTIST values in tag order (albumArtists.join(", ") equals albumArtist); empty array when untagged. In library.getAlbums, a track that has an album is filed under the name album and the album artist albumArtists[0] (falling back to artists[0], or "" when both are empty); those are the name and albumArtist of that album's row. When albumId is present, match by albumId instead of display names to avoid collision from character replacement.

    albumId?: string

    Opaque album identity when its original name or album artist contains invalid UTF-8. Use this instead of the display names to match an album row; absent for ordinary names.

    artist: string

    Every ARTIST value joined with ", "; empty when untagged.

    artists: string[]

    Every ARTIST value in tag order; empty when untagged.

    bitrate: number

    Average bitrate in kbit/s; 0 when unknown.

    channels: number

    Channel count; 0 when unknown.

    codec: string

    Codec name as the decoder reports it, such as FLAC or MP3; empty when unknown.

    date: string

    First DATE value as tagged, such as 2019 or 2019-05-01; empty when untagged.

    discNumber: number

    DISCNUMBER read as an integer; 0 when absent or not a number.

    duration: number

    Length in seconds; 0 when unknown.

    fileSize: number

    File size in bytes; -1 when unknown, as for a remote stream.

    genre: string

    Every GENRE value joined with ", "; empty when untagged.

    handle: string

    Cross-endpoint unique track identifier: formatted as absolutePath, appended with |subsong:N when subsong is non-zero. The same track yields the same handle from every method. Differs from standard filesystem paths; endpoints document whether handle identifiers are accepted in place of paths.

    index: number

    Row number; the list the row is in says what it counts.

    path: string

    Path as foobar2000 stores it: file:// for a local file, file-relative:// for a path stored relative to the foobar2000 folder (a portable install), or a remote URL. No subsong suffix.

    rating: number

    Rating value from 0 to 5. Prefers the %rating% statistic (foo_playcount) if within 1..5; otherwise falls back to the RATING tag clamped to 0..5; 0 if neither is present.

    sampleRate: number

    Sample rate in Hz; 0 when unknown.

    subsong: number

    Subsong identifier the decoder assigns inside the file, not necessarily a sequence number; 0 for a whole file and for a remote stream.

    title: string

    First TITLE value; empty when untagged.

    trackNumber: number

    TRACKNUMBER read as an integer; 0 when absent or not a number.