-
-
Notifications
You must be signed in to change notification settings - Fork 505
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Modules as downloadable plugins #1002
Comments
I fully support this idea. Especially the ability for users to add/remove modules! |
Groundwork for this has been done in https://github.com/bitfocus/companion/tree/develop More documentation will follow when we get closer to it being released. In a future release we can look at how to distribute modules, to address the other points in this list |
Something for v3
Describe the feature
Currently the only way to distribute newer versions of a module to users is for the companion team to release a new version of everything. This has not been happening as often as I would like, as shown by the many users on old versions asking for already implemented device functionality.
It would be much nicer for modules to be distributed via a modules 'store'/registry. This would essentially mean that from within companion users could search for and install or upgrade device integrations. It would allow for much quicker development of modules to being deployed to users, and reduce some of the pressure and need to do frequent releases of the core code.
This will require a more formal and documented api for the modules, perhaps with some method of versioning (base classes & typescript definitions should live as an npm package).This will require some updates to every moduleSome thought will be needed on how to make native dependencies work properly.This would negate the need for Support for modules with build step #837, as that would be contained within each module repo and done as part of the publish scriptBeing able to hot reload modules for updates would really make this great to work withSome thought is needed on how to develop modules and load them into the system (I have some ideas)Ideally I would like for the streamdeck to be done in the same way (via a different module type/api) to allow for other hardware devices to be used, and to support newly released hardware much quicker, but that could be a separate task to this.
Is this platform dependent (windows, mac, ..)?
No
Usecases
Add a couple of usecases for why this should be implemented and when/why to use it.
The text was updated successfully, but these errors were encountered: