acm-uiuc / twilight-old

Underglow for the Ceiling
4 stars 3 forks source link

Plugin system #2

Closed wchill closed 7 years ago

wchill commented 7 years ago

Twilight needs a plugin system capable of dynamically loading plugins/filters for color generation and manipulation at runtime.

How this would work:

wchill commented 7 years ago

A setup like this allows us to change how Twilight runs the lights without having to restart it, switch scripts, or have some other complicated system. It also simplifies plugin development since plugins are now treated as a black box by Twilight.

wchill commented 7 years ago

For an example implementation, see https://github.com/tehp/OpenPoGoBot/blob/master/app/plugin_manager.py

warut-vijit commented 7 years ago

How should plugins be switched? Assuming that users are submitting requests/scripts through groot, should the newest script instantaneously be loaded or should it be faded in? It seems like switching between two different imported scripts might be rather jarring on the user side

wchill commented 7 years ago

This is a small implementation detail, but it can probably be done by doing one of the following:

wchill commented 7 years ago

Closed by #11