Jump to content

TV Show Status — TMDB-powered Returning/Ended/Cancelled badges for series


Recommended Posts

ginjaninja
Posted

"Once all episodes have been watched", 'watched' that sounds like a 'per user thing', i dont think image overalys are per user (but i havent checked), i mention in case it matters.

.

Blueskies278
Posted (edited)
3 hours ago, ginjaninja said:

"Once all episodes have been watched", 'watched' that sounds like a 'per user thing', i dont think image overalys are per user (but i havent checked), i mention in case it matters.

.

You're right — I checked

  • Emby creates one image per show and serves that same image to everybody.
  • The plugin is never told who is looking — it only gets the show and which image type to draw on.
  • So a badge baked into the image cannot differ per person. There isn't even a separate URL per user to hang a variant on.
  • That's why the "ready to binge" mode asks you to type one Emby username, rather than guessing.
  • It's also why the settings page counts your users and warns you if there's more than one.
  • On a single-user server it's correct for everyone.
  • On a family server everyone sees that one person's watched progress. Nothing looks broken, which is exactly why it's said plainly instead of left to be discovered.
  • The default mode avoids the problem entirely: "season has finished airing" is a fact about the show, not about you, so it's the same for every user and needs no username.
  • A badge drawn in the browser could be per-user, because it runs in your session. A badge baked into the image file can't be. Different delivery, different limits.

image.jpeg.033f5a9c52383d57dd1cd85239bce350.jpeg

Screenshot 2026-08-23 at 04.51.22.png

Screenshot 2026-08-23 at 04.51.45.png

 

 

Edited by Blueskies278
Blueskies278
Posted (edited)

Update:

Badges on library thumbnails vs Upcoming — can these be separated?

My plugin draws a status badge into series artwork server-side, via IImageEnhancer.

The problem: an unaired episode has no image of its own, so Emby serves the series Thumb for Upcoming cards. That's the same image my library's thumbnail view uses — same item, same image type, same cached file.

So if I turn badges off for Upcoming, they also disappear from the library's thumbnail view. Only poster view keeps them, because Upcoming never requests a poster.

Is there any way to tell those two apart server-side? The enhancer is only given the item and the image type, never the view, so I don't think there is — but I'd rather ask than assume.

The only route I can see is supplying unaired episodes with their own thumbnail, so Upcoming stops falling back to the series image. Is that sensible, or is there something simpler I've missed?

That said — if everyone's happy with the badge appearing in Upcoming, I'll leave it as it is and not pursue this any further. Personally I'm not keen on it, since Upcoming already shows the airing dates and the badge just repeats what's on screen — but I'd rather go with what people actually want. I will add this fix to my roadmap, but for now it's impossible because of limitations and constraints.

 

 

Edited by Blueskies278
Blueskies278
Posted (edited)

Update:

New — "Complete" now flags the season finale in Upcoming

The badge turns blue and reads Complete on the last episode of a season, so you can see at a glance that a show has finished airing and is ready to binge.

Limitations, stated up front:

Upcoming and your library's thumbnail view use the same image on the server, so whatever you set applies to both. There's no way to badge one and not the other.

Choosing Complete only therefore affects your library too — thumbnails there show Complete and nothing else, so you lose the air dates in the library as well as in Upcoming.

It's Complete rather than dates because the badge carries the series' next air date, so on any card that isn't the next episode it shows the wrong day — e.g. a "26 Aug" badge sitting under "Thursday 27 Aug".

If you want full badges with dates and a clean Upcoming, use poster view for the library. Upcoming never requests a poster, so the two stop colliding.

I tried giving unaired episodes their own artwork to break the link. Emby doesn't run image providers against them, so that route doesn't work.

If you'd rather have the status on every client without any of this, "Prepend status to show description"writes into Emby's own metadata and shows everywhere, including the apps.

image.thumb.png.4f58164405727b2ee24bbaa3870645d5.png

Edited by Blueskies278
GrimReaper
Posted

Don't know what was your intention for badge placement, but since you're still building: could you give us an option where to actually place it on the image? Thanks.

image.thumb.png.04e2850fe3158845536ef79121238c06.png

  • Like 1
Blueskies278
Posted (edited)
13 minutes ago, GrimReaper said:

Don't know what was your intention for badge placement, but since you're still building: could you give us an option where to actually place it on the image? Thanks.

image.thumb.png.04e2850fe3158845536ef79121238c06.png

Yes, I will do that now 🙂

where is the screenshot from?

 

Edited by Blueskies278
  • Thanks 1
GrimReaper
Posted

 

6 minutes ago, Blueskies278 said:

where is the screenshot from?

Previously mentioned New Overlay plugin.

 

  • Thanks 1
Blueskies278
Posted (edited)
42 minutes ago, GrimReaper said:

 

Previously mentioned New Overlay plugin.

 

it was hardcoded top-left, which was a decision i made. Next build adds a position setting: four corners plus top/bottom centre.

One thing worth knowing: Emby draws its own unwatched-episode count in the top-right corner, so if you pick that the two will sit next to each other. Top-left is the default because most key art leaves that corner clear.

Added

image.png.e3dd38d704a7259e4ae762bffc9adfa1.png

Edited by Blueskies278
  • Like 1
Blueskies278
Posted (edited)

Update:

Cleaning up the plugin. one more bug to fix. If no other bugs arise, I will upload the new beta very soon 😀

Edited by Blueskies278
ginjaninja
Posted
6 hours ago, Blueskies278 said:

Update:

Badges on library thumbnails vs Upcoming — can these be separated?

My plugin draws a status badge into series artwork server-side, via IImageEnhancer.

The problem: an unaired episode has no image of its own, so Emby serves the series Thumb for Upcoming cards. That's the same image my library's thumbnail view uses — same item, same image type, same cached file.

So if I turn badges off for Upcoming, they also disappear from the library's thumbnail view. Only poster view keeps them, because Upcoming never requests a poster.

Is there any way to tell those two apart server-side? The enhancer is only given the item and the image type, never the view, so I don't think there is — but I'd rather ask than assume.

The only route I can see is supplying unaired episodes with their own thumbnail, so Upcoming stops falling back to the series image. Is that sensible, or is there something simpler I've missed?

That said — if everyone's happy with the badge appearing in Upcoming, I'll leave it as it is and not pursue this any further. Personally I'm not keen on it, since Upcoming already shows the airing dates and the badge just repeats what's on screen — but I'd rather go with what people actually want. I will add this fix to my roadmap, but for now it's impossible because of limitations and constraints.

 

 

Im not speaking from experience and i might have misunderstood the issue but my observations are:
(I am assuming that IImageEnhancer is an offline task which doesnt slow down realtime use)
As long as the right information can be displayed everywhere with options then the more the merrier.
Series are Continuing or Finished (+ other statuses?)
Seasons are premiered (Only premiere exists), continuing or ended (Ended exists) (assuming this level of attribution is loggically possible from the provider information)
Episodes are Premiere or Finale or nothing special. (but part of a season or show that is continuing or finishes or some such)

But if there is a risk that different clients use different artwork in different places (eg thumbs example) then maybe it is safer to have best defaults but provide user an option as to what images get treated in what way. (needs to be thought through as image realestate is at a premium). i am mindful that

A Show can be ended, but premier or finale episode is still a premier or finale episode (they are different axis)

Season Ended is probably the most important to me and that is on continue watching and that is probbably a season thumb (almost never)  if it exists otherwise a series thumb.

Where i would use started or ended at the series level would be on recently added (show series poster on android client).

At the episode level, i think "finale" is the most interesting flag on the episode level.

I know Luke has always said that upcoming is a pain in the arse and cause no end of challenges but you can but try.
Might be hard to get right first time, but with enough options and community feedback it wont take too long to find the right answers.

not 100% coherent but some random thoughts, some might be relevent.

  • Like 1
Blueskies278
Posted (edited)

@ginjaninja I will upload shortly, so you can beta test what I have done so far. This is where I am going to need some input. 

After a total of 16 hours of bug fixing, I hope I have at least established the basics, plus some additional features. 🙂

Edited by Blueskies278
Blueskies278
Posted (edited)

TV Show Status — beta

Thanks for testing. This is a beta: it works on my UGREEN iDX6011 Pro NAS running Emby in Docker, and hasn't been tested on other platforms.


What it does

Shows a TV series' status — Returning, Ended, Cancelled, or the next air date — where you can actually see it.

Three separate ways, and they work independently:


Poster overlay Reaches every client, including the TV apps. Modifies cached artwork only — your real image files are never touched.


Web badge Web browser only. Doesn't touch your library at all.


Status in description Reaches every client. Writes to the overview field, so it does change your library metadata.


The poster overlay is the main thing to try. It draws the badge into the image on the server, so it appears on Android TV, Fire TV, tvOS and the mobile apps as well as the browser — with nothing installed on the device.

Also worth installing: my Trakt Air Dates plugin. If you're outside the US, it fixes air dates landing a day early — and this plugin picks up its corrections automatically. See the bottom of this page for why that happens at all.


Installing

  1. Copy EmbyTVShowStatus.dll into your Emby plugins folder
  2. Restart Emby
  3. Open Settings → Plugins → TV Show Status
  4. Put in a TMDB API key (free, from themoviedb.org)
  5. Check the three status boxes on that page

Works on NAS/Docker, Linux, Windows and macOS. No platform-specific setup, and no hardcoded paths — the plugin prints whatever path it resolved at runtime.


If you are upgrading from an earlier build

Two settings reset to their defaults. This is expected, not a bug — the options were renamed because their meaning changed, so old saved values no longer match anything.

  • What the overlay reports  Show status only
  • What to badge on thumbnails  Only 'Complete'

Set them again. Nothing else is affected.


The three status boxes

The settings page reports its own state rather than failing quietly. Please read them before reporting anything — they usually say exactly what's wrong.

  • Web Badge/Description Script — whether the browser badge deployed. On Docker this can need one chown; the box prints the exact command for your platform.
  • Air Dates — which source dates come from.
  • Poster Overlay — what the overlay is doing, and if you've named a user for "ready to binge", whether that name actually matches an Emby account.

What would be genuinely useful to hear

  • Does the badge look right on your artwork? Size, position, opacity are all adjustable. If the defaults look wrong on your library, that's worth knowing.
  • Is it readable on a TV? If it looks soft, try Overlay badge background → Medium. That's measurably clearer on the sort of downscaled image a TV app receives.
  • Are the dates right? They should match your Upcoming list. If one is a day out, tell me which show.
  • Anything that fails silently. If something appears to do nothing, that's the bug I most want to hear about — most of this plugin's worst bugs looked like features working badly rather than features being broken.

Known limitations, so you don't spend time on them

Your library's thumbnail view and the Upcoming list can't have different badges. Both ask Emby for the same series thumbnail — one file, two screens. Whatever you set for one applies to the other. If you want full badges with dates and a clean Upcoming, use poster view for the library; Upcoming never requests a poster.

A date badge on an Upcoming card can look wrong. It shows the series' next episode date, so on a card for a later episode it's a different day — "26 Aug" sitting under "Thursday 27 Aug". Correct for the show, useless on that card. That's why Only Complete is the default there.

Badges on the TV apps have to be baked into the image. A plugin can't draw into an app's interface; Emby exposes no way to do it. If you'd rather your artwork wasn't touched at all, Prepend status to show description reaches every client, but it's plain text with no icon or colour.

"Draw badges on library cards" is browser-only. It does nothing on the TV apps. Off by default.


Turning it off

Untick Draw the badge into poster images and your original artwork returns as Emby regenerates its cache. Your real image files are never modified — only Emby's cached copies — so nothing is permanently changed.


Air dates — and a companion plugin worth running

TMDB stores an air date as a bare date, with no time and no timezone. So a US show broadcast at 8pm Eastern is recorded as that day in America — and read literally, that's the previous calendar day for anyone in the UK or Europe. The result is episodes showing up under the wrong day in Upcoming, and badges that disagree with the list they're sitting next to.

I'd recommend running my other plugin, Trakt Air Dates, alongside this one.

https://emby.media/community/topic/148586-trakt-air-dates-—-outside-the-us-fixes-us-shows-landing-on-the-wrong-day/#findComment-1535373 It fixes that at the source: Trakt returns a real UTC timestamp for every episode rather than a bare date, so the day is converted properly for wherever you are. It corrects your Upcoming list, and TV Show Status picks up those same corrected dates automatically — no configuration, nothing to link up. Install it and this plugin starts using it.

 

Some detail worth knowing:

  • US and Canadian shows only. Deliberate on both sides. A show released at midnight in its own country doesn't have this problem, and "correcting" it would create one — an earlier build did exactly that and shifted a show a day the wrong way.
  • Optional, not required. Without it, TMDB's dates are used as-is. That's a perfectly normal setup and nothing will break.
  • The Air Dates box on the settings page tells you which source is in use, so you never have to guess whether it's connected.

If you're outside the US and watch US shows, it's the difference between an Upcoming list you can trust and one that's quietly a day out.

Still looking into this. Shows from elsewhere — anywhere in a timezone ahead of you — keep TMDB's own dates for now, because the correction that helps US shows would push those the wrong way. Whether that can be handled properly rather than just skipped is something I'm working on.

EmbyTVShowStatus.dll TVShowStatus-2.5.54.0-Release-Notes.pdf

TVShowStatus-Settings-Reference.pdf

Edited by Blueskies278

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...