#4: move dependencies to plugins
- Contents
anything OS related or depending on 3rd party libraries should not be part of Gem core but instead live in plugins
- Proposed by
- IOhannes m zmölnig
- Proposal type
- Architecture
- Assigned to release
- State
- draft
Motivation
Gem has support for a lot of libraries and frameworks, mainly for video/image decoding and capturing.
All these dependencies are linked into the Gem core, which has several drawbacks
- the use must install all the dependencies (even for hard to find libraries) in order to acchieve the simplest task
- the maintainer might ship most dependencies, but not all, due to licensing issues
- several objectclasses providing the same functionality (e.g. [pix_video]) differ significantly in how they have to be used in the Pd-world, since different frameworks offer different possibilities
- old and outdated code has to be carried along in the Gem core
Proposal
i propose to move all dependencies (but the most crucial one, like oenGL) into plugins that abstract the interface to all classes of a framework type.
- g. plugins for
- image loading
- image saving
- film reading/decoding
- film recording
- video capturing
- model loading
- ...
this would allow to develop the Gem core independently from the backend implementations
a generic framework is needed to allow to fine-tune a specific backend, while staying compatible on the patch level.