zachsaw / MPDN_Extensions

Media Player .Net (MPDN) Open Source Extensions
Other
58 stars 18 forks source link

[Discussion] Should we move the different extension types into separate projects? #206

Open Shiandow opened 8 years ago

Shiandow commented 8 years ago

Should we move player extensions, render scripts and audio scripts into separate projects?

As of now there are no dependencies between them, and it might make sense to keep it that way. Any communication would then have to go through the framework, possibly using some static class to handle things (like the new HotkeyRegister).

This would split the extensions between ones that depend directly on MPDN's behaviour (the playerextensions) and the ones that don't.

Belphemur commented 8 years ago

Would it be then possible to have MPDN not "crashing" if one of the extension is problematic but only disable it and advertise the user ?

It would surely help the users.

zachsaw commented 8 years ago

@Shiandow Well I am not keen on the idea of splitting them. Having them in a single repository makes it easier for user to download the source code version and for me to release the binary version. It also makes it easier for users to follow the changes and issues.

@Belphemur The problem with compiling the extensions on the fly (and in the case of the binary version, having all of the extensions in a single assembly) is that we don't have the ability to selectively load just the extensions that works.

Shiandow commented 8 years ago

@zachsaw I didn't mean to split them in different repositories, just giving each of them their own visual studio project file. Explicitly forbidding dependencies between player extensions, render scripts and audio scripts.

@Belphemur Not sure how much MPDN can recover from problems with extensions. Making the loading of extensions somewhat more 'modular' might be a good idea, though, currently it just loads / updates all of them even if you're only interested in some of them, and there's no system for handling extensions that aren't in this repository.

zachsaw commented 8 years ago

@Shiandow Ah that makes sense. I'll split it out when I have some time. Very busy at the moment though. I still have a few changes to make to the API for a new MPDN release as well.

Belphemur commented 8 years ago

@zachs I meant it in the same way as Shiandow. For the On-the-fly it could be generating a specific dll only for the source file. After all, I don't think that many users are cloning the repository into their extensions folder :)

On 10/01/2016 17:44, Zach Saw wrote:

@Shiandow https://github.com/Shiandow Ah that makes sense. I'll split it out when I have some time. Very busy at the moment though. I still have a few changes to make to the API for a new MPDN release as well.

— Reply to this email directly or view it on GitHub https://github.com/zachsaw/MPDN_Extensions/issues/206#issuecomment-170401664.