57 lines
1.1 KiB
C#
57 lines
1.1 KiB
C#
using System;
|
|
using System.IO;
|
|
|
|
namespace Aurora.Models.Media
|
|
{
|
|
public abstract class BaseMedia
|
|
{
|
|
private bool _loaded;
|
|
private Stream _stream;
|
|
|
|
public BaseMedia()
|
|
{
|
|
_loaded = false;
|
|
Id = Guid.NewGuid().ToString();
|
|
}
|
|
|
|
#region Properties
|
|
public string Id { get; private set; }
|
|
|
|
#endregion Properties
|
|
|
|
public virtual void Load()
|
|
{
|
|
_loaded = true;
|
|
}
|
|
|
|
public virtual void Unload()
|
|
{
|
|
_loaded = false;
|
|
}
|
|
|
|
public abstract MediaTypeEnum MediaType { get; }
|
|
|
|
public abstract BaseMetadata Metadata { get; protected set; }
|
|
|
|
|
|
/// <summary>
|
|
/// Gets or sets the data stream that holds the song.
|
|
/// </summary>
|
|
/// <value>The data stream.</value>
|
|
public Stream DataStream
|
|
{
|
|
get
|
|
{
|
|
return _stream;
|
|
}
|
|
protected set
|
|
{
|
|
if (value != _stream)
|
|
{
|
|
_stream = value;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|