|
|
|
@ -178,7 +178,7 @@ public class PlaylistEnumerator : IMediaCollectionEnumerator |
|
|
|
case PlaybackOrder.Chronological: |
|
|
|
case PlaybackOrder.Chronological: |
|
|
|
if (randomStartPoint) |
|
|
|
if (randomStartPoint) |
|
|
|
{ |
|
|
|
{ |
|
|
|
initState.Index = random.Next(0, items.Count - 1); |
|
|
|
initState.Index = items.Count > 0 ? random.Next(0, items.Count) : 0; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
enumerator = new ChronologicalMediaCollectionEnumerator(items, initState); |
|
|
|
enumerator = new ChronologicalMediaCollectionEnumerator(items, initState); |
|
|
|
@ -208,7 +208,7 @@ public class PlaylistEnumerator : IMediaCollectionEnumerator |
|
|
|
case PlaybackOrder.SeasonEpisode: |
|
|
|
case PlaybackOrder.SeasonEpisode: |
|
|
|
if (randomStartPoint) |
|
|
|
if (randomStartPoint) |
|
|
|
{ |
|
|
|
{ |
|
|
|
initState.Index = random.Next(0, items.Count - 1); |
|
|
|
initState.Index = items.Count > 0 ? random.Next(0, items.Count) : 0; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
enumerator = new SeasonEpisodeMediaCollectionEnumerator(items, initState); |
|
|
|
enumerator = new SeasonEpisodeMediaCollectionEnumerator(items, initState); |
|
|
|
@ -248,7 +248,7 @@ public class PlaylistEnumerator : IMediaCollectionEnumerator |
|
|
|
result._sortedEnumerators = result.ShufflePlaylistItems(); |
|
|
|
result._sortedEnumerators = result.ShufflePlaylistItems(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
result.State = new CollectionEnumeratorState { Seed = state.Seed }; |
|
|
|
result.State = new CollectionEnumeratorState { Seed = state.Seed, Started = state.Started }; |
|
|
|
result.EnumeratorIndex = 0; |
|
|
|
result.EnumeratorIndex = 0; |
|
|
|
|
|
|
|
|
|
|
|
// this was a bug when playlist enumerators were first added; shouldn't happen anymore
|
|
|
|
// this was a bug when playlist enumerators were first added; shouldn't happen anymore
|
|
|
|
|