JosefNemec / Playnite

Video game library manager with support for wide range of 3rd party libraries and game emulation support, providing one unified interface for your games.
https://playnite.link
MIT License
9.15k stars 494 forks source link

Expose ImageSourceManager in the SDK #3681

Closed Gerren closed 7 months ago

Gerren commented 7 months ago

Feature description

Hi,

I am developing some generic plugins for Playnite, and I love it. But I struggle to optimize the loading of images. When I look around the other plugins I use, I say to myself, that I'm not the only one. Every other plugin displays the icon of the game and I saw you have it already handled in the ImageSourceManager class.

I was wondering, if it was possible to expose this class, trough an interface naturally, to the SDK for plugins. It could probably save some memory in the long run, and everyone would be a happy hippo :)

Of course if you have another way of doing it, as long as the bytes and cycles are saved, I will take :)

If it was not acceptable, could you direct me the right way to get the most out of Playnite/WPF environment?

I love your work, thank you for your time, and long time support

Gerren

Screenshots

No response

JosefNemec commented 7 months ago

If you want that functionality, copy that code into your plugin. Such generic and Playnite not specific things (like loading an image) are not suitable to be in the SDK.

If it was not acceptable, could you direct me the right way to get the most out of Playnite/WPF environment?

As far as WPF, there's ton of information out there, especially if you search for specific things on websites like StackOverflow.

JosefNemec commented 7 months ago

Forgot to mention, in Playnite 11 we are dropping WPF completely and switching to Avalonia. Just so you know before you decide to spent ton of time learning WPF because of Playnite plugins.

Gerren commented 7 months ago

Well, I've tried. The class is rather tangled in, and after combing out some stuff, returning some stuff, and hitting some external libraries/nugets, I gave up. I was just wondering about performance and stuff.

I'll look into another ways, thanks anyway. 👍

Oh, good to know. I've messed with Avalonia some, I hope everything goes well...