Conversation
|
Oh, the build pipelines definitely also require some adjustments, e.g. build libprojectM beforehand. On Windows/UWP, the add-on could in theory use vcpkg for that, as projectM has a port there. Not sure about how popular vcpkg is with Kodi development though. |
|
Sorry this didn't get any attention, add-ons are kinda on our periphery. I'm looking to get projectM shipping with Kodi again, so if you're still interested in this effort, I can help get it in. |
|
@kodiai please review @kblaschke I updated all the add-ons dependencies and applied your update into a single PR for testing: #133 So far the only working platform is macOS ARM. We're hoping to ship projectM v4 with Kodi v22, so let me know if you're interested on getting this update over the finish line. |
kodiai responseDecision: NOT APPROVED Issues:
|
|
I can certainly test it and give additional input as needed, but I'm abroad until March 23rd, so this would have to wait a little bit. If there are specific issues/questions regarding projectM integration, I'll be happy to answer them though! |
|
I've tested on GL and GLES (macOS, linux, Android) and 4.x is working great. Windows, on the other hand, is just a black screen. That's the only issue we'd need to resolve to merge this. |
As stated in the other PR, we've removed SOIL2 and fully migrated GL bindings to an internal glad loader, which is also able to use externally-provided function pointers. Angle was the main reason for this move, so with v4.2, the Windows build should be working just fine, no GLEW required anymore. |
|
Oh, with v4.2, the addon could also use the new user sprite feature and custom texture loading to possibly display album art as animated sprites within projectM. |
|
@kblaschke I haven't actually contributed any code, just dependency work. Do you want to take over back in this PR, rebased on |
This is a first, rough update to the add-on to make it work with the latest libprojectM 4.1 release. It runs fine on my Kodi on Linux. The build might need a few additional tweaks, as well as the settings dialog (e.g. adding more options supported by projectM), thus I'm initially creating it as a draft PR.
Note that libprojectM was almost completely rewritten between 4.0 and 4.1, with a new rendering process and expression parser. Due to the internal renderer updates, projectM now requires OpenGL ES 3.2 with the
OES_texture_floatextension being available. For OpenGL Core, at least GL version 3.3 is required (which is the same as before).I don't think the
dependsdir is needed anymore, as libprojectM is now also built with CMake and thus can be found via CMAKE_PREFIX_PATH. This makes it more flexible, as (on Linux) maintainers can choose to use the distro package or compile libprojectM as static libs and directly embed it into the add-on shared library.Also see my comment in the related issue #59 about Windows and Angle.