// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT

/**
 * State represents the current playback state.
 */
export enum State {
    /**
     * The Go zero value for the underlying type of the enum.
     */
    $zero = "",

    /**
     * Playback state values.
     */
    Playing = "playing",
    Paused = "paused",
    Stopped = "stopped",
};

/**
 * TrackInfo contains metadata and playback state for the currently
 * loaded track. It is emitted as the payload of the TrackChanged
 * event and serialized as camelCase JSON to match the frontend
 * TrackInfo interface in player-store.ts.
 */
export interface TrackInfo {
    "fileName": string;
    "filePath": string;
    "state": State;
    "title": string;
    "artist": string;
    "album": string;
    "coverArt": string;
    "coverArtSmall": string;
    "coverArtMedium": string;
    "coverArtLarge": string;
    "trackLength": number;
    "seekPosition": number;
    "trackChangeId": number;
    "artistMbid": string;
    "releaseGroupMbid": string;
    "recordingMbid": string;
}

/**
 * UserVolume represents volume on a user-facing scale (0-100).
 */
export enum UserVolume {
    /**
     * The Go zero value for the underlying type of the enum.
     */
    $zero = 0,

    /**
     * User volume range bounds.
     */
    MinUserVol = 0,
    MaxUserVol = 100,
    DefaultUserVol = 50,
};
