2019-05-20 00:21:54 +00:00
|
|
|
|
using System;
|
|
|
|
|
namespace Aurora.Backend.Models
|
2019-05-19 21:25:42 +00:00
|
|
|
|
{
|
2019-05-20 00:21:54 +00:00
|
|
|
|
public abstract class BaseSong
|
2019-05-19 21:25:42 +00:00
|
|
|
|
{
|
2019-05-20 00:21:54 +00:00
|
|
|
|
public BaseSong()
|
2019-05-19 21:25:42 +00:00
|
|
|
|
{
|
2019-05-20 00:21:54 +00:00
|
|
|
|
Id = Guid.NewGuid().ToString();
|
2019-05-19 21:25:42 +00:00
|
|
|
|
}
|
|
|
|
|
|
2019-05-20 00:21:54 +00:00
|
|
|
|
#region Properties
|
|
|
|
|
public string Id { get; private set; }
|
|
|
|
|
|
2019-05-19 21:25:42 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// The title of the song.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <value></value>
|
|
|
|
|
public string Title { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// The artist of the song.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <value></value>
|
|
|
|
|
public string Artist { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// The album from which the song belongs.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <value></value>
|
|
|
|
|
public string Album { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// The duration of the song.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <value></value>
|
|
|
|
|
public string Duration { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Extra data associated with a song.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <value></value>
|
|
|
|
|
public object Metadata { get; set; }
|
2019-05-20 00:21:54 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endregion Properties
|
|
|
|
|
|
|
|
|
|
#region Methods
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Play this instance.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public abstract void Play();
|
|
|
|
|
|
|
|
|
|
#endregion
|
2019-05-19 21:25:42 +00:00
|
|
|
|
}
|
2019-05-20 00:21:54 +00:00
|
|
|
|
|
|
|
|
|
}
|