Kdenlive/Development: Difference between revisions

From KDE Community Wiki
(Created page with "This page should guide the developer to a build environment. == Environment variables == If kdenlive crashes on startup (e.g. in QtCreator) and shows a message like: kden...")
 
No edit summary
Line 1: Line 1:
This page should guide the developer to a build environment.
This page should guide the developer to a build environment and provide a general “getting started”.
 
== 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 active project.
 
== 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 <code>Mlt::Consumer::position()</code> can be found in <code>framework/mlt_consumer.c:mlt_consumer_position()</code>. The actual C function name is usually a combination of the class name and the function name, but can also be found by consulting <code>mlt++/MltConsumer.cpp:position()</code>.


== Environment variables ==
== Environment variables ==
If kdenlive crashes on startup (e.g. in QtCreator) and shows a message like:
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"
     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.
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 <code>$KDEDIRS:/usr/local</code>.


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

Revision as of 19:34, 14 August 2014

This page should guide the developer to a build environment and provide a general “getting started”.

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 active project.

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