A Raspberry Pi jukebox, playing local music, podcasts, web radio and streams triggered by RFID cards, web app or home automation. All plug and play via USB. GPIO scripts available.
Adding plugins (respectively plugin code) via jukebox.yaml during runtime without having the plugin in the upstream project.
What functionality would you like to see in your phoniebox?
At the moment the only ways to get a custom plugin running is
manually coping the plugin code on the RPI
Maintaining your own fork
Push everything to the upstream project (which may not get accepted that fast or at all)
In order to make it easier to develop new plugins it would be very handy to have something like plugin manager feature. Furthermore it would also decrease the amount of work for the upstream project maintainers as they won't need to maintain/review all possible plugins anymore.
How do you envision the feature to work from a users perspective?
The user just needs provide his plugin code via a public git repo (Github, Gitlab, Bitbucket, self hosted,...). Then he adds the url to his (or any other) plugin git repo to the `jukebox.yaml' which then gets loaded at startup.
Further information that might help
As the plugin system of future3 is already very flexible by just loading the configured plugins from the component directory at startup, it could be rather easy that the core component not just loads the plugins, but also depending on the config makes several git checkout/pull ahead of loading.
A solution like this would also mean that there would not be the need for any centralized server like in pypi, npm, etc.
Don't know if there are already some ideas/concepts for this around on your side.
I think this would also be a rather simple solution for a powerful plugin manager.
Feature Description
Adding plugins (respectively plugin code) via
jukebox.yaml
during runtime without having the plugin in the upstream project.What functionality would you like to see in your phoniebox?
At the moment the only ways to get a custom plugin running is
In order to make it easier to develop new plugins it would be very handy to have something like plugin manager feature. Furthermore it would also decrease the amount of work for the upstream project maintainers as they won't need to maintain/review all possible plugins anymore.
How do you envision the feature to work from a users perspective?
The user just needs provide his plugin code via a public git repo (Github, Gitlab, Bitbucket, self hosted,...). Then he adds the url to his (or any other) plugin git repo to the `jukebox.yaml' which then gets loaded at startup.
Further information that might help
As the plugin system of future3 is already very flexible by just loading the configured plugins from the component directory at startup, it could be rather easy that the core component not just loads the plugins, but also depending on the config makes several git checkout/pull ahead of loading. A solution like this would also mean that there would not be the need for any centralized server like in pypi, npm, etc.
Example config: