jurialmunkey / skin.arctic.fuse

Other
149 stars 22 forks source link

šŸ› TMDB Helper widgets not displaying progress indicator on the homepage unless 'Get resume points' is switched on #741

Closed OfficerKD637 closed 3 months ago

OfficerKD637 commented 4 months ago

Skin section

Widgets

Current Behavior

Hi Jurial,

I wanted to thank you for this amazing skin! Here's a bug that I can't wrap my head around:

I am using the Classic Menu with the Stacked style in Fuse

TMDB Helper widgets are not displaying the progress indicators on the home screen. I'm using the "Your In-Progress" movies folder inside TMDB Helper (supplied by Trakt)

The progress indicators do show up when I'm inside TMDB Helper in Library view.

The "watched" indicator is working as expected, but not the "progress" indicator

If I make the same widget (In Progress Movies from Trakt) via my other video add-on, the progress indicators show up on the homepage, whereas TMDBH has a different behavior in Library view vs Widget view

*NOTE: A small workaround I discovered was enabling 'Get resume points (experimental} (slower)' under the TMDB Helper settings. It solves the issue but makes it a bit slower (as expected). If you leave it switched off (as default), we still have the Progress Indicator in the Library view in any of the corresponding folders but not as widgets.

Expected Behavior

Progress indicators should be visible while displaying as widgets.

Steps To Reproduce

  1. Go to Skin Settings > Details > Customize Indicators and Enable "Progress"
  2. Add a TMDB Helper Widget to the home screen with partially played content. In this case, I'm using the 'Your In Progress' movies under the 'Movies' section in TMDB Helper

Screenshots and Additional Info

Home Screen - No Progress Indicator Home Screen

Library View - Progress indicator visible inside the "Your In Progress" folder of TMDB Helper Movies Library View

Checklist

jurialmunkey commented 3 months ago

Progress can only be displayed if it is set. That is what the setting does in TMDbHelper - it sets the progress value to the item. If it is disabled, there will be no progress unless you play the item via TMDbHelper and the end plugin you use supports setresolvedurl and you have set the player to resolve. Otherwise there is simply no data to display.

OfficerKD637 commented 3 months ago

Progress can only be displayed if it is set. That is what the setting does in TMDbHelper - it sets the progress value to the item. If it is disabled, there will be no progress unless you play the item via TMDbHelper and the end plugin you use supports setresolvedurl and you have set the player to resolve. Otherwise there is simply no data to display.

Thanks for the reply! Even with that setting turned off, I can see the progress indicators when I go inside TMDB Helper > Movies > Your In-Progress. The player for my end video add-on I'm using with TMDBH is set up with setresolvedurl = true (I believe this is why it's able to display the progress indicators in the Library view inside TMDBH) But when I add that path as a widget to the Home Screen, I lose the progress indicator. The option to resume still comes up on the context menu after long pressing the item. It's just missing the indicator in the widget view so I think it's more of a cosmetic thing.

Your help is much appreciated!

jurialmunkey commented 3 months ago

Ah, I see what you mean. This looks like a Kodi bug in Omega with plugin content in a widget container. The PercentPlayed value is always 0 in the widget for a plugin despite being exactly the same content when opened as view container.

As far as I can tell, nothing can be done from skin side or plugin side. It appears to be a Kodi bug, at least from this first look.

jurialmunkey commented 3 months ago

I can reproduce it with Youtube plugin too, so it doesn't appear to be specific to any plugin. Needs to be reported on Kodi github issues.

OfficerKD637 commented 3 months ago

Ah, I see what you mean. This looks like a Kodi bug in Omega with plugin content in a widget container. The PercentPlayed value is always 0 in the widget for a plugin despite being exactly the same content when opened as view container.

As far as I can tell, nothing can be done from skin side or plugin side. It appears to be a Kodi bug, at least from this first look.

Ah I see.... That could be true. But if I set my video add-on as the widget on the home screen with the same Trakt list, the progress indicator shows up fine. Tested it with different sync lists too. But I prefer using TMDBH because of the additional features (especially changing artwork on the fly!)

jurialmunkey commented 3 months ago

But if I set my video add-on as the widget on the home screen with the same Trakt list, the progress indicator shows up fine.

The addon could be setting ListItem.Property(WatchedProgress) value to set the indicator manually.

This is the same reason why the Trakt indicator option will work in TMDbHelper. It sets the WatchedProgress property to control the value manually.

Basically skin will look for Kodi's internal value PercentPlayed first and use that if available, otherwise it falls back to using the WatchedProgress property.

With the option to get resume from Trakt, both values are set (resume point with percentplayed; and the watchedprogress property). With just Kodi doing setresolvedurl, only PercentPlayed is set via resume point. So there appears to be some bug in Kodi not properly setting PercentPlayed value for plugin widgets because otherwise resume point would be visible for youtube widgets that are resumable since I know for certain youtube uses setresolvedurl

OfficerKD637 commented 3 months ago

But if I set my video add-on as the widget on the home screen with the same Trakt list, the progress indicator shows up fine.

The addon could be setting ListItem.Property(WatchedProgress) value to set the indicator manually.

This is the same reason why the Trakt indicator option will work in TMDbHelper. It sets the WatchedProgress property to control the value manually.

Basically skin will look for Kodi's internal value PercentPlayed first and use that if available, otherwise it falls back to using the WatchedProgress property.

With the option to get resume from Trakt, both values are set (resume point with percentplayed; and the watchedprogress property). With just Kodi doing setresolvedurl, only PercentPlayed is set via resume point. So there appears to be some bug in Kodi not properly setting PercentPlayed value for plugin widgets because otherwise resume point would be visible for youtube widgets that are resumable since I know for certain youtube uses setresolvedurl

OMG! Thank you so much for getting to the bottom of this so quickly!It all makes perfect sense. Now that I know it's a Kodi bug, I guess I'll stop bothering you now and go pester their devs šŸ˜‚