// Copyright (c) Arlo Godfrey. All Rights Reserved.
// Licensed under the GNU Lesser General Public License, Version 3.0 with additional terms.
// See the LICENSE, LICENSE.LESSER and LICENSE.ADDITIONAL files in the project root for more information.
using System;
using System.Collections.Generic;
using System.Globalization;
namespace StrixMusic.Sdk.FileMetadata.Models
{
///
/// Contains information that describes track, scanned from a single file.
///
public sealed class TrackMetadata : IFileMetadata
{
///
/// The unique identifier for this track.
///
public string? Id { get; set; }
///
/// The location of the file.
///
public string? Url { get; set; }
///
/// The unique identifier for this track's album.
///
public string? AlbumId { get; set; }
///
/// The unique identifier(s) for this track's artist(s).
///
public HashSet? ArtistIds { get; set; }
///
/// The title of this track.
///
public string? Title { get; set; }
///
/// The duration of this track.
///
public TimeSpan? Duration { get; set; }
///
/// The track number of this track in the album.
///
public uint? TrackNumber { get; set; }
///
/// The disk this track is present on.
///
public uint? DiscNumber { get; set; }
///
/// The language of this track.
///
public CultureInfo? Language { get; set; }
///
/// The lyrics for this track.
///
public Lyrics? Lyrics { get; set; }
///
/// The unique identifier(s) for this track's image(s).
///
public HashSet? ImageIds { get; set; }
///
/// The description of this track.
///
public string? Description { get; set; }
///
/// The genres of this track.
///
public HashSet? Genres { get; set; }
///
/// The year this track was released.
///
public uint? Year { get; set; }
}
}