Skip to content

Update Glaxnimate module to latest upstream#1217

Merged
ddennedy merged 4 commits intomasterfrom
work/update-glaxnimate
Apr 5, 2026
Merged

Update Glaxnimate module to latest upstream#1217
ddennedy merged 4 commits intomasterfrom
work/update-glaxnimate

Conversation

@jlskuz
Copy link
Copy Markdown
Contributor

@jlskuz jlskuz commented Apr 3, 2026

I promised it a long time ago and I finally came to it @ddennedy

@mbasaglia did some refactoring recently which makes it more convenient to use the core lib as an external renderer (like we do here)

@jlskuz jlskuz requested a review from ddennedy April 3, 2026 13:15
@jlskuz jlskuz force-pushed the work/update-glaxnimate branch 3 times, most recently from fb77f01 to 4f851d5 Compare April 3, 2026 14:45
@ddennedy
Copy link
Copy Markdown
Member

ddennedy commented Apr 3, 2026

That sounds nice, but now I need to learn how to build Glaxnimate's core. It looks like its core requirements in its CMakeLists.txt is not separate from its GUI requirements. On Linux, I need to be able to use the toolset in Ubuntu 22.04 for Shotcut's binary glibc compatibility, and I hope its tooling is not too rich. And I will need to build several KDE modules. :-( This will not be merged until I figure those out, or enough time has passed that I make Ubuntu 24.04 the new build base. Not for the next MLT release.

@mbasaglia
Copy link
Copy Markdown

Glaxnimate core can be added as a cmake subdirectory, by default it only depends on Qt and Zlib. It uses find_package on its requirements by itself.

The zlib dependency can be toggled off with GLAXNIMATE_GZIP_ENABLED but I would not recommend it as it disables some file formats (svgz and tgs)

Also now the core is built into a static library so CMake does a better job at linking its dependencies without having to specify them again to the target linking to Glaxnimate core.

Here is an example of a CMake file that uses Glaxnimate core as a library: https://invent.kde.org/graphics/glaxnimate/-/blob/master/lib-example/CMakeLists.txt

The only thing the core cmakelists doesn't do is set the project name and version but the it can be considered separate from the GUI build.

@jlskuz
Copy link
Copy Markdown
Contributor Author

jlskuz commented Apr 4, 2026

First of all there is no rush to merge it.

Is your goal to "just" build MLT with the Glaxnimate module for Shotcut or do you plan to bundle the full Glaxnimate application within the Shotcut AppImage?

The first should be pretty straight forward. For the later KDE deps are indeed required and Ubuntu 22.04 only provides KDE Frameworks 5 (which is Qt5 based). So you would need to build them yourself. It shouldn't be too complicated, but I get that any additional dependency is annoying.

Let me now if I can help somehow.

@ddennedy
Copy link
Copy Markdown
Member

ddennedy commented Apr 4, 2026

The goal is simply to build the MLT module except in the case of Flatpak. But the Shotcut Flatpak is already using the kde runtime; so I’m not too worried about that. Otherwise, I already reviewed the KDE 0.6.0 builds of glaxnimate, am very impressed, and looking to unbundle.
Thanks for the hints @mbasaglia

@ddennedy ddennedy force-pushed the work/update-glaxnimate branch from 77927e6 to b26be88 Compare April 5, 2026 05:34
@ddennedy ddennedy added this to the v7.38.0 milestone Apr 5, 2026
@ddennedy ddennedy merged commit ce803db into master Apr 5, 2026
25 checks passed
@ddennedy ddennedy deleted the work/update-glaxnimate branch April 5, 2026 16:28
@jlskuz
Copy link
Copy Markdown
Contributor Author

jlskuz commented Apr 5, 2026

Thanks for pushing this over the finish line!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants