add "shuffle in order" playback order for multi-collections (#338)

* add "shuffle in order" option for multi-collections

* use balanced shuffle instead of random
This commit is contained in:
Jason Dove
2021-08-21 12:47:22 -05:00
committed by GitHub
parent d3fc820aef
commit 32fdb414fa
9 changed files with 254 additions and 10 deletions
@@ -24,6 +24,23 @@ namespace ErsatzTV.Application.ProgramSchedules.Commands
IProgramScheduleItemRequest item,
ProgramSchedule programSchedule)
{
if (item.MultiCollectionId.HasValue)
{
switch (item.PlaybackOrder)
{
case PlaybackOrder.Chronological:
case PlaybackOrder.Random:
return BaseError.New($"Invalid playback order for multi collection: '{item.PlaybackOrder}'");
case PlaybackOrder.Shuffle:
case PlaybackOrder.ShuffleInOrder:
break;
}
}
else if (item.PlaybackOrder == PlaybackOrder.ShuffleInOrder)
{
return BaseError.New("Invalid playback order: 'Shuffle In Order'");
}
switch (item.PlayoutMode)
{
case PlayoutMode.Flood: