* first pass at adding song libraries * start handling optional video * fix song playback * fix song transitions * add songs page to UI
20 lines
626 B
C#
20 lines
626 B
C#
using System;
|
|
using ErsatzTV.Core.Domain;
|
|
|
|
namespace ErsatzTV.Core.Extensions
|
|
{
|
|
public static class MediaItemExtensions
|
|
{
|
|
public static MediaVersion GetHeadVersion(this MediaItem mediaItem) =>
|
|
mediaItem switch
|
|
{
|
|
Movie m => m.MediaVersions.Head(),
|
|
Episode e => e.MediaVersions.Head(),
|
|
MusicVideo mv => mv.MediaVersions.Head(),
|
|
OtherVideo ov => ov.MediaVersions.Head(),
|
|
Song s => s.MediaVersions.Head(),
|
|
_ => throw new ArgumentOutOfRangeException(nameof(mediaItem))
|
|
};
|
|
}
|
|
}
|