Currently all plugins in the plugins/ directory are loaded. Instead there should be some PDS file that configures which plugins will be loaded, configurable either by hand or with some Pulchritude application 'PuleLaunch' / 'appname-launch'. The file might look something like
The user can replace the library modules, add/remove extended-modules, etc. PuleApp at run-time launch can load these modules, notify which ones failed, and even in the case if an extended-module failed the application can continue.
One other benefit is it lets the developer provides alternative backend implementations, so the user may select which fits best. This would fit best with audio and graphics. Something like a drop-down menu to select "opengl3"/"opengl4"/"vulkan" backends.
Description
Currently all plugins in the
plugins/
directory are loaded. Instead there should be some PDS file that configures which plugins will be loaded, configurable either by hand or with some Pulchritude application 'PuleLaunch' / 'appname-launch'. The file might look something likeThe user can replace the library modules, add/remove extended-modules, etc.
PuleApp
at run-time launch can load these modules, notify which ones failed, and even in the case if anextended-module
failed the application can continue.One other benefit is it lets the developer provides alternative backend implementations, so the user may select which fits best. This would fit best with audio and graphics. Something like a drop-down menu to select "opengl3"/"opengl4"/"vulkan" backends.