Ceate plugin system for interoperability
End goal - provide an extensible mechanism for basic interaction between Ekos and external programs. Two examples of use are:
- EAA using Siril as external live stacker with the Capture Module providing images
- Planetary image capture using FireCapture with Ekos providing INDI server management
Initial investigations suggest:
- Use the QT Plugins low-level application extension API
- Iterate available plugins (stored in AppLocalDataLocation/plugins) at startup, provide a drop-down selection list and launch button in capture.ui
- Will need to allow users to enter and store external program paths.
- Each internal function required to be called needs to be defined in a pluginactions.h that can be #included in capture.cpp & the calling plugins. I plan to only expose the initially required functions rather than try to anticipate future requirements.