Playnite icon indicating copy to clipboard operation
Playnite copied to clipboard

Allow merging of list fields during metadata download from multiple sources

Open JosefNemec opened this issue 2 years ago • 2 comments

For example for fields like links, tags etc. Currently we only use data from the first source in priority list that provides any data. It will be useful to provide option to merge multiple sources together, for example in cases where there's some specialized metadata source that provides only very specific set of data, like game engine field from PCGW (#1779).

JosefNemec avatar Oct 29 '21 08:10 JosefNemec

I would find this very useful!

My current challenge is getting full, correct genre information from a single metadata source. I have been re-updating a lot of my metadata using Steam as the source but it's missing basic / obvious metadata that the official store has.

For example Apex Legends contains "Shooter" in the list of genres from the official store (and IGDB) but not in Steam, which I find strange. Worse is that even with all the extra Feature metadata that Steam has (typically more and/or more specific than the official store) it has no entries related to "shooter". So if I choose Steam as the primary source I will have no indication anywhere in the metadata that it's a shooter game even though it's the primary focus of the game. Sigh.

So in most cases I would probably want to combine all the metadata for the Genre and Features fields, for example, from multiple sources.

Comparison example with Steam (left) and IGDB (right) and the discrepancies that cannot be resolved properly when choosing a single source. image

bverkron avatar Jan 22 '22 21:01 bverkron

For consideration when/if this will be worked on and thus making this feature a lot more convenient/powerful:

It would be nice if the shown above window for metadata download was able to just show all metadata sources at once (iterate over all installed ones, each result filling a column, window scrollable sideways and probably up/down too), preselect everything that hasn't already been selected in one of the previous columns in case of identical values (don't add duplicates) and one would only have to deselect what one does not want to get included.

This could even be a way to automate this fully, if one would not want to deselect anything in general, thus having the most information about a game as possible, simply everything from all sources would be added

This would probably need options for the automation of certain fields:

  • selection of "oldest", "newest" or "first found / metadata plugin priority" release date
  • options for the description field, which probably varies the most between sources - this could be done via the usual priority system or made purely manual via an option. maybe a "without/with/only" html description could be a choice for the selection. or "most words/biggest size", if one is feeling lucky.
  • images could be another non-trivial point for choices. again of course metadata source priority, but also closest resolution, given aspect ratio, animated... stuff like that comes to mind.

As the point was given, that this should be up in the #extensions-support discord channel instead of general, I want to add that I don't know enough of the SDK to give a valid opinion on that - I simply don't know any of the used languages, otherwise I might even give it a try myself - but on the other hand this seems to me as if it would be a level higher than metadata source extensions. So it would be either an extension layer above metadata sources that manages the other metadata extensions or would maybe be better suited to integrate directly into the main playnite application, even if it is "only" to not make metadata extensions more complicated with an extra layer.

Whichever way this will go: thank you for your consideration.

buetzel avatar Jun 23 '22 12:06 buetzel