Jump to content

Plugin Extensibility for Live TV "On Now" Recommendations (general Home Screen Section API)


Recommended Posts

FlameRed
Posted

Feature Request: Plugin Extensibility for Live TV "On Now" Recommendations (or a general Home Screen Section API)

Summary

There's currently no supported way for a plugin to influence what appears in the "On Now" Live TV row on the home screen, or to add a custom row/section to the home screen at all, in a way that renders across all official clients (web, Roku, Android TV, Fire TV, iOS, Android). I'd like to request either of the two extensibility points described below.

Motivation / use case

I built a working plugin that pulls all currently-airing Live TV programs and ranks them by TMDB popularity (as a more useful alternative to the semi-random subset "On Now" currently shows). The ranking logic itself works well as a standalone JSON API endpoint. The problem is surfacing it:

  • There's no hook into the logic behind the native "On Now" row, so a plugin can't re-order or replace what it shows.
  • There's no documented Home Screen Section API a plugin can register a custom row against.
  • The only "native, renders-everywhere" content types a plugin can populate (via ICollectionManager) are Collections and Playlists — which work great for persistent library items, but don't fit Live TV programs well, since EPG program entries are ephemeral and get purged/replaced as the guide data refreshes. Adding a currently-airing program's item ID to a Collection today risks that reference becoming stale within the hour.

As a result, the only way I found to actually display this data is a browser-side script injected via a userscript manager or reverse proxy — which only reaches desktop/laptop browsers and never reaches Roku, Android TV, Fire TV, or the mobile apps. For a Live TV-focused feature, that's a significant gap.

What I'm requesting (either would solve this)

Option A — A pluggable recommendation source for Live TV. Something analogous to how metadata providers or channel providers are registered today: an interface such as ILiveTvRecommendationProvider that a plugin can implement to supply (or re-order) the list of programs shown in the "On Now"/recommended row, with the core server falling back to its existing default logic when no plugin provides one.

Option B — A documented Home Screen Section API. A general extension point (e.g. IHomeScreenSectionProvider or similar) allowing a plugin to register a named section with a data source, which official clients would then render as a normal home screen row — the same way built-in rows like "Continue Watching" or "Latest" work. This would be more broadly useful than Option A alone, since it would also unblock other kinds of custom home screen content beyond Live TV.

Why this matters

A few actively-maintained community plugins (e.g. Aperture, Home Screen Companion) already work around this today by generating symlinked library folders or managing Collections/Playlists behind the scenes, specifically because there's no cleaner way to get custom content to render on every client. That workaround is solid for persistent library content, but it structurally can't extend to real-time/ephemeral data like Live TV EPG programs. A documented extension point would remove the need for these workarounds and make plugin-driven home screen customization officially supported rather than reverse-engineered.

Happy to help test

I'm an Emby beta tester and already have a working plugin (ranking logic, TMDB matching, caching) ready to plug into whatever interface gets added — happy to test any preview build of this against it.

Thanks for considering this.

preview.jpg.9c2772222c0650ebf298bce9abd8f14b.jpg

Posted

Hi.  Have you tried the beta?  This should be possible with 4.10.x.

Posted
1 hour ago, ebr said:

Hi.  Have you tried the beta?  This should be possible with 4.10.x.

Yes, I am currently running 4.10.0.23 beta. Please elaborate how it would be possible. Certainly possible I am overlooking something! 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...