diff --git a/CHANGELOG.md b/CHANGELOG.md index b776dd0de..18b56cc8c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### Fixed - Fix transcoding content with bt709/pc color metadata - Fix scripted schedule validation (file exists) when creating or editing playout +- Fix adding single episode, movie, season, show to empty playlists ### Changed - **BREAKING CHANGE**: change how `Scripted Schedule` system works diff --git a/ErsatzTV.Application/MediaCollections/Commands/AddEpisodeToPlaylistHandler.cs b/ErsatzTV.Application/MediaCollections/Commands/AddEpisodeToPlaylistHandler.cs index 8be9f87dd..919b8fa1e 100644 --- a/ErsatzTV.Application/MediaCollections/Commands/AddEpisodeToPlaylistHandler.cs +++ b/ErsatzTV.Application/MediaCollections/Commands/AddEpisodeToPlaylistHandler.cs @@ -20,9 +20,11 @@ public class AddEpisodeToPlaylistHandler(IDbContextFactory dbContextF private static async Task ApplyAddEpisodeRequest(TvContext dbContext, Parameters parameters) { + int index = parameters.Playlist.Items.Count > 0 ? parameters.Playlist.Items.Max(i => i.Index) + 1 : 0; + var playlistItem = new PlaylistItem { - Index = parameters.Playlist.Items.Max(i => i.Index) + 1, + Index = index, CollectionType = ProgramScheduleItemCollectionType.Episode, MediaItemId = parameters.Episode.Id, PlaybackOrder = PlaybackOrder.Shuffle, diff --git a/ErsatzTV.Application/MediaCollections/Commands/AddMovieToPlaylistHandler.cs b/ErsatzTV.Application/MediaCollections/Commands/AddMovieToPlaylistHandler.cs index 3f8039e63..7bdb3363f 100644 --- a/ErsatzTV.Application/MediaCollections/Commands/AddMovieToPlaylistHandler.cs +++ b/ErsatzTV.Application/MediaCollections/Commands/AddMovieToPlaylistHandler.cs @@ -20,9 +20,11 @@ public class AddMovieToPlaylistHandler(IDbContextFactory dbContextFac private static async Task ApplyAddMovieRequest(TvContext dbContext, Parameters parameters) { + int index = parameters.Playlist.Items.Count > 0 ? parameters.Playlist.Items.Max(i => i.Index) + 1 : 0; + var playlistItem = new PlaylistItem { - Index = parameters.Playlist.Items.Max(i => i.Index) + 1, + Index = index, CollectionType = ProgramScheduleItemCollectionType.Movie, MediaItemId = parameters.Movie.Id, PlaybackOrder = PlaybackOrder.Shuffle, diff --git a/ErsatzTV.Application/MediaCollections/Commands/AddSeasonToPlaylistHandler.cs b/ErsatzTV.Application/MediaCollections/Commands/AddSeasonToPlaylistHandler.cs index 8289b06d6..7cc565d43 100644 --- a/ErsatzTV.Application/MediaCollections/Commands/AddSeasonToPlaylistHandler.cs +++ b/ErsatzTV.Application/MediaCollections/Commands/AddSeasonToPlaylistHandler.cs @@ -20,9 +20,11 @@ public class AddSeasonToPlaylistHandler(IDbContextFactory dbContextFa private static async Task ApplyAddSeasonRequest(TvContext dbContext, Parameters parameters) { + int index = parameters.Playlist.Items.Count > 0 ? parameters.Playlist.Items.Max(i => i.Index) + 1 : 0; + var playlistItem = new PlaylistItem { - Index = parameters.Playlist.Items.Max(i => i.Index) + 1, + Index = index, CollectionType = ProgramScheduleItemCollectionType.TelevisionSeason, MediaItemId = parameters.Season.Id, PlaybackOrder = PlaybackOrder.Shuffle, diff --git a/ErsatzTV.Application/MediaCollections/Commands/AddShowToPlaylistHandler.cs b/ErsatzTV.Application/MediaCollections/Commands/AddShowToPlaylistHandler.cs index 1972ea5fd..bbf839f34 100644 --- a/ErsatzTV.Application/MediaCollections/Commands/AddShowToPlaylistHandler.cs +++ b/ErsatzTV.Application/MediaCollections/Commands/AddShowToPlaylistHandler.cs @@ -20,9 +20,11 @@ public class AddShowToPlaylistHandler(IDbContextFactory dbContextFact private static async Task ApplyAddShowRequest(TvContext dbContext, Parameters parameters) { + int index = parameters.Playlist.Items.Count > 0 ? parameters.Playlist.Items.Max(i => i.Index) + 1 : 0; + var playlistItem = new PlaylistItem { - Index = parameters.Playlist.Items.Max(i => i.Index) + 1, + Index = index, CollectionType = ProgramScheduleItemCollectionType.TelevisionShow, MediaItemId = parameters.Show.Id, PlaybackOrder = PlaybackOrder.Shuffle,