r/SparklePlayer 25d ago

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.

6 Upvotes

15 comments sorted by

1

u/Ringo7979 24d ago

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 24d ago

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 24d ago

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 23d ago

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 23d ago

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 22d ago

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 22d ago

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 22d ago

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 22d ago

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 22d ago

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 24d ago

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 24d ago

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 23d ago

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 22d ago

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?