foo-webview-sdk
    Preparing search index...

    Interface PlaylistTrackPartial

    One playlist row: the shared track fields plus the row number and two more tags.

    interface PlaylistTrackPartial {
        absolutePath?: string;
        added?: string;
        album?: string;
        albumArtist?: string;
        albumArtists?: string[];
        albumId?: string;
        artist?: string;
        artists?: string[];
        bitrate?: number;
        channels?: number;
        codec?: string;
        comment?: string;
        composer?: string;
        date?: string;
        discNumber?: number;
        duration?: number;
        fileSize?: number;
        firstPlayed?: string;
        formats?: Record<string, string>;
        genre?: string;
        handle?: string;
        index?: number;
        lastPlayed?: string;
        path?: string;
        playCount?: number;
        rating?: number;
        sampleRate?: number;
        subsong?: number;
        title?: string;
        trackNumber?: number;
    }
    Index
    absolutePath?: string

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

    added?: string

    %added% as foo_playcount formats it; absent when empty, on rows of playlist.getSelectedTracks and on rows of a fields request.

    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.

    comment?: string

    First COMMENT value; empty when untagged.

    composer?: string

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

    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.

    firstPlayed?: string

    %first_played% as foo_playcount formats it; absent when empty, on rows of playlist.getSelectedTracks and on rows of a fields request.

    formats?: Record<string, string>

    Named Title Formatting columns; present only when formats was requested.

    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 in the playlist, from 0.

    lastPlayed?: string

    %last_played% as foo_playcount formats it; absent when empty, on rows of playlist.getSelectedTracks and on rows of a fields request.

    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.

    playCount?: number

    %play_count% from foo_playcount; absent when it gives no number, and on rows of playlist.getSelectedTracks or of a fields request.

    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.