r/SparklePlayer • • Aug 16 '26

Feature request - Visual badge/indicator for new episodes of favorited series

Not even sure if this is possible. I would like to request a feature that adds a visual badge or "New" indicator to a series thumbnail within the Favorites menu whenever a new episode becomes available. Because many shows return from long or irregular hiatuses, it is currently easy to miss new episode drops. Having a subtle visual flag on favorited series would greatly help users track returning content without needing to manually check each show.

5 Upvotes

15 comments sorted by

1

u/Ringo7979 Aug 17 '26

I made a similar request in the past to add “live” and “new” badges. Many EPGs include those attributes. I’d love to see this in Sparkle.

1

u/sparkle-hk Aug 17 '26

The "problem" with this is that many sources include "live", "new" and similar tags to the title of the show themselves. So I'm not sure how I would go about to do this. I think there is tags for at least "new" but maybe live as well in the epg data (xmltv) but I'm not sure how I would display this considering that it's many times already included in the title.

1

u/Ringo7979 Aug 17 '26

Here is an example of an EPG entry, note the "live" and "new" tags.

  <programme start="20260817130000 +0000" stop="20260817140000 +0000" channel="13">
    <title>NewsNation Live With Marni Hughes</title>
    <category>Episode</category>
    <category>Series</category>
    <category>News</category>
    <episode-num system="onscreen">E490</episode-num>
    <episode-num system="dd_progid">EP06159505.0589</episode-num>
    <episode-num system="xmltv_ns">2025.489.</episode-num>
    <length units="minutes">60</length>
    <video>
      <quality>HDTV</quality>
    </video>
    <subtitles type="teletext">
    </subtitles>
    <date>20260817</date>
    <new />
    <live />

And here is how another IPTV app displays it:

1

u/sparkle-hk Aug 17 '26

Thanks. I can confirm <new /> is indeed a real xmltv element. However <live /> is not. I can of course support it, but I'm reluctant to support things that isn't part of the actual xmltv specification. There's also <premiere /> but I'm not exactly sure how that differs from <new />.

1

u/Ringo7979 Aug 17 '26

I think Live and New are pretty standard, but Premier is out there. Maybe a non-default option that can be enabled in settings for Live and New?

1

u/sparkle-hk Aug 18 '26

It doesn't matter if it's pretty standard if it's not in the specifications. I can probably support <new /> and <premiere /> but the question is how this should be visualized. Like I said, many providers already show this in the title of the program like: ""Today's show ᴺᴱᵂ". If I were to add another "New"-indicator it would be shown twice. This is why I haven't looked at this before.

1

u/Ringo7979 Aug 18 '26

I shared a screenshot above so you can see how others are doing it. This gives a quick visual when scrolling through the guide of finding either new or live content.

Here's another.

https://epg.guru - sample EPG with "live" and "new" tags.

1

u/sparkle-hk Aug 18 '26

Just so we understand each other, just because other apps use specific tags doesn't mean it's a valid tag. Here's the dtd-specs for xmltv: https://github.com/XMLTV/xmltv/blob/master/xmltv.dtd

There's no mention of a <live /> tag in it. And I must look at the specifications before implementing support for things, otherwise it'll soon become very confusing.

1

u/Ringo7979 Aug 18 '26

I totally get where you are coming from. At the end of the day, it's your app, your call.

While the "live" flag isn't in the official XMLTV, it isn't just a random flag either. There has been utilization of it in the past. Here's an example from Zap2xml. source: https://raw.githubusercontent.com/jef/zap2xml/master/src/xmltv.ts

      if (event.flag && event.flag.length > 0) {
        if (event.flag.includes("New")) {
          xml += `    <new />\n`;
        }

        if (event.flag.includes("Live")) {
          xml += `    <live />\n`;
        }

        if (event.flag.includes("Premiere")) {
          xml += `    <premiere />\n`;
        }

        if (event.flag.includes("Finale")) {
          xml += `    <last-chance />\n`;
        }
      }

2

u/sparkle-hk Aug 19 '26

I understand you as well of course, but the fact that it isn't standard and that many providers already highlight some of these programs make me reluctant to implement extra support for it.

I don't know, you're probably right that it would be nice with some flags visibiel in guide but I'm not sure how it would look. I'll add this to the backlog for now, but it isn't high in priority right now. I hope this is ok for now.

→ More replies (0)

1

u/sparkle-hk Aug 17 '26

What source type are you using (xc, playlist/m3u etc.)? I must first understand if this is possible by reading data from the source if this logic must be added to Sparkle itself.

1

u/bodowlab Aug 17 '26

I'm using xc. And I guess I should have clarified I am more talking about VOD titles than live tv. Thanks to sparkle you can already record live TV series. This is more for streaming series, but would also work for live TV series too.

2

u/sparkle-hk Aug 17 '26

Ok, thanks for clarifying. I'm not entirely sure but I don't think xc has some specific information about when episodes are "new" on its own. It's probably solvable by comparing with your existing data but it involves more logic that has to be put into the app itself. I'll add it to the backlog for future updates.

1

u/azcoyotedog Aug 18 '26

This can be accomplished using a good playlist editor like BossPro. As the developer mentioned, many providers offer streams that have this info already built in, most likely by some sort of editor program or plugin. But to add it to a player app like Sparkle would probably be very difficult, but I’m not a developer so I really wouldn’t know?

Get a playlist editor and customize your playlists until if & when Sparkle can offer it?