Kdenlive/Development: Difference between revisions
m (→Pre-requisites and Supported Platforms: MLT version) |
(Moving content to https://invent.kde.org/multimedia/kdenlive/-/blob/master/dev-docs/build.md) |
||
(19 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
Kdenlive is rather easy to build (at least on supported platforms), and this page should show you the simple steps to get there. If you encounter any problem during the process or spot any information that should be added/updated, please don't hesitate to reach out to the [[#Developer_Mailing_List| Developer's mailing list]] | Kdenlive is rather easy to build (at least on supported platforms), and this page should show you the simple steps to get there. If you encounter any problem during the process or spot any information that should be added/updated, please don't hesitate to reach out to the [[#Developer_Mailing_List| Developer's mailing list]], on the [https://t.me/kdenlive_dev Telegram Kdenlive Developers' group] or the [https://webchat.kde.org/#/room/#kdenlive-dev:kde.org Developers' Matrix room]. | ||
== | == Building Instructions == | ||
The building instructions have been moved to the [https://invent.kde.org/multimedia/kdenlive/-/blob/master/dev-docs/build.md dev-docs folder in the code tree]. | |||
(the rest of this page should follow) | |||
== Next Steps == | == Next Steps == | ||
Once you've got a working dev environment, you should checkout the [https://invent.kde.org/multimedia/kdenlive/-/blob/master/dev-docs/contributing.md Contributing Guide] and [https://invent.kde.org/multimedia/kdenlive/-/blob/master/dev-docs/coding.md Coding Guide]. | |||
Now | Now you can [https://invent.kde.org/multimedia/kdenlive/-/issues?label_name%5B%5D=Junior+Job find some nice first issues to solve]. Welcome on board! | ||
A instruction of the workflow with KDE's GitLab can be found [[Infrastructure/GitLab|here]]. You can also gain more general knowledge by [https://techbase.kde.org/Development/Tutorials exploring the tutorials on TechBase]. | |||
== IDE Setup == | == IDE Setup == | ||
Line 168: | Line 23: | ||
=== Setting up QtCreator === | === Setting up QtCreator === | ||
After checking out Kdenlive from git—when working on refactoring, you may want to clone two copies, one with the next branch and another one on the refactoring branch—, you can open the CMakeLists.txt in QtCreator, which will load the project if cmake succeeds. If you run/debug Kdenlive, make sure that kdenlive and not kdenlive_render is selected as an active project. | After checking out Kdenlive from git—when working on refactoring, you may want to clone two copies, one with the next branch and another one on the refactoring branch—, you can open the {{Path|CMakeLists.txt}} in QtCreator, which will load the project if cmake succeeds. If you run/debug Kdenlive, make sure that kdenlive and not kdenlive_render is selected as an active project. | ||
If you let QtCreator restore the previous session (File > Session manager), it will remember the open documents. Environment variables (see below) can be set in Projects > Build Environment. | If you let QtCreator restore the previous session (<menuchoice>File</menuchoice> → <menuchoice>Session manager</menuchoice>), it will remember the open documents. Environment variables (see below) can be set in Projects > Build Environment. | ||
If you genearated a {{Path|kdenlive.qch}} file, you can add it to Qt Creator with <menuchoice>Tools</menuchoice> → <menuchoice>Options</menuchoice> → <menuchoice>Help</menuchoice> → <menuchoice>Documentation</menuchoice> → <menuchoice>Add</menuchoice> | |||
== MLT documentation == | == MLT documentation == | ||
Line 182: | Line 39: | ||
You can get more information about the paths that are checked by running kdenlive like this: | You can get more information about the paths that are checked by running kdenlive like this: | ||
strace build/src/kdenlive 2>&1 | grep kdenliveui.rc | strace build/src/kdenlive 2>&1 | grep kdenliveui.rc | ||
== Wayland == | |||
To avoid flickering here are some Kdenlive envvars that work with Sway? | |||
<pre> | |||
QT_QPA_PLATFORM=wayland-egl | |||
SDL_VIDEODRIVER=wayland | |||
XDG_SESSION_TYPE=wayland | |||
</pre> | |||
== Contact == | == Contact == | ||
=== Telegram === | === Chat === | ||
There are several chat groups on Telegram and [[Matrix]]. The groups existing on both services are bridged via a bot so you can choose your preferred one. Not all groups exist an all services. | |||
==== Telegram ==== | |||
* [https://t.me/kdenlive Main group] | * [https://t.me/kdenlive Main group] | ||
* [https://t.me/kdenlive_dev Developer group] | * [https://t.me/kdenlive_dev Developer group] | ||
* [https://t.me/kdenlivemanual Manual Contributors group] | |||
==== Matrix ==== | |||
* [https://webchat.kde.org/#/room/#kdenlive:kde.org Main group] | |||
* [https://webchat.kde.org/#/room/#kdenlive-dev:kde.org Developer group] | |||
=== Mailing List === | === Mailing List === |
Revision as of 11:40, 18 April 2021
Kdenlive is rather easy to build (at least on supported platforms), and this page should show you the simple steps to get there. If you encounter any problem during the process or spot any information that should be added/updated, please don't hesitate to reach out to the Developer's mailing list, on the Telegram Kdenlive Developers' group or the Developers' Matrix room.
Building Instructions
The building instructions have been moved to the dev-docs folder in the code tree.
(the rest of this page should follow)
Next Steps
Once you've got a working dev environment, you should checkout the Contributing Guide and Coding Guide.
Now you can find some nice first issues to solve. Welcome on board!
A instruction of the workflow with KDE's GitLab can be found here. You can also gain more general knowledge by exploring the tutorials on TechBase.
IDE Setup
Pick your favourite!
Setting up KDevelop
Open KDevelop and go to Project > Open/Import project Then select the CMakeLists.txt file in the kdenlive source folder. You can now start hacking on Kdenlive!
Setting up QtCreator
After checking out Kdenlive from git—when working on refactoring, you may want to clone two copies, one with the next branch and another one on the refactoring branch—, you can open the CMakeLists.txt in QtCreator, which will load the project if cmake succeeds. If you run/debug Kdenlive, make sure that kdenlive and not kdenlive_render is selected as an active project.
If you let QtCreator restore the previous session (
→ ), it will remember the open documents. Environment variables (see below) can be set in Projects > Build Environment.If you genearated a kdenlive.qch file, you can add it to Qt Creator with
→ → → →MLT documentation
Kdenlive uses MLT’s C++ API called mlt++. This API is not documented as it is simply a wrapper to C functions. For example, the documentation of Mlt::Consumer::position()
can be found in framework/mlt_consumer.c:mlt_consumer_position()
. The actual C function name is usually a combination of the class name and the function name, but can also be found by consulting mlt++/MltConsumer.cpp:position()
.
Environment variables
If kdenlive crashes on startup (e.g. in QtCreator) and shows a message like:
kdenlive(24309) KXMLGUIClient::setXMLFile: cannot find .rc file "kdenliveui.rc" for component "kdenlive"
then you have to ensure the .rc file is found. If CMake is configured to install Kdenlive to /usr/local, the .rc file is put there, but when kdenlive is then run from the build directory, the KXMLGUIClient will not search there. Solution: Set the environment variable KDEDIRS to $KDEDIRS:/usr/local
.
You can get more information about the paths that are checked by running kdenlive like this:
strace build/src/kdenlive 2>&1 | grep kdenliveui.rc
Wayland
To avoid flickering here are some Kdenlive envvars that work with Sway?
QT_QPA_PLATFORM=wayland-egl SDL_VIDEODRIVER=wayland XDG_SESSION_TYPE=wayland
Contact
Chat
There are several chat groups on Telegram and Matrix. The groups existing on both services are bridged via a bot so you can choose your preferred one. Not all groups exist an all services.
Telegram
Matrix
Mailing List
The kdenlive developer mailing list archives can be found here
A searchable archive of the kdenlive developer mailing list can be found here
Information on how to subscribe can be found here