Browse Source

fix discard to fill calculation (#1308)

pull/1309/head
Jason Dove 2 years ago committed by GitHub
parent
commit
c148f2eb11
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      ErsatzTV.Core/Scheduling/ChronologicalMediaCollectionEnumerator.cs
  2. 2
      ErsatzTV.Core/Scheduling/CustomOrderCollectionEnumerator.cs
  3. 3
      ErsatzTV.Core/Scheduling/RandomizedMediaCollectionEnumerator.cs
  4. 2
      ErsatzTV.Core/Scheduling/SeasonEpisodeMediaCollectionEnumerator.cs
  5. 3
      ErsatzTV.Core/Scheduling/ShuffleInOrderCollectionEnumerator.cs
  6. 3
      ErsatzTV.Core/Scheduling/ShuffledMediaCollectionEnumerator.cs
  7. 3
      ErsatzTV.Infrastructure/Scheduling/MultiEpisodeShuffleCollectionEnumerator.cs

2
ErsatzTV.Core/Scheduling/ChronologicalMediaCollectionEnumerator.cs

@ -15,7 +15,7 @@ public sealed class ChronologicalMediaCollectionEnumerator : IMediaCollectionEnu @@ -15,7 +15,7 @@ public sealed class ChronologicalMediaCollectionEnumerator : IMediaCollectionEnu
{
_sortedMediaItems = mediaItems.OrderBy(identity, new ChronologicalMediaComparer()).ToList();
_lazyMinimumDuration = new Lazy<Option<TimeSpan>>(
() => _sortedMediaItems.Bind(i => i.GetDuration()).HeadOrNone());
() => _sortedMediaItems.Bind(i => i.GetDuration()).OrderBy(identity).HeadOrNone());
State = new CollectionEnumeratorState { Seed = state.Seed };

2
ErsatzTV.Core/Scheduling/CustomOrderCollectionEnumerator.cs

@ -26,7 +26,7 @@ public class CustomOrderCollectionEnumerator : IMediaCollectionEnumerator @@ -26,7 +26,7 @@ public class CustomOrderCollectionEnumerator : IMediaCollectionEnumerator
.Map(ci => mediaItems.First(mi => mi.Id == ci.MediaItemId))
.ToList();
_lazyMinimumDuration = new Lazy<Option<TimeSpan>>(
() => _sortedMediaItems.Bind(i => i.GetDuration()).HeadOrNone());
() => _sortedMediaItems.Bind(i => i.GetDuration()).OrderBy(identity).HeadOrNone());
State = new CollectionEnumeratorState { Seed = state.Seed };
while (State.Index < state.Index)

3
ErsatzTV.Core/Scheduling/RandomizedMediaCollectionEnumerator.cs

@ -14,7 +14,8 @@ public class RandomizedMediaCollectionEnumerator : IMediaCollectionEnumerator @@ -14,7 +14,8 @@ public class RandomizedMediaCollectionEnumerator : IMediaCollectionEnumerator
public RandomizedMediaCollectionEnumerator(IList<MediaItem> mediaItems, CollectionEnumeratorState state)
{
_mediaItems = mediaItems;
_lazyMinimumDuration = new Lazy<Option<TimeSpan>>(() => _mediaItems.Bind(i => i.GetDuration()).HeadOrNone());
_lazyMinimumDuration =
new Lazy<Option<TimeSpan>>(() => _mediaItems.Bind(i => i.GetDuration()).OrderBy(identity).HeadOrNone());
_random = new Random(state.Seed);
State = new CollectionEnumeratorState { Seed = state.Seed };

2
ErsatzTV.Core/Scheduling/SeasonEpisodeMediaCollectionEnumerator.cs

@ -15,7 +15,7 @@ public sealed class SeasonEpisodeMediaCollectionEnumerator : IMediaCollectionEnu @@ -15,7 +15,7 @@ public sealed class SeasonEpisodeMediaCollectionEnumerator : IMediaCollectionEnu
{
_sortedMediaItems = mediaItems.OrderBy(identity, new SeasonEpisodeMediaComparer()).ToList();
_lazyMinimumDuration = new Lazy<Option<TimeSpan>>(
() => _sortedMediaItems.Bind(i => i.GetDuration()).HeadOrNone());
() => _sortedMediaItems.Bind(i => i.GetDuration()).OrderBy(identity).HeadOrNone());
State = new CollectionEnumeratorState { Seed = state.Seed };

3
ErsatzTV.Core/Scheduling/ShuffleInOrderCollectionEnumerator.cs

@ -33,7 +33,8 @@ public class ShuffleInOrderCollectionEnumerator : IMediaCollectionEnumerator @@ -33,7 +33,8 @@ public class ShuffleInOrderCollectionEnumerator : IMediaCollectionEnumerator
_random = new Random(state.Seed);
_shuffled = Shuffle(_collections, _random);
_lazyMinimumDuration = new Lazy<Option<TimeSpan>>(() => _shuffled.Bind(i => i.GetDuration()).HeadOrNone());
_lazyMinimumDuration =
new Lazy<Option<TimeSpan>>(() => _shuffled.Bind(i => i.GetDuration()).OrderBy(identity).HeadOrNone());
State = new CollectionEnumeratorState { Seed = state.Seed };
while (State.Index < state.Index)

3
ErsatzTV.Core/Scheduling/ShuffledMediaCollectionEnumerator.cs

@ -30,7 +30,8 @@ public class ShuffledMediaCollectionEnumerator : IMediaCollectionEnumerator @@ -30,7 +30,8 @@ public class ShuffledMediaCollectionEnumerator : IMediaCollectionEnumerator
_random = new CloneableRandom(state.Seed);
_shuffled = Shuffle(_mediaItems, _random);
_lazyMinimumDuration = new Lazy<Option<TimeSpan>>(() => _shuffled.Bind(i => i.GetDuration()).HeadOrNone());
_lazyMinimumDuration =
new Lazy<Option<TimeSpan>>(() => _shuffled.Bind(i => i.GetDuration()).OrderBy(identity).HeadOrNone());
State = new CollectionEnumeratorState { Seed = state.Seed };
while (State.Index < state.Index)

3
ErsatzTV.Infrastructure/Scheduling/MultiEpisodeShuffleCollectionEnumerator.cs

@ -81,7 +81,8 @@ public class MultiEpisodeShuffleCollectionEnumerator : IMediaCollectionEnumerato @@ -81,7 +81,8 @@ public class MultiEpisodeShuffleCollectionEnumerator : IMediaCollectionEnumerato
_random = new CloneableRandom(state.Seed);
_shuffled = Shuffle(_random);
_lazyMinimumDuration = new Lazy<Option<TimeSpan>>(() => _shuffled.Bind(i => i.GetDuration()).HeadOrNone());
_lazyMinimumDuration =
new Lazy<Option<TimeSpan>>(() => _shuffled.Bind(i => i.GetDuration()).OrderBy(identity).HeadOrNone());
State = new CollectionEnumeratorState { Seed = state.Seed };
while (State.Index < state.Index)

Loading…
Cancel
Save