[x] I checked the latest source code that the issue still exists
System information
Affects all supported platforms and Clementine versions at the time of opening the issue.
Expected behaviour / actual behaviour
Note: I'm a maintainer of libprojectM, actively working on the library and related apps.
Currently, Clementine uses a very old (v2.x) fork of libprojectM, which is part of the codebase.
While projectM hasn't changed much between 2.x and 3.x releases, the 4.0 release introduced several bugfixes and a stable C API to make intergrating and updating the library easier. The upcoming 4.1 version, despite being a minor upgrade, will be a major rewrite of projectM's internals, especially the renderer part which parses, runs and draws the visuals.
Replacing the current fork with the latest projectM release, either as an (optional) external dependency or a Git submodule, would bring these improvements to Clementine. Linking projectM as a shared library would also make it easier for Linux package maintainers, as Clementine can then use the system's libprojectM.so.
Since the API won't change in 4.1, work on integrating the library can already be done now. If no one assigns the issue, I'll see if I can find time to do this work after the projectM 4.1 release.
Before posting
Please follow the steps below and check the boxes with [x] once you did the step.
System information
Affects all supported platforms and Clementine versions at the time of opening the issue.
Expected behaviour / actual behaviour
Note: I'm a maintainer of libprojectM, actively working on the library and related apps.
Currently, Clementine uses a very old (v2.x) fork of libprojectM, which is part of the codebase.
While projectM hasn't changed much between 2.x and 3.x releases, the 4.0 release introduced several bugfixes and a stable C API to make intergrating and updating the library easier. The upcoming 4.1 version, despite being a minor upgrade, will be a major rewrite of projectM's internals, especially the renderer part which parses, runs and draws the visuals.
Replacing the current fork with the latest projectM release, either as an (optional) external dependency or a Git submodule, would bring these improvements to Clementine. Linking projectM as a shared library would also make it easier for Linux package maintainers, as Clementine can then use the system's libprojectM.so.
Since the API won't change in 4.1, work on integrating the library can already be done now. If no one assigns the issue, I'll see if I can find time to do this work after the projectM 4.1 release.