Don't shuffle some types by default

This commit is contained in:
Bond_009
2019-10-20 16:08:40 +02:00
parent e3f1f62a8b
commit bbc0875387
22 changed files with 114 additions and 120 deletions

View File

@@ -1061,7 +1061,7 @@ namespace Emby.Server.Implementations.Session
var session = GetSessionToRemoteControl(sessionId);
var user = !session.UserId.Equals(Guid.Empty) ? _userManager.GetUserById(session.UserId) : null;
var user = session.UserId == Guid.Empty ? null : _userManager.GetUserById(session.UserId);
List<BaseItem> items;
@@ -1086,7 +1086,7 @@ namespace Emby.Server.Implementations.Session
if (command.PlayCommand == PlayCommand.PlayShuffle)
{
items = items.OrderBy(i => Guid.NewGuid()).ToList();
items.Shuffle();
command.PlayCommand = PlayCommand.PlayNow;
}
@@ -1100,28 +1100,27 @@ namespace Emby.Server.Implementations.Session
}
}
if (user != null && command.ItemIds.Length == 1 && user.Configuration.EnableNextEpisodeAutoPlay)
if (user != null
&& command.ItemIds.Length == 1
&& user.Configuration.EnableNextEpisodeAutoPlay
&& _libraryManager.GetItemById(command.ItemIds[0]) is Episode episode)
{
var episode = _libraryManager.GetItemById(command.ItemIds[0]) as Episode;
if (episode != null)
var series = episode.Series;
if (series != null)
{
var series = episode.Series;
if (series != null)
{
var episodes = series.GetEpisodes(
user,
new DtoOptions(false)
{
EnableImages = false
})
.Where(i => !i.IsVirtualItem)
.SkipWhile(i => i.Id != episode.Id)
.ToList();
var episodes = series.GetEpisodes(
user,
new DtoOptions(false)
{
EnableImages = false
})
.Where(i => !i.IsVirtualItem)
.SkipWhile(i => i.Id != episode.Id)
.ToList();
if (episodes.Count > 0)
{
command.ItemIds = episodes.Select(i => i.Id).ToArray();
}
if (episodes.Count > 0)
{
command.ItemIds = episodes.Select(i => i.Id).ToArray();
}
}
}
@@ -1146,7 +1145,7 @@ namespace Emby.Server.Implementations.Session
if (item == null)
{
_logger.LogError("A non-existant item Id {0} was passed into TranslateItemForPlayback", id);
return new List<BaseItem>();
return Array.Empty<BaseItem>();
}
if (item is IItemByName byName)
@@ -1164,7 +1163,7 @@ namespace Emby.Server.Implementations.Session
}
},
IsVirtualItem = false,
OrderBy = new ValueTuple<string, SortOrder>[] { new ValueTuple<string, SortOrder>(ItemSortBy.SortName, SortOrder.Ascending) }
OrderBy = new[] { (ItemSortBy.SortName, SortOrder.Ascending) }
});
}
@@ -1185,12 +1184,11 @@ namespace Emby.Server.Implementations.Session
}
},
IsVirtualItem = false,
OrderBy = new ValueTuple<string, SortOrder>[] { new ValueTuple<string, SortOrder>(ItemSortBy.SortName, SortOrder.Ascending) }
OrderBy = new[] { (ItemSortBy.SortName, SortOrder.Ascending) }
});
}
return new List<BaseItem> { item };
return new[] { item };
}
private IEnumerable<BaseItem> TranslateItemForInstantMix(Guid id, User user)