diff --git a/CHANGELOG.md b/CHANGELOG.md index dff000f87..b40637a26 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,6 +36,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - This will be used as a more accurate check for interlaced content - The result will be cached (only probed once and stored) in the database along with all other media item statistics (e.g. duration) - This feature will currently ignore content that is not streamed from disk +- Add error/offline background customization + - Default error background is now named `_background.png` + - Error streams will prioritize using `background.png` if it exists + - Replacing this `background.png` file will allow custom error/offline backgrounds ### Fixed - Fix HLS Direct playback with Jellyfin 10.11 @@ -63,6 +67,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### Changed - Use smaller batch size for search index updates (100, down from 1000) - This should help newly scanned items appear in the UI more quickly +- Replace favicon and logo in background image used for error streams ## [25.8.0] - 2025-10-26 ### Added diff --git a/ErsatzTV.Core/FFmpeg/FFmpegLibraryProcessService.cs b/ErsatzTV.Core/FFmpeg/FFmpegLibraryProcessService.cs index 107b035dc..b189ea286 100644 --- a/ErsatzTV.Core/FFmpeg/FFmpegLibraryProcessService.cs +++ b/ErsatzTV.Core/FFmpeg/FFmpegLibraryProcessService.cs @@ -760,6 +760,10 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService } string videoPath = Path.Combine(FileSystemLayout.ResourcesCacheFolder, "background.png"); + if (!File.Exists(videoPath)) + { + videoPath = Path.Combine(FileSystemLayout.ResourcesCacheFolder, "_background.png"); + } var videoVersion = BackgroundImageMediaVersion.ForPath(videoPath, desiredResolution); diff --git a/ErsatzTV/ErsatzTV.csproj b/ErsatzTV/ErsatzTV.csproj index c7f006b64..f931aedc9 100644 --- a/ErsatzTV/ErsatzTV.csproj +++ b/ErsatzTV/ErsatzTV.csproj @@ -76,7 +76,7 @@ - + diff --git a/ErsatzTV/Resources/_background.png b/ErsatzTV/Resources/_background.png new file mode 100644 index 000000000..20e033711 Binary files /dev/null and b/ErsatzTV/Resources/_background.png differ diff --git a/ErsatzTV/Resources/background.png b/ErsatzTV/Resources/background.png deleted file mode 100644 index c2cf65f42..000000000 Binary files a/ErsatzTV/Resources/background.png and /dev/null differ diff --git a/ErsatzTV/Services/RunOnce/ResourceExtractorService.cs b/ErsatzTV/Services/RunOnce/ResourceExtractorService.cs index 131723b23..506d72883 100644 --- a/ErsatzTV/Services/RunOnce/ResourceExtractorService.cs +++ b/ErsatzTV/Services/RunOnce/ResourceExtractorService.cs @@ -16,7 +16,7 @@ public class ResourceExtractorService : BackgroundService Assembly assembly = typeof(ResourceExtractorService).GetTypeInfo().Assembly; - await ExtractResource(assembly, "background.png", stoppingToken); + await ExtractResource(assembly, "_background.png", stoppingToken); await ExtractResource(assembly, "song_album_cover_512.png", stoppingToken); await ExtractResource(assembly, "song_background_1.png", stoppingToken); await ExtractResource(assembly, "song_background_2.png", stoppingToken); diff --git a/ErsatzTV/Shared/_Favicons.cshtml b/ErsatzTV/Shared/_Favicons.cshtml index 4adcb3eba..a0c06dde4 100644 --- a/ErsatzTV/Shared/_Favicons.cshtml +++ b/ErsatzTV/Shared/_Favicons.cshtml @@ -1,6 +1,6 @@ - - - - - - + + + + + + diff --git a/ErsatzTV/wwwroot/android-chrome-192x192.png b/ErsatzTV/wwwroot/android-chrome-192x192.png deleted file mode 100644 index 3a4eb75a4..000000000 Binary files a/ErsatzTV/wwwroot/android-chrome-192x192.png and /dev/null differ diff --git a/ErsatzTV/wwwroot/android-chrome-512x512.png b/ErsatzTV/wwwroot/android-chrome-512x512.png deleted file mode 100644 index cd49a8e44..000000000 Binary files a/ErsatzTV/wwwroot/android-chrome-512x512.png and /dev/null differ diff --git a/ErsatzTV/wwwroot/apple-touch-icon.png b/ErsatzTV/wwwroot/apple-touch-icon.png index 5fa9ba1a1..155158a86 100644 Binary files a/ErsatzTV/wwwroot/apple-touch-icon.png and b/ErsatzTV/wwwroot/apple-touch-icon.png differ diff --git a/ErsatzTV/wwwroot/browserconfig.xml b/ErsatzTV/wwwroot/browserconfig.xml deleted file mode 100644 index 013e022dc..000000000 --- a/ErsatzTV/wwwroot/browserconfig.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - #da532c - - - diff --git a/ErsatzTV/wwwroot/favicon-16x16.png b/ErsatzTV/wwwroot/favicon-16x16.png deleted file mode 100644 index 020d2dea0..000000000 Binary files a/ErsatzTV/wwwroot/favicon-16x16.png and /dev/null differ diff --git a/ErsatzTV/wwwroot/favicon-32x32.png b/ErsatzTV/wwwroot/favicon-32x32.png deleted file mode 100644 index deb9644ec..000000000 Binary files a/ErsatzTV/wwwroot/favicon-32x32.png and /dev/null differ diff --git a/ErsatzTV/wwwroot/favicon-96x96.png b/ErsatzTV/wwwroot/favicon-96x96.png new file mode 100644 index 000000000..9b5f35652 Binary files /dev/null and b/ErsatzTV/wwwroot/favicon-96x96.png differ diff --git a/ErsatzTV/wwwroot/favicon.ico b/ErsatzTV/wwwroot/favicon.ico index d8c0ce386..87119f64e 100644 Binary files a/ErsatzTV/wwwroot/favicon.ico and b/ErsatzTV/wwwroot/favicon.ico differ diff --git a/ErsatzTV/wwwroot/favicon.svg b/ErsatzTV/wwwroot/favicon.svg new file mode 100644 index 000000000..72060fa8b --- /dev/null +++ b/ErsatzTV/wwwroot/favicon.svg @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ErsatzTV/wwwroot/mstile-150x150.png b/ErsatzTV/wwwroot/mstile-150x150.png deleted file mode 100644 index cdd1d62e3..000000000 Binary files a/ErsatzTV/wwwroot/mstile-150x150.png and /dev/null differ diff --git a/ErsatzTV/wwwroot/site.webmanifest b/ErsatzTV/wwwroot/site.webmanifest index b20abb7cb..ccf313a3e 100644 --- a/ErsatzTV/wwwroot/site.webmanifest +++ b/ErsatzTV/wwwroot/site.webmanifest @@ -1,19 +1,21 @@ { - "name": "", - "short_name": "", - "icons": [ - { - "src": "/android-chrome-192x192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "/android-chrome-512x512.png", - "sizes": "512x512", - "type": "image/png" - } - ], - "theme_color": "#ffffff", - "background_color": "#ffffff", - "display": "standalone" -} + "name": "MyWebSite", + "short_name": "MySite", + "icons": [ + { + "src": "/web-app-manifest-192x192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + }, + { + "src": "/web-app-manifest-512x512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} \ No newline at end of file diff --git a/ErsatzTV/wwwroot/web-app-manifest-192x192.png b/ErsatzTV/wwwroot/web-app-manifest-192x192.png new file mode 100644 index 000000000..7184341e4 Binary files /dev/null and b/ErsatzTV/wwwroot/web-app-manifest-192x192.png differ diff --git a/ErsatzTV/wwwroot/web-app-manifest-512x512.png b/ErsatzTV/wwwroot/web-app-manifest-512x512.png new file mode 100644 index 000000000..d77bc0a94 Binary files /dev/null and b/ErsatzTV/wwwroot/web-app-manifest-512x512.png differ diff --git a/artwork/tv-color.svg b/artwork/tv-color.svg new file mode 100644 index 000000000..0ea00e258 --- /dev/null +++ b/artwork/tv-color.svg @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file