From 4ebce3907062ade1937440628eebd665440b338d Mon Sep 17 00:00:00 2001 From: Shadowghost Date: Sun, 3 May 2026 23:43:01 +0200 Subject: Implement Similarity providers --- .../SimilarItems/AudioSimilarItemsProvider.cs | 55 +++ .../LiveTvProgramSimilarItemsProvider.cs | 94 +++++ .../SimilarItems/MovieSimilarItemsProvider.cs | 79 ++++ .../SimilarItems/MusicAlbumSimilarItemsProvider.cs | 55 +++ .../MusicArtistSimilarItemsProvider.cs | 55 +++ .../SimilarItems/SeriesSimilarItemsProvider.cs | 54 +++ .../Library/SimilarItems/SimilarItemsManager.cs | 423 +++++++++++++++++++++ 7 files changed, 815 insertions(+) create mode 100644 Emby.Server.Implementations/Library/SimilarItems/AudioSimilarItemsProvider.cs create mode 100644 Emby.Server.Implementations/Library/SimilarItems/LiveTvProgramSimilarItemsProvider.cs create mode 100644 Emby.Server.Implementations/Library/SimilarItems/MovieSimilarItemsProvider.cs create mode 100644 Emby.Server.Implementations/Library/SimilarItems/MusicAlbumSimilarItemsProvider.cs create mode 100644 Emby.Server.Implementations/Library/SimilarItems/MusicArtistSimilarItemsProvider.cs create mode 100644 Emby.Server.Implementations/Library/SimilarItems/SeriesSimilarItemsProvider.cs create mode 100644 Emby.Server.Implementations/Library/SimilarItems/SimilarItemsManager.cs (limited to 'Emby.Server.Implementations/Library') diff --git a/Emby.Server.Implementations/Library/SimilarItems/AudioSimilarItemsProvider.cs b/Emby.Server.Implementations/Library/SimilarItems/AudioSimilarItemsProvider.cs new file mode 100644 index 0000000000..1cc670b8ee --- /dev/null +++ b/Emby.Server.Implementations/Library/SimilarItems/AudioSimilarItemsProvider.cs @@ -0,0 +1,55 @@ +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; +using Jellyfin.Data.Enums; +using Jellyfin.Database.Implementations.Enums; +using MediaBrowser.Controller.Dto; +using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Entities.Audio; +using MediaBrowser.Controller.Library; +using MediaBrowser.Model.Configuration; + +namespace Emby.Server.Implementations.Library.SimilarItems; + +/// +/// Provides similar items for audio tracks. +/// +public class AudioSimilarItemsProvider : ILocalSimilarItemsProvider