https://community.kde.org/api.php?action=feedcontributions&user=Camillem&feedformat=atomKDE Community Wiki - User contributions [en]2024-03-29T06:20:32ZUser contributionsMediaWiki 1.40.2https://community.kde.org/index.php?title=Kdenlive/Development&diff=90310Kdenlive/Development2020-09-25T20:02:41Z<p>Camillem: /* KDE Frameworks 5, based on Qt5 */ Adding breeze-icon-theme as dependency</p>
<hr />
<div>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]] or on the [https://t.me/kdenlive_dev Telegram Kdenlive Developers' group] .<br />
<br />
== Pre-requisites and Supported Platforms ==<br />
<br />
Kdenlive is primarily developed on GNU/Linux. There is an effort to [[Kdenlive/Development/WindowsBuild|build Kdenlive on Microsoft Windows]], but it's still a work in progress.<br />
<br />
Currently supported distributions are:<br />
<br />
* Ubuntu 20.04 LTS Focal Fossa and derivatives<br />
* Arch Linux<br />
<br />
You should be able to build it on any platform that provides up to date versions of the following dependencies '''Qt >= 5.7''', '''KF5 >= 5.50''','''MLT >= 6.20.0'''.<br />
<br />
To get a recent enough version fo MLT on Ubuntu, you have to add [https://launchpad.net/~kdenlive/+archive/ubuntu/kdenlive-master Kdenlive's ppa]<br />
<br />
<pre><br />
sudo add-apt-repository ppa:kdenlive/kdenlive-master<br />
sudo apt update<br />
</pre><br />
<br />
It is recommended to uninstall the official kdenlive packages to avoid potential conflicts. <br />
<br />
<pre><br />
sudo apt remove kdenlive kdenlive-data<br />
</pre><br />
<br />
== Installing dependencies ==<br />
<br />
<br />
=== Development tooling ===<br />
<br />
You will need classical development tools (like git, gcc ...) but also cmake :<br />
<pre><br />
sudo apt install build-essential git cmake extra-cmake-modules libsm-dev<br />
</pre><br />
<br />
=== KDE Frameworks 5, based on Qt5 ===<br />
<br />
On Ubuntu the following packages will pull all the necessary dependencies:<br />
<br />
<pre><br />
sudo apt install libkf5archive-dev libkf5bookmarks-dev libkf5coreaddons-dev libkf5config-dev \<br />
libkf5configwidgets-dev libkf5dbusaddons-dev libkf5kio-dev libkf5widgetsaddons-dev \<br />
libkf5notifyconfig-dev libkf5newstuff-dev libkf5xmlgui-dev libkf5declarative-dev \<br />
libkf5notifications-dev libkf5guiaddons-dev libkf5textwidgets-dev libkf5purpose-dev \<br />
libkf5iconthemes-dev kdoctools-dev libkf5crash-dev libkf5filemetadata-dev kio \<br />
kinit qtdeclarative5-dev libqt5svg5-dev qml-module-qtquick-controls \<br />
qtmultimedia5-dev qtquickcontrols2-5-dev breeze-icon-theme<br />
</pre><br />
<br />
=== Multimedia stack ===<br />
<br />
If your distribution packages a recent enough version of MLT (>= 6.20.0), you can install it directly along with ffmpeg and frei0r plug-ins. Otherwise, you'll have to add our ppa or compile it yourself (see above)<br />
<br />
<pre><br />
sudo apt install libmlt++-dev libmlt-dev melt frei0r-plugins ffmpeg<br />
</pre><br />
<br />
=== Dependencies for localization ===<br />
<br />
There are some additional dependencies required by the specific script to fetch the translations: <br />
<pre><br />
sudo apt install ruby subversion gnupg2 gettext<br />
</pre><br />
<br />
== Getting the source code ==<br />
<br />
=== Cloning the git repo ===<br />
The easiest way to get Kdenlive source code is to clone the git repo:<br />
<br />
<pre><br />
git clone https://invent.kde.org/multimedia/kdenlive<br />
</pre><br />
<br />
=== Selecting the branch ===<br />
<br />
You should generally base your developments on the master branch<br />
<br />
<pre><br />
cd kdenlive<br />
git checkout master<br />
</pre><br />
<br />
or if you want to get the code for a given release<br />
<br />
<pre><br />
cd kdenlive<br />
git checkout release/20.04<br />
</pre><br />
<br />
== Building Kdenlive ==<br />
Create a directory for the build inside the kdenlive directory:<br />
<br />
<pre><br />
mkdir build<br />
cd build<br />
</pre><br />
<br />
To avoid problems with plugins and libraries, it is easier to install Kdenlive in /usr:<br />
<br />
<pre><br />
cmake .. -DKDE_INSTALL_USE_QT_SYS_PATHS=ON -DCMAKE_INSTALL_PREFIX=/usr -DRELEASE_BUILD=OFF<br />
</pre><br />
<br />
Alternately you can build it with debug flags (advanced users only ;-) and you need to have clang installed ) :<br />
<br />
<pre><br />
cmake .. -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \<br />
-DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug \<br />
-DCMAKE_CXX_COMPILER=/usr/bin/clang++ \<br />
-DECM_ENABLE_SANITIZERS='address' \<br />
-DBUILD_TESTING=ON -DBUILD_FUZZING=ON -DBUILD_COVERAGE=OFF \<br />
-DRELEASE_BUILD=OFF<br />
</pre><br />
<br />
<br />
You may get a warning "Qt5 WebKitWidgets not found. You cannot use your Freesound.org credentials, only preview files can be downloaded from the Online Resources Widget": as this is a very specific feature requiring a rather large dependency, you can just ignore it. But if you want to use that feature, you must install libqt5webkit5-dev.<br />
<br />
<br />
To fetch the translations of the application :<br />
<pre><br />
make fetch-translations<br />
</pre><br />
<br />
This should create a po sub-directory in your build directory. You have then to create a symbolic link to this po subdirectory : <br />
<br />
<pre><br />
cd ..<br />
ln -s build/po/ po<br />
cd build/<br />
</pre><br />
<br />
Then build and install:<br />
<pre><br />
make -j5<br />
sudo make install<br />
</pre><br />
<br />
You can then start your compiled version by simply entering:<br />
<pre><br />
kdenlive<br />
</pre><br />
<br />
If you have compiled it in debug mode, you may encounter errors like<br />
<pre><br />
SUMMARY: AddressSanitizer: new-delete-type-mismatch (/usr/bin/kdenlive+0x643020) <br />
==6982==HINT: if you don't care about these errors you may set ASAN_OPTIONS=new_delete_type_mismatch=0<br />
==6982==ABORTING<br />
</pre><br />
<br />
As the hint says, the you can solve this with <br />
<pre><br />
export ASAN_OPTIONS=new_delete_type_mismatch=0<br />
</pre><br />
<br />
== Next Steps ==<br />
<br />
Now that you've got a working dev environment, you can [https://invent.kde.org/multimedia/kdenlive/-/issues?label_name%5B%5D=Junior+Job find some nice first issues to solve].<br />
<br />
You can also gain more general knowledge by [https://techbase.kde.org/Development/Tutorials exploring the tutorials on TechBase].<br />
<br />
== IDE Setup ==<br />
Pick your favourite!<br />
<br />
=== Setting up KDevelop ===<br />
Open KDevelop and go to Project > Open/Import project<br />
Then select the CMakeLists.txt file in the kdenlive source folder. <br />
You can now start hacking on Kdenlive!<br />
<br />
=== Setting up QtCreator ===<br />
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.<br />
<br />
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.<br />
<br />
== MLT documentation ==<br />
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>.<br />
<br />
== Environment variables ==<br />
If kdenlive crashes on startup (e.g. in QtCreator) and shows a message like:<br />
kdenlive(24309) KXMLGUIClient::setXMLFile: cannot find .rc file "kdenliveui.rc" for component "kdenlive"<br />
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>.<br />
<br />
You can get more information about the paths that are checked by running kdenlive like this:<br />
strace build/src/kdenlive 2>&1 | grep kdenliveui.rc<br />
<br />
== Wayland ==<br />
To avoid flickering here are some Kdenlive envvars that work with Sway?<br />
<pre><br />
QT_QPA_PLATFORM=wayland-egl<br />
SDL_VIDEODRIVER=wayland<br />
XDG_SESSION_TYPE=wayland<br />
</pre><br />
<br />
== Contact ==<br />
<br />
==== Telegram ====<br />
<br />
* [https://t.me/kdenlive Main group]<br />
* [https://t.me/kdenlive_dev Developer group] <br />
<br />
<br />
=== Mailing List ===<br />
The kdenlive developer mailing list archives can be found [http://mail.kde.org/pipermail/kdenlive/ here]<br />
<br />
A searchable archive of the kdenlive developer mailing list can be found [http://www.mail-archive.com/kdenlive@kde.org/ here]<br />
<br />
Information on how to subscribe can be found [https://mail.kde.org/mailman/listinfo/kdenlive here]</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development&diff=90309Kdenlive/Development2020-09-25T19:35:32Z<p>Camillem: </p>
<hr />
<div>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]] or on the [https://t.me/kdenlive_dev Telegram Kdenlive Developers' group] .<br />
<br />
== Pre-requisites and Supported Platforms ==<br />
<br />
Kdenlive is primarily developed on GNU/Linux. There is an effort to [[Kdenlive/Development/WindowsBuild|build Kdenlive on Microsoft Windows]], but it's still a work in progress.<br />
<br />
Currently supported distributions are:<br />
<br />
* Ubuntu 20.04 LTS Focal Fossa and derivatives<br />
* Arch Linux<br />
<br />
You should be able to build it on any platform that provides up to date versions of the following dependencies '''Qt >= 5.7''', '''KF5 >= 5.50''','''MLT >= 6.20.0'''.<br />
<br />
To get a recent enough version fo MLT on Ubuntu, you have to add [https://launchpad.net/~kdenlive/+archive/ubuntu/kdenlive-master Kdenlive's ppa]<br />
<br />
<pre><br />
sudo add-apt-repository ppa:kdenlive/kdenlive-master<br />
sudo apt update<br />
</pre><br />
<br />
It is recommended to uninstall the official kdenlive packages to avoid potential conflicts. <br />
<br />
<pre><br />
sudo apt remove kdenlive kdenlive-data<br />
</pre><br />
<br />
== Installing dependencies ==<br />
<br />
<br />
=== Development tooling ===<br />
<br />
You will need classical development tools (like git, gcc ...) but also cmake :<br />
<pre><br />
sudo apt install build-essential git cmake extra-cmake-modules libsm-dev<br />
</pre><br />
<br />
=== KDE Frameworks 5, based on Qt5 ===<br />
<br />
On Ubuntu the following packages will pull all the necessary dependencies:<br />
<br />
<pre><br />
sudo apt install libkf5archive-dev libkf5bookmarks-dev libkf5coreaddons-dev libkf5config-dev \<br />
libkf5configwidgets-dev libkf5dbusaddons-dev libkf5kio-dev libkf5widgetsaddons-dev \<br />
libkf5notifyconfig-dev libkf5newstuff-dev libkf5xmlgui-dev libkf5declarative-dev \<br />
libkf5notifications-dev libkf5guiaddons-dev libkf5textwidgets-dev libkf5purpose-dev \<br />
libkf5iconthemes-dev kdoctools-dev libkf5crash-dev libkf5filemetadata-dev kio \<br />
kinit qtdeclarative5-dev libqt5svg5-dev qml-module-qtquick-controls \<br />
qtmultimedia5-dev qtquickcontrols2-5-dev<br />
</pre><br />
<br />
=== Multimedia stack ===<br />
<br />
If your distribution packages a recent enough version of MLT (>= 6.20.0), you can install it directly along with ffmpeg and frei0r plug-ins. Otherwise, you'll have to add our ppa or compile it yourself (see above)<br />
<br />
<pre><br />
sudo apt install libmlt++-dev libmlt-dev melt frei0r-plugins ffmpeg<br />
</pre><br />
<br />
=== Dependencies for localization ===<br />
<br />
There are some additional dependencies required by the specific script to fetch the translations: <br />
<pre><br />
sudo apt install ruby subversion gnupg2 gettext<br />
</pre><br />
<br />
== Getting the source code ==<br />
<br />
=== Cloning the git repo ===<br />
The easiest way to get Kdenlive source code is to clone the git repo:<br />
<br />
<pre><br />
git clone https://invent.kde.org/multimedia/kdenlive<br />
</pre><br />
<br />
=== Selecting the branch ===<br />
<br />
You should generally base your developments on the master branch<br />
<br />
<pre><br />
cd kdenlive<br />
git checkout master<br />
</pre><br />
<br />
or if you want to get the code for a given release<br />
<br />
<pre><br />
cd kdenlive<br />
git checkout release/20.04<br />
</pre><br />
<br />
== Building Kdenlive ==<br />
Create a directory for the build inside the kdenlive directory:<br />
<br />
<pre><br />
mkdir build<br />
cd build<br />
</pre><br />
<br />
To avoid problems with plugins and libraries, it is easier to install Kdenlive in /usr:<br />
<br />
<pre><br />
cmake .. -DKDE_INSTALL_USE_QT_SYS_PATHS=ON -DCMAKE_INSTALL_PREFIX=/usr -DRELEASE_BUILD=OFF<br />
</pre><br />
<br />
Alternately you can build it with debug flags (advanced users only ;-) and you need to have clang installed ) :<br />
<br />
<pre><br />
cmake .. -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \<br />
-DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug \<br />
-DCMAKE_CXX_COMPILER=/usr/bin/clang++ \<br />
-DECM_ENABLE_SANITIZERS='address' \<br />
-DBUILD_TESTING=ON -DBUILD_FUZZING=ON -DBUILD_COVERAGE=OFF \<br />
-DRELEASE_BUILD=OFF<br />
</pre><br />
<br />
<br />
You may get a warning "Qt5 WebKitWidgets not found. You cannot use your Freesound.org credentials, only preview files can be downloaded from the Online Resources Widget": as this is a very specific feature requiring a rather large dependency, you can just ignore it. But if you want to use that feature, you must install libqt5webkit5-dev.<br />
<br />
<br />
To fetch the translations of the application :<br />
<pre><br />
make fetch-translations<br />
</pre><br />
<br />
This should create a po sub-directory in your build directory. You have then to create a symbolic link to this po subdirectory : <br />
<br />
<pre><br />
cd ..<br />
ln -s build/po/ po<br />
cd build/<br />
</pre><br />
<br />
Then build and install:<br />
<pre><br />
make -j5<br />
sudo make install<br />
</pre><br />
<br />
You can then start your compiled version by simply entering:<br />
<pre><br />
kdenlive<br />
</pre><br />
<br />
If you have compiled it in debug mode, you may encounter errors like<br />
<pre><br />
SUMMARY: AddressSanitizer: new-delete-type-mismatch (/usr/bin/kdenlive+0x643020) <br />
==6982==HINT: if you don't care about these errors you may set ASAN_OPTIONS=new_delete_type_mismatch=0<br />
==6982==ABORTING<br />
</pre><br />
<br />
As the hint says, the you can solve this with <br />
<pre><br />
export ASAN_OPTIONS=new_delete_type_mismatch=0<br />
</pre><br />
<br />
== Next Steps ==<br />
<br />
Now that you've got a working dev environment, you can [https://invent.kde.org/multimedia/kdenlive/-/issues?label_name%5B%5D=Junior+Job find some nice first issues to solve].<br />
<br />
You can also gain more general knowledge by [https://techbase.kde.org/Development/Tutorials exploring the tutorials on TechBase].<br />
<br />
== IDE Setup ==<br />
Pick your favourite!<br />
<br />
=== Setting up KDevelop ===<br />
Open KDevelop and go to Project > Open/Import project<br />
Then select the CMakeLists.txt file in the kdenlive source folder. <br />
You can now start hacking on Kdenlive!<br />
<br />
=== Setting up QtCreator ===<br />
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.<br />
<br />
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.<br />
<br />
== MLT documentation ==<br />
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>.<br />
<br />
== Environment variables ==<br />
If kdenlive crashes on startup (e.g. in QtCreator) and shows a message like:<br />
kdenlive(24309) KXMLGUIClient::setXMLFile: cannot find .rc file "kdenliveui.rc" for component "kdenlive"<br />
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>.<br />
<br />
You can get more information about the paths that are checked by running kdenlive like this:<br />
strace build/src/kdenlive 2>&1 | grep kdenliveui.rc<br />
<br />
== Wayland ==<br />
To avoid flickering here are some Kdenlive envvars that work with Sway?<br />
<pre><br />
QT_QPA_PLATFORM=wayland-egl<br />
SDL_VIDEODRIVER=wayland<br />
XDG_SESSION_TYPE=wayland<br />
</pre><br />
<br />
== Contact ==<br />
<br />
==== Telegram ====<br />
<br />
* [https://t.me/kdenlive Main group]<br />
* [https://t.me/kdenlive_dev Developer group] <br />
<br />
<br />
=== Mailing List ===<br />
The kdenlive developer mailing list archives can be found [http://mail.kde.org/pipermail/kdenlive/ here]<br />
<br />
A searchable archive of the kdenlive developer mailing list can be found [http://www.mail-archive.com/kdenlive@kde.org/ here]<br />
<br />
Information on how to subscribe can be found [https://mail.kde.org/mailman/listinfo/kdenlive here]</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development&diff=90308Kdenlive/Development2020-09-25T19:31:41Z<p>Camillem: /* Pre-requisites and Supported Platforms */</p>
<hr />
<div>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]] or on the [https://t.me/kdenlive_dev Telegram Kdenlive Developers' group] .<br />
<br />
== Pre-requisites and Supported Platforms ==<br />
<br />
Kdenlive is primarily developed on GNU/Linux. There is an effort to [[Kdenlive/Development/WindowsBuild|build Kdenlive on Microsoft Windows]], but it's still a work in progress.<br />
<br />
Currently supported distributions are:<br />
<br />
* Ubuntu 20.04 LTS Focal Fossa and derivatives<br />
* Arch Linux<br />
<br />
You should be able to build it on any platform that provides up to date versions of the following dependencies '''Qt >= 5.7''', '''KF5 >= 5.50''','''MLT >= 6.20.0'''.<br />
<br />
To get a recent enough version fo MLT on Ubuntu, you have to add [https://launchpad.net/~kdenlive/+archive/ubuntu/kdenlive-master Kdenlive's ppa]<br />
<br />
<pre><br />
sudo add-apt-repository ppa:kdenlive/kdenlive-master<br />
sudo apt update<br />
</pre><br />
<br />
== Installing dependencies ==<br />
<br />
It is recommended to uninstall the official kdenlive packages to avoid potential conflicts. <br />
<br />
<pre><br />
sudo apt remove kdenlive kdenlive-data<br />
</pre><br />
<br />
=== Development tooling ===<br />
<br />
You will need classical development tools (like git, gcc ...) but also cmake :<br />
<pre><br />
sudo apt install build-essential git cmake extra-cmake-modules libsm-dev<br />
</pre><br />
<br />
=== KDE Frameworks 5, based on Qt5 ===<br />
<br />
On Ubuntu the following packages will pull all the necessary dependencies:<br />
<br />
<pre><br />
sudo apt install libkf5archive-dev libkf5bookmarks-dev libkf5coreaddons-dev libkf5config-dev \<br />
libkf5configwidgets-dev libkf5dbusaddons-dev libkf5kio-dev libkf5widgetsaddons-dev \<br />
libkf5notifyconfig-dev libkf5newstuff-dev libkf5xmlgui-dev libkf5declarative-dev \<br />
libkf5notifications-dev libkf5guiaddons-dev libkf5textwidgets-dev libkf5purpose-dev \<br />
libkf5iconthemes-dev kdoctools-dev libkf5crash-dev libkf5filemetadata-dev kio \<br />
kinit qtdeclarative5-dev libqt5svg5-dev qml-module-qtquick-controls \<br />
qtmultimedia5-dev qtquickcontrols2-5-dev<br />
</pre><br />
<br />
=== Multimedia stack ===<br />
<br />
If your distribution packages a recent enough version of MLT (>= 6.20.0), you can install it directly along with ffmpeg and frei0r plug-ins. Otherwise, you'll have to add our ppa or compile it yourself (see above)<br />
<br />
<pre><br />
sudo apt install libmlt++-dev libmlt-dev melt frei0r-plugins ffmpeg<br />
</pre><br />
<br />
=== Dependencies for localization ===<br />
<br />
There are some additional dependencies required by the specific script to fetch the translations: <br />
<pre><br />
sudo apt install ruby subversion gnupg2 gettext<br />
</pre><br />
<br />
== Getting the source code ==<br />
<br />
=== Cloning the git repo ===<br />
The easiest way to get Kdenlive source code is to clone the git repo:<br />
<br />
<pre><br />
git clone https://invent.kde.org/multimedia/kdenlive<br />
</pre><br />
<br />
=== Selecting the branch ===<br />
<br />
You should generally base your developments on the master branch<br />
<br />
<pre><br />
cd kdenlive<br />
git checkout master<br />
</pre><br />
<br />
or if you want to get the code for a given release<br />
<br />
<pre><br />
cd kdenlive<br />
git checkout release/20.04<br />
</pre><br />
<br />
== Building Kdenlive ==<br />
Create a directory for the build inside the kdenlive directory:<br />
<br />
<pre><br />
mkdir build<br />
cd build<br />
</pre><br />
<br />
To avoid problems with plugins and libraries, it is easier to install Kdenlive in /usr:<br />
<br />
<pre><br />
cmake .. -DKDE_INSTALL_USE_QT_SYS_PATHS=ON -DCMAKE_INSTALL_PREFIX=/usr -DRELEASE_BUILD=OFF<br />
</pre><br />
<br />
Alternately you can build it with debug flags (advanced users only ;-) and you need to have clang installed ) :<br />
<br />
<pre><br />
cmake .. -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \<br />
-DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug \<br />
-DCMAKE_CXX_COMPILER=/usr/bin/clang++ \<br />
-DECM_ENABLE_SANITIZERS='address' \<br />
-DBUILD_TESTING=ON -DBUILD_FUZZING=ON -DBUILD_COVERAGE=OFF \<br />
-DRELEASE_BUILD=OFF<br />
</pre><br />
<br />
<br />
You may get a warning "Qt5 WebKitWidgets not found. You cannot use your Freesound.org credentials, only preview files can be downloaded from the Online Resources Widget": as this is a very specific feature requiring a rather large dependency, you can just ignore it. But if you want to use that feature, you must install libqt5webkit5-dev.<br />
<br />
<br />
To fetch the translations of the application :<br />
<pre><br />
make fetch-translations<br />
</pre><br />
<br />
This should create a po sub-directory in your build directory. You have then to create a symbolic link to this po subdirectory : <br />
<br />
<pre><br />
cd ..<br />
ln -s build/po/ po<br />
cd build/<br />
</pre><br />
<br />
Then build and install:<br />
<pre><br />
make -j5<br />
sudo make install<br />
</pre><br />
<br />
You can then start your compiled version by simply entering:<br />
<pre><br />
kdenlive<br />
</pre><br />
<br />
If you have compiled it in debug mode, you may encounter errors like<br />
<pre><br />
SUMMARY: AddressSanitizer: new-delete-type-mismatch (/usr/bin/kdenlive+0x643020) <br />
==6982==HINT: if you don't care about these errors you may set ASAN_OPTIONS=new_delete_type_mismatch=0<br />
==6982==ABORTING<br />
</pre><br />
<br />
As the hint says, the you can solve this with <br />
<pre><br />
export ASAN_OPTIONS=new_delete_type_mismatch=0<br />
</pre><br />
<br />
== Next Steps ==<br />
<br />
Now that you've got a working dev environment, you can [https://invent.kde.org/multimedia/kdenlive/-/issues?label_name%5B%5D=Junior+Job find some nice first issues to solve].<br />
<br />
You can also gain more general knowledge by [https://techbase.kde.org/Development/Tutorials exploring the tutorials on TechBase].<br />
<br />
== IDE Setup ==<br />
Pick your favourite!<br />
<br />
=== Setting up KDevelop ===<br />
Open KDevelop and go to Project > Open/Import project<br />
Then select the CMakeLists.txt file in the kdenlive source folder. <br />
You can now start hacking on Kdenlive!<br />
<br />
=== Setting up QtCreator ===<br />
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.<br />
<br />
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.<br />
<br />
== MLT documentation ==<br />
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>.<br />
<br />
== Environment variables ==<br />
If kdenlive crashes on startup (e.g. in QtCreator) and shows a message like:<br />
kdenlive(24309) KXMLGUIClient::setXMLFile: cannot find .rc file "kdenliveui.rc" for component "kdenlive"<br />
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>.<br />
<br />
You can get more information about the paths that are checked by running kdenlive like this:<br />
strace build/src/kdenlive 2>&1 | grep kdenliveui.rc<br />
<br />
== Wayland ==<br />
To avoid flickering here are some Kdenlive envvars that work with Sway?<br />
<pre><br />
QT_QPA_PLATFORM=wayland-egl<br />
SDL_VIDEODRIVER=wayland<br />
XDG_SESSION_TYPE=wayland<br />
</pre><br />
<br />
== Contact ==<br />
<br />
==== Telegram ====<br />
<br />
* [https://t.me/kdenlive Main group]<br />
* [https://t.me/kdenlive_dev Developer group] <br />
<br />
<br />
=== Mailing List ===<br />
The kdenlive developer mailing list archives can be found [http://mail.kde.org/pipermail/kdenlive/ here]<br />
<br />
A searchable archive of the kdenlive developer mailing list can be found [http://www.mail-archive.com/kdenlive@kde.org/ here]<br />
<br />
Information on how to subscribe can be found [https://mail.kde.org/mailman/listinfo/kdenlive here]</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development&diff=90307Kdenlive/Development2020-09-25T19:30:20Z<p>Camillem: /* Pre-requisites and Supported Platforms */ versions update</p>
<hr />
<div>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]] or on the [https://t.me/kdenlive_dev Telegram Kdenlive Developers' group] .<br />
<br />
== Pre-requisites and Supported Platforms ==<br />
<br />
Kdenlive is primarily developed on GNU/Linux. There is an effort to [[Kdenlive/Development/WindowsBuild|build Kdenlive on Microsoft Windows]], but it's still a work in progress.<br />
<br />
Currently supported distributions are:<br />
<br />
* Ubuntu 20.04 LTS Focal Fossa and derivatives<br />
* Arch Linux<br />
<br />
You should be able to build it on any platform that provides up to date versions of the following dependencies '''Qt >= 5.7''', '''KF5 >= 5.50''','''MLT >= 6.20.0'''.<br />
<br />
To get a recent enough version fo MLT on Ubuntu, you have to add [https://launchpad.net/~kdenlive/+archive/ubuntu/kdenlive-master Kdenlive's ppa]<br />
<br />
<pre><br />
sudo add-apt-repository ppa:kdenlive/kdenlive-master<br />
sudo apt-get update<br />
</pre><br />
<br />
== Installing dependencies ==<br />
<br />
It is recommended to uninstall the official kdenlive packages to avoid potential conflicts. <br />
<br />
<pre><br />
sudo apt remove kdenlive kdenlive-data<br />
</pre><br />
<br />
=== Development tooling ===<br />
<br />
You will need classical development tools (like git, gcc ...) but also cmake :<br />
<pre><br />
sudo apt install build-essential git cmake extra-cmake-modules libsm-dev<br />
</pre><br />
<br />
=== KDE Frameworks 5, based on Qt5 ===<br />
<br />
On Ubuntu the following packages will pull all the necessary dependencies:<br />
<br />
<pre><br />
sudo apt install libkf5archive-dev libkf5bookmarks-dev libkf5coreaddons-dev libkf5config-dev \<br />
libkf5configwidgets-dev libkf5dbusaddons-dev libkf5kio-dev libkf5widgetsaddons-dev \<br />
libkf5notifyconfig-dev libkf5newstuff-dev libkf5xmlgui-dev libkf5declarative-dev \<br />
libkf5notifications-dev libkf5guiaddons-dev libkf5textwidgets-dev libkf5purpose-dev \<br />
libkf5iconthemes-dev kdoctools-dev libkf5crash-dev libkf5filemetadata-dev kio \<br />
kinit qtdeclarative5-dev libqt5svg5-dev qml-module-qtquick-controls \<br />
qtmultimedia5-dev qtquickcontrols2-5-dev<br />
</pre><br />
<br />
=== Multimedia stack ===<br />
<br />
If your distribution packages a recent enough version of MLT (>= 6.20.0), you can install it directly along with ffmpeg and frei0r plug-ins. Otherwise, you'll have to add our ppa or compile it yourself (see above)<br />
<br />
<pre><br />
sudo apt install libmlt++-dev libmlt-dev melt frei0r-plugins ffmpeg<br />
</pre><br />
<br />
=== Dependencies for localization ===<br />
<br />
There are some additional dependencies required by the specific script to fetch the translations: <br />
<pre><br />
sudo apt install ruby subversion gnupg2 gettext<br />
</pre><br />
<br />
== Getting the source code ==<br />
<br />
=== Cloning the git repo ===<br />
The easiest way to get Kdenlive source code is to clone the git repo:<br />
<br />
<pre><br />
git clone https://invent.kde.org/multimedia/kdenlive<br />
</pre><br />
<br />
=== Selecting the branch ===<br />
<br />
You should generally base your developments on the master branch<br />
<br />
<pre><br />
cd kdenlive<br />
git checkout master<br />
</pre><br />
<br />
or if you want to get the code for a given release<br />
<br />
<pre><br />
cd kdenlive<br />
git checkout release/20.04<br />
</pre><br />
<br />
== Building Kdenlive ==<br />
Create a directory for the build inside the kdenlive directory:<br />
<br />
<pre><br />
mkdir build<br />
cd build<br />
</pre><br />
<br />
To avoid problems with plugins and libraries, it is easier to install Kdenlive in /usr:<br />
<br />
<pre><br />
cmake .. -DKDE_INSTALL_USE_QT_SYS_PATHS=ON -DCMAKE_INSTALL_PREFIX=/usr -DRELEASE_BUILD=OFF<br />
</pre><br />
<br />
Alternately you can build it with debug flags (advanced users only ;-) and you need to have clang installed ) :<br />
<br />
<pre><br />
cmake .. -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \<br />
-DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug \<br />
-DCMAKE_CXX_COMPILER=/usr/bin/clang++ \<br />
-DECM_ENABLE_SANITIZERS='address' \<br />
-DBUILD_TESTING=ON -DBUILD_FUZZING=ON -DBUILD_COVERAGE=OFF \<br />
-DRELEASE_BUILD=OFF<br />
</pre><br />
<br />
<br />
You may get a warning "Qt5 WebKitWidgets not found. You cannot use your Freesound.org credentials, only preview files can be downloaded from the Online Resources Widget": as this is a very specific feature requiring a rather large dependency, you can just ignore it. But if you want to use that feature, you must install libqt5webkit5-dev.<br />
<br />
<br />
To fetch the translations of the application :<br />
<pre><br />
make fetch-translations<br />
</pre><br />
<br />
This should create a po sub-directory in your build directory. You have then to create a symbolic link to this po subdirectory : <br />
<br />
<pre><br />
cd ..<br />
ln -s build/po/ po<br />
cd build/<br />
</pre><br />
<br />
Then build and install:<br />
<pre><br />
make -j5<br />
sudo make install<br />
</pre><br />
<br />
You can then start your compiled version by simply entering:<br />
<pre><br />
kdenlive<br />
</pre><br />
<br />
If you have compiled it in debug mode, you may encounter errors like<br />
<pre><br />
SUMMARY: AddressSanitizer: new-delete-type-mismatch (/usr/bin/kdenlive+0x643020) <br />
==6982==HINT: if you don't care about these errors you may set ASAN_OPTIONS=new_delete_type_mismatch=0<br />
==6982==ABORTING<br />
</pre><br />
<br />
As the hint says, the you can solve this with <br />
<pre><br />
export ASAN_OPTIONS=new_delete_type_mismatch=0<br />
</pre><br />
<br />
== Next Steps ==<br />
<br />
Now that you've got a working dev environment, you can [https://invent.kde.org/multimedia/kdenlive/-/issues?label_name%5B%5D=Junior+Job find some nice first issues to solve].<br />
<br />
You can also gain more general knowledge by [https://techbase.kde.org/Development/Tutorials exploring the tutorials on TechBase].<br />
<br />
== IDE Setup ==<br />
Pick your favourite!<br />
<br />
=== Setting up KDevelop ===<br />
Open KDevelop and go to Project > Open/Import project<br />
Then select the CMakeLists.txt file in the kdenlive source folder. <br />
You can now start hacking on Kdenlive!<br />
<br />
=== Setting up QtCreator ===<br />
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.<br />
<br />
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.<br />
<br />
== MLT documentation ==<br />
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>.<br />
<br />
== Environment variables ==<br />
If kdenlive crashes on startup (e.g. in QtCreator) and shows a message like:<br />
kdenlive(24309) KXMLGUIClient::setXMLFile: cannot find .rc file "kdenliveui.rc" for component "kdenlive"<br />
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>.<br />
<br />
You can get more information about the paths that are checked by running kdenlive like this:<br />
strace build/src/kdenlive 2>&1 | grep kdenliveui.rc<br />
<br />
== Wayland ==<br />
To avoid flickering here are some Kdenlive envvars that work with Sway?<br />
<pre><br />
QT_QPA_PLATFORM=wayland-egl<br />
SDL_VIDEODRIVER=wayland<br />
XDG_SESSION_TYPE=wayland<br />
</pre><br />
<br />
== Contact ==<br />
<br />
==== Telegram ====<br />
<br />
* [https://t.me/kdenlive Main group]<br />
* [https://t.me/kdenlive_dev Developer group] <br />
<br />
<br />
=== Mailing List ===<br />
The kdenlive developer mailing list archives can be found [http://mail.kde.org/pipermail/kdenlive/ here]<br />
<br />
A searchable archive of the kdenlive developer mailing list can be found [http://www.mail-archive.com/kdenlive@kde.org/ here]<br />
<br />
Information on how to subscribe can be found [https://mail.kde.org/mailman/listinfo/kdenlive here]</div>Camillemhttps://community.kde.org/index.php?title=Promo/Events/FOSDEM/2019&diff=82615Promo/Events/FOSDEM/20192019-01-25T16:49:55Z<p>Camillem: /* Stall */</p>
<hr />
<div>= KDE at FOSDEM 2019 =<br />
[https://fosdem.org/2019/ FOSDEM 2019], 2 - 3 February, ULB Campus Solbosch, Brussels, Belgium <br />
<br />
We have a stand confirmed.<br />
<br />
[https://phabricator.kde.org/T9477 KDE Promo work item]<br />
<br />
== Telegram ==<br />
For quick on-the-ground coordination we have a [https://t.me/joinchat/Co4SehLO3h-rzBaJJx0rWQ Telegram group] you can join, Co4SehLO3h-rzBaJJx0rWQ .<br />
<br />
== People ==<br />
Please add yourself and your details if you are coming<br />
{| border="1"<br />
|-<br />
! Name <br />
! Available to help on the stall?<br />
! Interested in Saturday evening meal<br />
! Accommodation<br />
|-<br />
|Boudhayan Gupta<br />
|no<br />
|yes<br />
|TBD<br />
|-<br />
|Jonathan Riddell<br />
|yes<br />
|yes<br />
|Ibis Brussels City Centre (St Catheline)<br />
|-<br />
|David Edmundson<br />
|yes<br />
|yes<br />
|Ibis Brussels City Centre (St Catheline)<br />
|-<br />
|Bhushan Shah<br />
|yes<br />
|no<br />
|Ibis Brussels City Centre (St Catheline)<br />
|-<br />
|Boudewijn Rempt<br />
|yes<br />
|probably not<br />
|Ibis Brussels City Centre (St Catheline)<br />
|-<br />
|Irina Rempt<br />
|yes<br />
|probably not<br />
|Ibis Brussels City Centre (St Catheline)<br />
|-<br />
|Wolthera van Hövel tot Westerflier<br />
|yes<br />
|probably not<br />
|Ibis Brussels City Centre (St Catheline)<br />
|-<br />
|Ivana Devcic<br />
|yes<br />
|TBD<br />
|Private accommodation near Botanical Garden<br />
|-<br />
|Adriaan de Groot<br />
|yes<br />
|no<br />
|Private accommodation near ULB<br />
|-<br />
|David Narvaez<br />
|yes<br />
|yes<br />
|Hostel Galia<br />
|-<br />
|Timothée Giet<br />
|yes<br />
|probably not<br />
|Hotel in city centre<br />
|-<br />
|Rohan Garg<br />
|no<br />
|no<br />
|Private accommodation near ULB<br />
|-<br />
|Aleix Pol<br />
|meh<br />
|yes<br />
|Bedford Hotel <br />
|-<br />
|Volker Krause<br />
|unlikely<br />
|yes<br />
|NH<br />
|-<br />
|Sune Vuorela<br />
|unlikely<br />
|probably not<br />
|TBD<br />
|-<br />
|Lydia Pintscher<br />
|a bit maybe<br />
|no - other things to do :(<br />
|Thon Hotel Stephanie <br />
|-<br />
|Zlatan Todorić<br />
|yes<br />
|yes<br />
|Hooome (yes, it is name of hotel)<br />
|-<br />
|Cornelius Schumacher<br />
|no<br />
|yes<br />
|TBD<br />
|-<br />
|Neofytos Kolokotronis<br />
|yes<br />
|probably<br />
|TBD<br />
|-<br />
|Dimitris Kardarakos<br />
|yes<br />
|yes<br />
|ibis, Centre Stéphanie <br />
|-<br />
| Tobias C. Berner<br />
|yes<br />
|no<br />
| Penta Hotel <br />
|-<br />
| Matthias Klumpp<br />
|maybe<br />
|yes<br />
| Jardin Secret<br />
|-<br />
| Daniele E. Domenichelli<br />
|no<br />
|yes<br />
| TBD<br />
|-<br />
| Ingo Klöcker<br />
|maybe<br />
|yes<br />
| TBD<br />
|-<br />
| Laszlo Papp<br />
| yes<br />
| no<br />
| Private<br />
|-<br />
| Roman Gilg<br />
| Sunday<br />
| yes<br />
| Private accommodation near ULB<br />
|-<br />
|}<br />
<br />
== Stall ==<br />
<br />
2017 wrapup has figures<br />
https://marc.info/?l=kde-community&m=148638341908090&w=2<br />
we had 200 stickers which went quickly<br />
<br />
{| border="1"<br />
|-<br />
! What?<br />
! Who?<br />
! Status<br />
|-<br />
| Stickers<br />
| ordering jospoortvliet / transport jriddell / ade<br />
| Flyeralarm.com 10K 2*7 cm Neon + 10K 3cm square K-logo (ade has a bunch too)<br />
|-<br />
| Name badges<br />
| jriddell<br />
| I have a bunch from previous years<br />
|-<br />
| Live demo of Krita<br />
| Wolthera<br />
| Note: we might be able to bring a HDR capable system. This is extremely spectacular, but Krita has to run on Windows for this to work. It depends on whether we can find someone with a car to bring the heavy hardware.<br />
|-<br />
| Demo of KDE Neon<br />
| jriddell<br />
| jriddell will bring a slimbook 2<br />
|-<br />
| Demo of Plasma Mobile<br />
| jriddell<br />
|-<br />
| Demo of [http://en.t-firefly.com/product/industry/aio_3399.html RK3399]<br />
| rohan<br />
| rohan's latest board, Jonathan brings monitor<br />
|-<br />
| Demo of GCompris<br />
| Animtim<br />
| I'll bring a pinebook to run demo of latest GCompris<br />
|-<br />
| Demo of Kdenlive<br />
| CamilleM<br />
| If there is a slot available on Sunday, I can run a demo the soon-to-be-released version of Kdenlive<br />
|-<br />
| Table cloth<br />
| d_ed<br />
| david has this for freenode live<br />
|-<br />
| Hanger stick<br />
| jriddell<br />
| I have a handle that sticks to window behind stall we can hang stuff from<br />
|-<br />
| Swag (T-shirts, etc)<br />
| jriddell<br />
| I have a bunch, need to count and check if I want to order more<br />
|-<br />
| Roll-up banner<br />
| d_ed<br />
| David has one for freenode live<br />
|-<br />
| Krita DVDs, stickers, books and other goodies<br />
| boud + jriddell <br />
| jriddel has about 6 -- boud has stacks and heaps<br />
|-<br />
| Duct Tape or similar<br />
| jriddell<br />
| <br />
|-<br />
| Tie wraps<br />
| jriddell<br />
| <br />
|-<br />
| Power adapters<br />
| jriddell<br />
| <br />
|-<br />
| Phone chargers<br />
| jriddell<br />
| <br />
|-<br />
| Power strips<br />
| jriddell<br />
| <br />
|-<br />
| Payments<br />
| jriddell<br />
| Evaluating Paypal Here. Paypal locked me out. Evaluating Sumup.<br />
|-<br />
| Neon roll up<br />
| jriddell designed, ordered<br />
| <br />
|-<br />
| Come Home to KDE in 2019 poster<br />
| jriddell/paul designed, ordered<br />
| <br />
|-<br />
| Handle for window<br />
| jriddell<br />
| A shower-handle: two suction cups so we can attach something to the window without tape<br />
|}<br />
<br />
== Friday Drinks ==<br />
Meet at FOSDEM beer event, Delirium?<br />
<br />
== Saturday Food and Drinks with NextCloud ==<br />
Jonathan Booked for new venue:<br />
https://i.imgur.com/g6pqw1Z.jpg<br />
<br />
Entrance next to Galeries Royales, St Hubert<br />
<br />
Upper Floor,<br />
55 Rue de L'Ecuyer,<br />
1000 Bruxelles.<br />
20:00 to midnight, €300 (£260) buffet. Cost £12/€15 each payable to Jonathan (who has a card reader). Buy your own drinks. Spare cash will be used to buy spare drinks after a couple of hours.<br />
[https://goo.gl/maps/KhkzST29CT72 Google Maps]<br />
<br />
* 15 NextClouders are coming<br />
* 5 Lawyers coming<br />
* 1 Canoeist coming<br />
* Lots of KDE folks</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Configuration&diff=82153Kdenlive/Configuration2018-11-25T13:01:18Z<p>Camillem: /* GNU/Linux */</p>
<hr />
<div>Kdenlive's appliction-wide persistent settings are stored in the following locations, depending on your platform. <br />
<br />
<br />
= GNU/Linux =<br />
<br />
* '''~/.config/kdenliverc''' : contains the general settings of the application<br />
<br />
*'''~/.config/session/kdenlive_104534dcfdb61d887154xxxxxxxxxxx_154yyyyyy_98zzzz''' : temporary session info<br />
<br />
*~/.cache/kdenlive<br />
<br />
* ~/.local/share/kdenlive<br />
<br />
* ~/.local/share/stalefiles/kdenlive<br />
<br />
* ~/.local/share/kxmlgui5/kdenlive/kdenliveui.rc : contains the toolbar configuration<br />
<br />
= AppImages =</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Configuration&diff=82152Kdenlive/Configuration2018-11-25T13:00:51Z<p>Camillem: /* GNU/Linux */</p>
<hr />
<div>Kdenlive's appliction-wide persistent settings are stored in the following locations, depending on your platform. <br />
<br />
<br />
= GNU/Linux =<br />
<br />
* '''~/.config/kdenliverc''' : contains the general settings of the application<br />
<br />
*'''~/.config/session/kdenlive_104534dcfdb61d887154xxxxxxxxxxx_154yyyyyy_98zzzz''' : temporary session info<br />
<br />
*~/.cache/kdenlive<br />
<br />
* ~/.local/share/kdenlive<br />
<br />
* ~/.local/share/stalefiles/kdenlive<br />
<br />
* ~/.local/share/kxmlgui5/kdenlive/kdenliveui.rc : contains<br />
<br />
= AppImages =</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Configuration&diff=82151Kdenlive/Configuration2018-11-25T12:56:30Z<p>Camillem: /* GNU/Linux */</p>
<hr />
<div>Kdenlive's appliction-wide persistent settings are stored in the following locations, depending on your platform. <br />
<br />
<br />
= GNU/Linux =<br />
<br />
* '''~/.config/kdenliverc''' : contains the general settings of the application<br />
<br />
*'''~/.config/session/kdenlive_104534dcfdb61d887154xxxxxxxxxxx_154yyyyyy_98zzzz''' : temporary session info<br />
<br />
*~/.cache/kdenlive<br />
<br />
* ~/.local/share/kdenlive<br />
<br />
= AppImages =</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Configuration&diff=82150Kdenlive/Configuration2018-11-25T12:55:22Z<p>Camillem: /* GNU/Linux */</p>
<hr />
<div>Kdenlive's appliction-wide persistent settings are stored in the following locations, depending on your platform. <br />
<br />
<br />
= GNU/Linux =<br />
<br />
* '''~/.config/kdenliverc''' : contains the general settings of the application<br />
<br />
*'''~/.config/session/kdenlive_104534dcfdb61d887154xxxxxxxxxxx_154yyyyyy_98zzzz''' : temporary session info<br />
<br />
*~/.cache/kdenlive<br />
<br />
= AppImages =</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Configuration&diff=82149Kdenlive/Configuration2018-11-25T12:52:15Z<p>Camillem: Created page with "Kdenlive's appliction-wide persistent settings are stored in the following locations, depending on your platform. = GNU/Linux = * '''~/.config/kdenliverc''' : contains the..."</p>
<hr />
<div>Kdenlive's appliction-wide persistent settings are stored in the following locations, depending on your platform. <br />
<br />
<br />
= GNU/Linux =<br />
<br />
* '''~/.config/kdenliverc''' : contains the general settings of the application<br />
<br />
*'''~/.config/session/kdenlive_104534dcfdb61d887154xxxxxxxxxxx_154yyyyyy_98zzzz''' : temporary session info<br />
<br />
<br />
= AppImages =</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive&diff=82148Kdenlive2018-11-25T12:38:49Z<p>Camillem: Adding configuration page</p>
<hr />
<div>Kdenlive is a non linear video editor based on the [http://www.mltframework.org MLT framework].<br />
Visit [http://kdenlive.org project site] site for more infos.<br />
<br />
== Contributing ==<br />
<br />
=== Documentation ===<br />
Join the effort on [[Kdenlive/Workgroup/Documentation|Documentation contributors page]].<br />
<br />
The goal is to complete, update and translate our [https://userbase.kde.org/Kdenlive/Manual User Manual].<br />
<br />
=== Bug reporting & triaging ===<br />
Join the [[Kdenlive/Workgroup/Triaging|Bug squad page]].<br />
<br />
The goal is to keep a clean and useful [https://bugs.kde.org/buglist.cgi?product=kdenlive&query_format=advanced&resolution=---&order=bug_status%2Cbug_id Bug tracker] by reproducing bugs with latest Kdenlive & MLT versions, attaching flags, etc.<br />
<br />
=== Interface improvement ===<br />
<br />
Open discussions on :<br />
<br />
* [[Kdenlive/Development/CleaningEffects|Cleaning the Effect list]]<br />
* [[Kdenlive/Development/keyboardShortcuts|Creating Standard Keyboard Presets]]<br />
* Reworking the [[Kdenlive/Workgroup/Rendering|rendering dialog & presets]]<br />
* Reviewing [[Kdenlive/UI_Review|general interface issues]]<br />
* [[Kdenlive/Development/Refactoring Roadmap|Future developments]]<br />
<br />
=== Communication ===<br />
<br />
Join the [[Kdenlive/Workgroup/Website|website]] group to help improving its organization, populating articles (as the [[Kdenlive/Development/ReleaseNotes-18.12|future release notes]])<br />
<br />
=== Code ===<br />
<br />
==== Building on Linux ====<br />
<br />
Following [[Kdenlive/Development|this guide]].<br />
<br />
==== Building on Windows ====<br />
<br />
Following [[Kdenlive/Development/WindowsBuild|this guide]].<br />
<br />
==== Checks ====<br />
<br />
Writing [[Kdenlive/Development/Testing|regression tests]] and following integration results<br />
<br />
= Configuration =<br />
<br />
The places where [[Kdenlive/Configuration|Kdenlive's configuration is stored]]</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development&diff=82147Kdenlive/Development2018-11-21T16:25:20Z<p>Camillem: /* KDE Frameworks 5, based on Qt5 */ adding libkf5purpose-dev as new dep</p>
<hr />
<div>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| Developper's mailing list]].<br />
<br />
== Pre-requisites and Supported Platforms ==<br />
<br />
Kdenlive is primarely developped on GNU/Linux. There is an effort to [[Kdenlive/Development/WindowsBuild|build Kdenlive on Microsoft Windows]], but it's still a work in progress.<br />
<br />
Supported distributions are : <br />
<br />
* Ubuntu 18.04 LTS Bionic Beaver (and derivatives) <br />
* Arch Linux<br />
<br />
Current development code (2018) requires '''Qt >= 5.7''' , KF5 -- which are provided as package by the supported platforms --. <br />
but also '''MLT >= 6.10.0''', which is not available for Ubuntu 18.04 in default repositories: you'll have to get it from [https://launchpad.net/~kdenlive/+archive/ubuntu/mlt Kdenlive's ppa]: <br />
<br />
<pre><br />
sudo add-apt-repository ppa:kdenlive/mlt<br />
sudo apt-get update<br />
</pre><br />
<br />
It is recommended to uninstall the official kdenlive package since our version will replace it. <br />
<br />
<pre><br />
sudo apt-get remove kdenlive kdenlive-data<br />
</pre><br />
<br />
== Installing dependencies ==<br />
<br />
=== Development tooling ===<br />
<br />
You will need classical development tools (like git, gcc ...) but also cmake :<br />
<pre><br />
sudo apt install build-essential git cmake extra-cmake-modules libsm-dev<br />
</pre><br />
<br />
=== KDE Frameworks 5, based on Qt5 ===<br />
<br />
On Ubuntu the following packages will pull all the necessary dependencies:<br />
<br />
<pre><br />
sudo apt install libkf5archive-dev libkf5bookmarks-dev libkf5coreaddons-dev libkf5config-dev \<br />
libkf5configwidgets-dev libkf5dbusaddons-dev libkf5kio-dev libkf5widgetsaddons-dev \<br />
libkf5notifyconfig-dev libkf5newstuff-dev libkf5xmlgui-dev libkf5declarative-dev \<br />
libkf5notifications-dev libkf5guiaddons-dev libkf5textwidgets-dev libkf5purpose-dev \<br />
libkf5iconthemes-dev kdoctools-dev libkf5crash-dev libkf5filemetadata-dev kio \<br />
kinit kde-runtime qtdeclarative5-dev libqt5svg5-dev qml-module-qtquick-controls<br />
</pre><br />
<br />
<div style="background:#F5F5DC">Note: on slightly older Ubuntu (<= Xenial), the libkf5kio-dev package is called kio-dev</div><br />
<br />
=== Multimedia stack ===<br />
<br />
If your distribution packages a recent enough version of MLT (>= 6.10.0), you can install it directly along ffmpeg and frei0r plug-ins. Otherwise, you'll have to add our ppa or compile it yourself (see above)<br />
<br />
<pre><br />
sudo apt install libmlt++-dev libmlt-dev melt frei0r-plugins ffmpeg<br />
</pre><br />
<br />
=== Dependencies for localisation ===<br />
<br />
To have kdenlive localised in a different language than EN, you should install the additional dependencies that are required by the specific script to fetch the translations: <br />
<pre><br />
sudo apt install ruby subversion gnupg2 gettext<br />
</pre><br />
<br />
== Getting the source code ==<br />
<br />
=== Cloning the git repo ===<br />
The easiest way to get Kdenlive source code is to clone the git repo:<br />
<br />
<pre><br />
git clone git://anongit.kde.org/kdenlive.git<br />
</pre><br />
<br />
=== Selecting the branch ===<br />
<br />
It is important to understand that there is currently two main branches in Kdenlive code base:<br />
<br />
* The "refactoring_timeline" branch, which is where happens most of the development effort. The code base has undergone a massive cleanup and it should be much more fun to hack on. This is the one to choose by default.<br />
* The stable branch, "Applications/18.08", which is mostly in maintenance mode: it should be of interest to you if you want to fix a small specific bug.<br />
<br />
<pre><br />
cd kdenlive<br />
git checkout refactoring_timeline<br />
</pre><br />
<br />
or<br />
<br />
<pre><br />
cd kdenlive<br />
git checkout Applications/18.08<br />
</pre><br />
<br />
== Building Kdenlive ==<br />
Create a directory for the build :<br />
<br />
<pre><br />
mkdir build<br />
cd build<br />
</pre><br />
<br />
To avoid problems with plugins and libraries, it is easier to install Kdenlive in /usr:<br />
<br />
<pre><br />
cmake .. -DKDE_INSTALL_USE_QT_SYS_PATHS=ON -DCMAKE_INSTALL_PREFIX=/usr<br />
</pre><br />
<br />
''Alternately you can build it with debug flags:''<br />
<br />
<pre><br />
cmake .. -DKDE_INSTALL_USE_QT_SYS_PATHS=ON -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=RelWithDebInfo<br />
</pre><br />
<br />
To fetch the translations of the application :<br />
<pre><br />
make fetch-translations<br />
</pre><br />
<br />
This should create a po sub-directory in your build directory. You have then to create a symbolic link to this po sub directory : <br />
<br />
<pre><br />
cd ..<br />
ln -s build/po/ po<br />
cd build/<br />
</pre><br />
<br />
Then build and install:<br />
<pre><br />
make -j5<br />
sudo make install<br />
</pre><br />
<br />
You can then start your compiled version by simple entering:<br />
<pre><br />
kdenlive<br />
</pre><br />
<br />
== Next Steps ==<br />
<br />
Now that you've got a working dev environment, you can head to [[https://phabricator.kde.org/project/profile/40/ Kdenlive's page on KDE's phabricator]]<br />
<br />
You can also get some general info on the TechBase tutorial [https://techbase.kde.org/Development/Tutorials/Building_An_Existing_Application Building An Existing Application]. You may also be interested in the other [https://techbase.kde.org/Development/Tutorials tutorials on TechBase].<br />
<br />
== IDE Setup ==<br />
Pick your favourite!<br />
<br />
=== Setting up KDevelop ===<br />
Open KDevelop and go to Project > Open/Import project<br />
Then select the CMakeLists.txt file in the kdenlive source folder. <br />
You can now start hacking on Kdenlive!<br />
<br />
=== Setting up QtCreator ===<br />
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.<br />
<br />
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.<br />
<br />
== MLT documentation ==<br />
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>.<br />
<br />
== Environment variables ==<br />
If kdenlive crashes on startup (e.g. in QtCreator) and shows a message like:<br />
kdenlive(24309) KXMLGUIClient::setXMLFile: cannot find .rc file "kdenliveui.rc" for component "kdenlive"<br />
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>.<br />
<br />
You can get more information about the paths that are checked by running kdenlive like this:<br />
strace build/src/kdenlive 2>&1 | grep kdenliveui.rc<br />
<br />
<br />
== Developer Mailing List ==<br />
The kdenlive developer mailing list archives can be found [http://mail.kde.org/pipermail/kdenlive/ here]<br />
<br />
A searchable archive of the kdenlive developer mailing list can be found [http://www.mail-archive.com/kdenlive@kde.org/ here]<br />
<br />
Information on how to subscribe can be found [https://mail.kde.org/mailman/listinfo/kdenlive here]</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development&diff=82146Kdenlive/Development2018-11-21T15:36:31Z<p>Camillem: /* Multimedia stack */</p>
<hr />
<div>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| Developper's mailing list]].<br />
<br />
== Pre-requisites and Supported Platforms ==<br />
<br />
Kdenlive is primarely developped on GNU/Linux. There is an effort to [[Kdenlive/Development/WindowsBuild|build Kdenlive on Microsoft Windows]], but it's still a work in progress.<br />
<br />
Supported distributions are : <br />
<br />
* Ubuntu 18.04 LTS Bionic Beaver (and derivatives) <br />
* Arch Linux<br />
<br />
Current development code (2018) requires '''Qt >= 5.7''' , KF5 -- which are provided as package by the supported platforms --. <br />
but also '''MLT >= 6.10.0''', which is not available for Ubuntu 18.04 in default repositories: you'll have to get it from [https://launchpad.net/~kdenlive/+archive/ubuntu/mlt Kdenlive's ppa]: <br />
<br />
<pre><br />
sudo add-apt-repository ppa:kdenlive/mlt<br />
sudo apt-get update<br />
</pre><br />
<br />
It is recommended to uninstall the official kdenlive package since our version will replace it. <br />
<br />
<pre><br />
sudo apt-get remove kdenlive kdenlive-data<br />
</pre><br />
<br />
== Installing dependencies ==<br />
<br />
=== Development tooling ===<br />
<br />
You will need classical development tools (like git, gcc ...) but also cmake :<br />
<pre><br />
sudo apt install build-essential git cmake extra-cmake-modules libsm-dev<br />
</pre><br />
<br />
=== KDE Frameworks 5, based on Qt5 ===<br />
<br />
On Ubuntu the following packages will pull all the necessary dependencies:<br />
<br />
<pre><br />
sudo apt install libkf5archive-dev libkf5bookmarks-dev libkf5coreaddons-dev libkf5config-dev \<br />
libkf5configwidgets-dev libkf5dbusaddons-dev libkf5kio-dev libkf5widgetsaddons-dev \<br />
libkf5notifyconfig-dev libkf5newstuff-dev libkf5xmlgui-dev libkf5declarative-dev \<br />
libkf5notifications-dev libkf5guiaddons-dev libkf5textwidgets-dev \<br />
libkf5iconthemes-dev kdoctools-dev libkf5crash-dev libkf5filemetadata-dev kio \<br />
kinit kde-runtime qtdeclarative5-dev libqt5svg5-dev qml-module-qtquick-controls<br />
</pre><br />
<br />
<div style="background:#F5F5DC">Note: on slightly older Ubuntu (<= Xenial), the libkf5kio-dev package is called kio-dev</div><br />
<br />
=== Multimedia stack ===<br />
<br />
If your distribution packages a recent enough version of MLT (>= 6.10.0), you can install it directly along ffmpeg and frei0r plug-ins. Otherwise, you'll have to add our ppa or compile it yourself (see above)<br />
<br />
<pre><br />
sudo apt install libmlt++-dev libmlt-dev melt frei0r-plugins ffmpeg<br />
</pre><br />
<br />
=== Dependencies for localisation ===<br />
<br />
To have kdenlive localised in a different language than EN, you should install the additional dependencies that are required by the specific script to fetch the translations: <br />
<pre><br />
sudo apt install ruby subversion gnupg2 gettext<br />
</pre><br />
<br />
== Getting the source code ==<br />
<br />
=== Cloning the git repo ===<br />
The easiest way to get Kdenlive source code is to clone the git repo:<br />
<br />
<pre><br />
git clone git://anongit.kde.org/kdenlive.git<br />
</pre><br />
<br />
=== Selecting the branch ===<br />
<br />
It is important to understand that there is currently two main branches in Kdenlive code base:<br />
<br />
* The "refactoring_timeline" branch, which is where happens most of the development effort. The code base has undergone a massive cleanup and it should be much more fun to hack on. This is the one to choose by default.<br />
* The stable branch, "Applications/18.08", which is mostly in maintenance mode: it should be of interest to you if you want to fix a small specific bug.<br />
<br />
<pre><br />
cd kdenlive<br />
git checkout refactoring_timeline<br />
</pre><br />
<br />
or<br />
<br />
<pre><br />
cd kdenlive<br />
git checkout Applications/18.08<br />
</pre><br />
<br />
== Building Kdenlive ==<br />
Create a directory for the build :<br />
<br />
<pre><br />
mkdir build<br />
cd build<br />
</pre><br />
<br />
To avoid problems with plugins and libraries, it is easier to install Kdenlive in /usr:<br />
<br />
<pre><br />
cmake .. -DKDE_INSTALL_USE_QT_SYS_PATHS=ON -DCMAKE_INSTALL_PREFIX=/usr<br />
</pre><br />
<br />
''Alternately you can build it with debug flags:''<br />
<br />
<pre><br />
cmake .. -DKDE_INSTALL_USE_QT_SYS_PATHS=ON -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=RelWithDebInfo<br />
</pre><br />
<br />
To fetch the translations of the application :<br />
<pre><br />
make fetch-translations<br />
</pre><br />
<br />
This should create a po sub-directory in your build directory. You have then to create a symbolic link to this po sub directory : <br />
<br />
<pre><br />
cd ..<br />
ln -s build/po/ po<br />
cd build/<br />
</pre><br />
<br />
Then build and install:<br />
<pre><br />
make -j5<br />
sudo make install<br />
</pre><br />
<br />
You can then start your compiled version by simple entering:<br />
<pre><br />
kdenlive<br />
</pre><br />
<br />
== Next Steps ==<br />
<br />
Now that you've got a working dev environment, you can head to [[https://phabricator.kde.org/project/profile/40/ Kdenlive's page on KDE's phabricator]]<br />
<br />
You can also get some general info on the TechBase tutorial [https://techbase.kde.org/Development/Tutorials/Building_An_Existing_Application Building An Existing Application]. You may also be interested in the other [https://techbase.kde.org/Development/Tutorials tutorials on TechBase].<br />
<br />
== IDE Setup ==<br />
Pick your favourite!<br />
<br />
=== Setting up KDevelop ===<br />
Open KDevelop and go to Project > Open/Import project<br />
Then select the CMakeLists.txt file in the kdenlive source folder. <br />
You can now start hacking on Kdenlive!<br />
<br />
=== Setting up QtCreator ===<br />
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.<br />
<br />
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.<br />
<br />
== MLT documentation ==<br />
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>.<br />
<br />
== Environment variables ==<br />
If kdenlive crashes on startup (e.g. in QtCreator) and shows a message like:<br />
kdenlive(24309) KXMLGUIClient::setXMLFile: cannot find .rc file "kdenliveui.rc" for component "kdenlive"<br />
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>.<br />
<br />
You can get more information about the paths that are checked by running kdenlive like this:<br />
strace build/src/kdenlive 2>&1 | grep kdenliveui.rc<br />
<br />
<br />
== Developer Mailing List ==<br />
The kdenlive developer mailing list archives can be found [http://mail.kde.org/pipermail/kdenlive/ here]<br />
<br />
A searchable archive of the kdenlive developer mailing list can be found [http://www.mail-archive.com/kdenlive@kde.org/ here]<br />
<br />
Information on how to subscribe can be found [https://mail.kde.org/mailman/listinfo/kdenlive here]</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development&diff=82145Kdenlive/Development2018-11-21T15:29:04Z<p>Camillem: /* Pre-requisites and Supported Platforms */ wrong ppa</p>
<hr />
<div>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| Developper's mailing list]].<br />
<br />
== Pre-requisites and Supported Platforms ==<br />
<br />
Kdenlive is primarely developped on GNU/Linux. There is an effort to [[Kdenlive/Development/WindowsBuild|build Kdenlive on Microsoft Windows]], but it's still a work in progress.<br />
<br />
Supported distributions are : <br />
<br />
* Ubuntu 18.04 LTS Bionic Beaver (and derivatives) <br />
* Arch Linux<br />
<br />
Current development code (2018) requires '''Qt >= 5.7''' , KF5 -- which are provided as package by the supported platforms --. <br />
but also '''MLT >= 6.10.0''', which is not available for Ubuntu 18.04 in default repositories: you'll have to get it from [https://launchpad.net/~kdenlive/+archive/ubuntu/mlt Kdenlive's ppa]: <br />
<br />
<pre><br />
sudo add-apt-repository ppa:kdenlive/mlt<br />
sudo apt-get update<br />
</pre><br />
<br />
It is recommended to uninstall the official kdenlive package since our version will replace it. <br />
<br />
<pre><br />
sudo apt-get remove kdenlive kdenlive-data<br />
</pre><br />
<br />
== Installing dependencies ==<br />
<br />
=== Development tooling ===<br />
<br />
You will need classical development tools (like git, gcc ...) but also cmake :<br />
<pre><br />
sudo apt install build-essential git cmake extra-cmake-modules libsm-dev<br />
</pre><br />
<br />
=== KDE Frameworks 5, based on Qt5 ===<br />
<br />
On Ubuntu the following packages will pull all the necessary dependencies:<br />
<br />
<pre><br />
sudo apt install libkf5archive-dev libkf5bookmarks-dev libkf5coreaddons-dev libkf5config-dev \<br />
libkf5configwidgets-dev libkf5dbusaddons-dev libkf5kio-dev libkf5widgetsaddons-dev \<br />
libkf5notifyconfig-dev libkf5newstuff-dev libkf5xmlgui-dev libkf5declarative-dev \<br />
libkf5notifications-dev libkf5guiaddons-dev libkf5textwidgets-dev \<br />
libkf5iconthemes-dev kdoctools-dev libkf5crash-dev libkf5filemetadata-dev kio \<br />
kinit kde-runtime qtdeclarative5-dev libqt5svg5-dev qml-module-qtquick-controls<br />
</pre><br />
<br />
<div style="background:#F5F5DC">Note: on slightly older Ubuntu (<= Xenial), the libkf5kio-dev package is called kio-dev</div><br />
<br />
=== Multimedia stack ===<br />
<br />
If your distribution packages a recent enough version of MLT (>= 6.10.0), you can install it directly along ffmpeg and frei0r plug-ins. Otherwise, you'll have to compile it yourself (see above)<br />
<br />
<pre><br />
sudo apt install libmlt++-dev libmlt-dev melt frei0r-plugins ffmpeg<br />
</pre><br />
<br />
=== Dependencies for localisation ===<br />
<br />
To have kdenlive localised in a different language than EN, you should install the additional dependencies that are required by the specific script to fetch the translations: <br />
<pre><br />
sudo apt install ruby subversion gnupg2 gettext<br />
</pre><br />
<br />
== Getting the source code ==<br />
<br />
=== Cloning the git repo ===<br />
The easiest way to get Kdenlive source code is to clone the git repo:<br />
<br />
<pre><br />
git clone git://anongit.kde.org/kdenlive.git<br />
</pre><br />
<br />
=== Selecting the branch ===<br />
<br />
It is important to understand that there is currently two main branches in Kdenlive code base:<br />
<br />
* The "refactoring_timeline" branch, which is where happens most of the development effort. The code base has undergone a massive cleanup and it should be much more fun to hack on. This is the one to choose by default.<br />
* The stable branch, "Applications/18.08", which is mostly in maintenance mode: it should be of interest to you if you want to fix a small specific bug.<br />
<br />
<pre><br />
cd kdenlive<br />
git checkout refactoring_timeline<br />
</pre><br />
<br />
or<br />
<br />
<pre><br />
cd kdenlive<br />
git checkout Applications/18.08<br />
</pre><br />
<br />
== Building Kdenlive ==<br />
Create a directory for the build :<br />
<br />
<pre><br />
mkdir build<br />
cd build<br />
</pre><br />
<br />
To avoid problems with plugins and libraries, it is easier to install Kdenlive in /usr:<br />
<br />
<pre><br />
cmake .. -DKDE_INSTALL_USE_QT_SYS_PATHS=ON -DCMAKE_INSTALL_PREFIX=/usr<br />
</pre><br />
<br />
''Alternately you can build it with debug flags:''<br />
<br />
<pre><br />
cmake .. -DKDE_INSTALL_USE_QT_SYS_PATHS=ON -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=RelWithDebInfo<br />
</pre><br />
<br />
To fetch the translations of the application :<br />
<pre><br />
make fetch-translations<br />
</pre><br />
<br />
This should create a po sub-directory in your build directory. You have then to create a symbolic link to this po sub directory : <br />
<br />
<pre><br />
cd ..<br />
ln -s build/po/ po<br />
cd build/<br />
</pre><br />
<br />
Then build and install:<br />
<pre><br />
make -j5<br />
sudo make install<br />
</pre><br />
<br />
You can then start your compiled version by simple entering:<br />
<pre><br />
kdenlive<br />
</pre><br />
<br />
== Next Steps ==<br />
<br />
Now that you've got a working dev environment, you can head to [[https://phabricator.kde.org/project/profile/40/ Kdenlive's page on KDE's phabricator]]<br />
<br />
You can also get some general info on the TechBase tutorial [https://techbase.kde.org/Development/Tutorials/Building_An_Existing_Application Building An Existing Application]. You may also be interested in the other [https://techbase.kde.org/Development/Tutorials tutorials on TechBase].<br />
<br />
== IDE Setup ==<br />
Pick your favourite!<br />
<br />
=== Setting up KDevelop ===<br />
Open KDevelop and go to Project > Open/Import project<br />
Then select the CMakeLists.txt file in the kdenlive source folder. <br />
You can now start hacking on Kdenlive!<br />
<br />
=== Setting up QtCreator ===<br />
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.<br />
<br />
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.<br />
<br />
== MLT documentation ==<br />
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>.<br />
<br />
== Environment variables ==<br />
If kdenlive crashes on startup (e.g. in QtCreator) and shows a message like:<br />
kdenlive(24309) KXMLGUIClient::setXMLFile: cannot find .rc file "kdenliveui.rc" for component "kdenlive"<br />
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>.<br />
<br />
You can get more information about the paths that are checked by running kdenlive like this:<br />
strace build/src/kdenlive 2>&1 | grep kdenliveui.rc<br />
<br />
<br />
== Developer Mailing List ==<br />
The kdenlive developer mailing list archives can be found [http://mail.kde.org/pipermail/kdenlive/ here]<br />
<br />
A searchable archive of the kdenlive developer mailing list can be found [http://www.mail-archive.com/kdenlive@kde.org/ here]<br />
<br />
Information on how to subscribe can be found [https://mail.kde.org/mailman/listinfo/kdenlive here]</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development&diff=82144Kdenlive/Development2018-11-21T15:24:34Z<p>Camillem: /* Pre-requisites and Supported Platforms */Mention to ppa</p>
<hr />
<div>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| Developper's mailing list]].<br />
<br />
== Pre-requisites and Supported Platforms ==<br />
<br />
Kdenlive is primarely developped on GNU/Linux. There is an effort to [[Kdenlive/Development/WindowsBuild|build Kdenlive on Microsoft Windows]], but it's still a work in progress.<br />
<br />
Supported distributions are : <br />
<br />
* Ubuntu 18.04 LTS Bionic Beaver (and derivatives) <br />
* Arch Linux<br />
<br />
Current development code (2018) requires '''Qt >= 5.7''' , KF5 -- which are provided as package by the supported platforms --. <br />
but also '''MLT >= 6.10.0''', which is not available for Ubuntu 18.04 in default repositories: you'll have to get it from [https://launchpad.net/~kdenlive/+archive/ubuntu/mlt Kdenlive's ppa]: <br />
<br />
<pre><br />
sudo add-apt-repository ppa:kdenlive/kdenlive-stable<br />
sudo apt-get update<br />
</pre><br />
<br />
It is recommended to uninstall the official kdenlive package since our version will replace it. <br />
<br />
<pre><br />
sudo apt-get remove kdenlive kdenlive-data<br />
</pre><br />
<br />
== Installing dependencies ==<br />
<br />
=== Development tooling ===<br />
<br />
You will need classical development tools (like git, gcc ...) but also cmake :<br />
<pre><br />
sudo apt install build-essential git cmake extra-cmake-modules libsm-dev<br />
</pre><br />
<br />
=== KDE Frameworks 5, based on Qt5 ===<br />
<br />
On Ubuntu the following packages will pull all the necessary dependencies:<br />
<br />
<pre><br />
sudo apt install libkf5archive-dev libkf5bookmarks-dev libkf5coreaddons-dev libkf5config-dev \<br />
libkf5configwidgets-dev libkf5dbusaddons-dev libkf5kio-dev libkf5widgetsaddons-dev \<br />
libkf5notifyconfig-dev libkf5newstuff-dev libkf5xmlgui-dev libkf5declarative-dev \<br />
libkf5notifications-dev libkf5guiaddons-dev libkf5textwidgets-dev \<br />
libkf5iconthemes-dev kdoctools-dev libkf5crash-dev libkf5filemetadata-dev kio \<br />
kinit kde-runtime qtdeclarative5-dev libqt5svg5-dev qml-module-qtquick-controls<br />
</pre><br />
<br />
<div style="background:#F5F5DC">Note: on slightly older Ubuntu (<= Xenial), the libkf5kio-dev package is called kio-dev</div><br />
<br />
=== Multimedia stack ===<br />
<br />
If your distribution packages a recent enough version of MLT (>= 6.10.0), you can install it directly along ffmpeg and frei0r plug-ins. Otherwise, you'll have to compile it yourself (see above)<br />
<br />
<pre><br />
sudo apt install libmlt++-dev libmlt-dev melt frei0r-plugins ffmpeg<br />
</pre><br />
<br />
=== Dependencies for localisation ===<br />
<br />
To have kdenlive localised in a different language than EN, you should install the additional dependencies that are required by the specific script to fetch the translations: <br />
<pre><br />
sudo apt install ruby subversion gnupg2 gettext<br />
</pre><br />
<br />
== Getting the source code ==<br />
<br />
=== Cloning the git repo ===<br />
The easiest way to get Kdenlive source code is to clone the git repo:<br />
<br />
<pre><br />
git clone git://anongit.kde.org/kdenlive.git<br />
</pre><br />
<br />
=== Selecting the branch ===<br />
<br />
It is important to understand that there is currently two main branches in Kdenlive code base:<br />
<br />
* The "refactoring_timeline" branch, which is where happens most of the development effort. The code base has undergone a massive cleanup and it should be much more fun to hack on. This is the one to choose by default.<br />
* The stable branch, "Applications/18.08", which is mostly in maintenance mode: it should be of interest to you if you want to fix a small specific bug.<br />
<br />
<pre><br />
cd kdenlive<br />
git checkout refactoring_timeline<br />
</pre><br />
<br />
or<br />
<br />
<pre><br />
cd kdenlive<br />
git checkout Applications/18.08<br />
</pre><br />
<br />
== Building Kdenlive ==<br />
Create a directory for the build :<br />
<br />
<pre><br />
mkdir build<br />
cd build<br />
</pre><br />
<br />
To avoid problems with plugins and libraries, it is easier to install Kdenlive in /usr:<br />
<br />
<pre><br />
cmake .. -DKDE_INSTALL_USE_QT_SYS_PATHS=ON -DCMAKE_INSTALL_PREFIX=/usr<br />
</pre><br />
<br />
''Alternately you can build it with debug flags:''<br />
<br />
<pre><br />
cmake .. -DKDE_INSTALL_USE_QT_SYS_PATHS=ON -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=RelWithDebInfo<br />
</pre><br />
<br />
To fetch the translations of the application :<br />
<pre><br />
make fetch-translations<br />
</pre><br />
<br />
This should create a po sub-directory in your build directory. You have then to create a symbolic link to this po sub directory : <br />
<br />
<pre><br />
cd ..<br />
ln -s build/po/ po<br />
cd build/<br />
</pre><br />
<br />
Then build and install:<br />
<pre><br />
make -j5<br />
sudo make install<br />
</pre><br />
<br />
You can then start your compiled version by simple entering:<br />
<pre><br />
kdenlive<br />
</pre><br />
<br />
== Next Steps ==<br />
<br />
Now that you've got a working dev environment, you can head to [[https://phabricator.kde.org/project/profile/40/ Kdenlive's page on KDE's phabricator]]<br />
<br />
You can also get some general info on the TechBase tutorial [https://techbase.kde.org/Development/Tutorials/Building_An_Existing_Application Building An Existing Application]. You may also be interested in the other [https://techbase.kde.org/Development/Tutorials tutorials on TechBase].<br />
<br />
== IDE Setup ==<br />
Pick your favourite!<br />
<br />
=== Setting up KDevelop ===<br />
Open KDevelop and go to Project > Open/Import project<br />
Then select the CMakeLists.txt file in the kdenlive source folder. <br />
You can now start hacking on Kdenlive!<br />
<br />
=== Setting up QtCreator ===<br />
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.<br />
<br />
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.<br />
<br />
== MLT documentation ==<br />
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>.<br />
<br />
== Environment variables ==<br />
If kdenlive crashes on startup (e.g. in QtCreator) and shows a message like:<br />
kdenlive(24309) KXMLGUIClient::setXMLFile: cannot find .rc file "kdenliveui.rc" for component "kdenlive"<br />
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>.<br />
<br />
You can get more information about the paths that are checked by running kdenlive like this:<br />
strace build/src/kdenlive 2>&1 | grep kdenliveui.rc<br />
<br />
<br />
== Developer Mailing List ==<br />
The kdenlive developer mailing list archives can be found [http://mail.kde.org/pipermail/kdenlive/ here]<br />
<br />
A searchable archive of the kdenlive developer mailing list can be found [http://www.mail-archive.com/kdenlive@kde.org/ here]<br />
<br />
Information on how to subscribe can be found [https://mail.kde.org/mailman/listinfo/kdenlive here]</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development/CleaningEffects&diff=82060Kdenlive/Development/CleaningEffects2018-11-06T22:39:36Z<p>Camillem: Created page with " =Goal of the working group="</p>
<hr />
<div><br />
=Goal of the working group=</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive&diff=82059Kdenlive2018-11-06T22:22:12Z<p>Camillem: /* Development */</p>
<hr />
<div>Kdenlive is a non linear video editor based on the [http://www.mltframework.org MLT framework].<br />
Visit [http://kdenlive.org project site] site for more infos.<br />
<br />
== Documentation ==<br />
<br />
The [https://userbase.kde.org/Kdenlive/Manual Kdenlive User Manual].<br />
<br />
Help on writing the [http://userbase.kde.org/Kdenlive/Manual Documentation].<br />
<br />
== Development ==<br />
<br />
[[Kdenlive/Development|Kdenlive Development]] page helps you to setup a development environment and start building the project.<br />
<br />
[[Kdenlive/Development/Testing|Testing Kdenlive]] <br />
<br />
[[Kdenlive/Development/CleaningEffects|Cleaning the Effect list]]<br />
<br />
[[Kdenlive/Roadmap | Roadmap]] suggest development directions, as well as [[Kdenlive/UI_Review | UI Review]]<br />
<br />
<br />
[[Kdenlive/Development/ReleaseNotes-18.12|What will land in kdenlive 18.12]]<br />
<br />
[[Kdenlive/Development/Refactoring Roadmap|Post-Refactoring Roadmap]]</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development/ReleaseNotes-18.12&diff=82057Kdenlive/Development/ReleaseNotes-18.122018-11-06T20:47:37Z<p>Camillem: </p>
<hr />
<div>=What kdenlive Refactored version will bring you=<br />
<br />
That version used to be planned for 18.12 but will more probably be 19.04<br />
<br />
== A new refactored timeline ==<br />
<br />
<br />
=== Split Audio/Video ===<br />
We have changed the way timeline tracks work. Each track is now either audio or video, and will only accept audio and video clips respectively.<br />
<br />
When dragging an AV clip from the project bin in timeline, the clip will be automatically split, the video part going on an audio track, and the video part on an audio track.<br />
<br />
=== Configurable layout ===<br />
* Tracks can be resized<br />
* You can switch live between different layouts (audio tracks interleaved with video tracks, or together below the video tracks)<br />
<br />
=== Keyboard Navigation ===<br />
You now have the possibility to move clips and compositions with your keyboard. To do it, select a clip in timeline and use the "Grab Current Item" (Shift+G) function from the Timeline menu. You can then move the item with your arrow keys.<br />
<br />
=== Improvements ===<br />
* configurable thumbnails for each track<br />
* Clip name always displayed when scrolling<br />
* Individual clips can now be disabled (still in timeline but with no audio and no video - works for all clip types)<br />
* Faster timeline preview - with support for hardware accelerated encoding<br />
* Improved feedback on move/resize<br />
<br />
== Project Bin ==<br />
[[File:Screencast-proxy-stream.gif ]]<br />
* Improve management of proxy clips (can now be deleted for each clip)<br />
* Shortcut icon to drag only the audio or only the video of a clip in timeline<br />
* Improved management of audio/video streams, also allowing to enable/disable audio or video for a clip<br />
<br />
== Monitors ==<br />
* Support multiple guide overlays<br />
* Shortcut icon in clip monitor to drag only the audio or only the video of a clip in timeline<br />
<br />
== Titler ==<br />
* Added configurable visual guides<br />
<br />
== Effects and Compositions ==<br />
* You can now define preferred effects and compositions. These will appear in the timeline context menus and in the effect/composition baskets for easier access<br />
* When dragging a composition from the list into timeline, it will automatically adjust its duration (to fit the entire clip or the duration of a clip overla depending on the context)<br />
<br />
== Resources ==<br />
Since a long time, Kdenlive allowed users to download extra user contributes resources from [https://store.kde.org store.kde.org]. These download options have now been moved to more logical places instead of the "Settings" menu. Title templates can be downloaded from the Titler dialog, Render profiles from the Render dialog, Luma compositions from the Composition list and Shortcut layouts from the Shortcuts dialog.</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development&diff=81932Kdenlive/Development2018-10-13T18:03:26Z<p>Camillem: /* Multimedia stack */</p>
<hr />
<div>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| Developper's mailing list]].<br />
<br />
== Pre-requisites and Supported Platforms ==<br />
<br />
Kdenlive is primarely developped on GNU/Linux. There is an effort to [[Kdenlive/Development/WindowsBuild|build Kdenlive on Microsoft Windows]], but it's still a work in progress.<br />
<br />
Supported distributions are : <br />
<br />
* Ubuntu 18.04 LTS Bionic Beaver (and derivatives) <br />
* Arch Linux<br />
<br />
Current development code (2018) requires '''Qt >= 5.7''' , KF5 -- which are provided as package by the supported platforms --. <br />
but also '''MLT >= 6.10.0''', which is not available for Ubuntu 18.04. <br />
You will need to compile it by yourself, as documented on [[Kdenlive/Development/KF5|Kdenlive KF5 development page]].<br />
<br />
It is recommended to uninstall the official kdenlive package since our version will replace it. <br />
<br />
<pre><br />
sudo apt-get remove kdenlive kdenlive-data<br />
</pre><br />
<br />
== Installing dependencies ==<br />
<br />
=== Development tooling ===<br />
<br />
You will need classical development tools (like git, gcc ...) but also cmake :<br />
<pre><br />
sudo apt install build-essential git cmake extra-cmake-modules libsm-dev<br />
</pre><br />
<br />
=== KDE Frameworks 5, based on Qt5 ===<br />
<br />
On Ubuntu the following packages will pull all the necessary dependencies:<br />
<br />
<pre><br />
sudo apt install libkf5archive-dev libkf5bookmarks-dev libkf5coreaddons-dev libkf5config-dev \<br />
libkf5configwidgets-dev libkf5dbusaddons-dev libkf5kio-dev libkf5widgetsaddons-dev \<br />
libkf5notifyconfig-dev libkf5newstuff-dev libkf5xmlgui-dev libkf5declarative-dev \<br />
libkf5notifications-dev libkf5guiaddons-dev libkf5textwidgets-dev \<br />
libkf5iconthemes-dev kdoctools-dev libkf5crash-dev libkf5filemetadata-dev kio \<br />
kinit kde-runtime qtdeclarative5-dev libqt5svg5-dev qml-module-qtquick-controls<br />
</pre><br />
<br />
<div style="background:#F5F5DC">Note: on slightly older Ubuntu (<= Xenial), the libkf5kio-dev package is called kio-dev</div><br />
<br />
=== Multimedia stack ===<br />
<br />
If your distribution packages a recent enough version of MLT (>= 6.10.0), you can install it directly along ffmpeg and frei0r plug-ins. Otherwise, you'll have to compile it yourself (see above)<br />
<br />
<pre><br />
sudo apt install libmlt++-dev libmlt-dev melt frei0r-plugins ffmpeg<br />
</pre><br />
<br />
=== Dependencies for localisation ===<br />
<br />
To have kdenlive localised in a different language than EN, you should install the additional dependencies that are required by the specific script to fetch the translations: <br />
<pre><br />
sudo apt install ruby subversion gnupg2 gettext<br />
</pre><br />
<br />
== Getting the source code ==<br />
<br />
=== Cloning the git repo ===<br />
The easiest way to get Kdenlive source code is to clone the git repo:<br />
<br />
<pre><br />
git clone git://anongit.kde.org/kdenlive.git<br />
</pre><br />
<br />
=== Selecting the branch ===<br />
<br />
It is important to understand that there is currently two main branches in Kdenlive code base:<br />
<br />
* The "refactoring_timeline" branch, which is where happens most of the development effort. The code base has undergone a massive cleanup and it should be much more fun to hack on. This is the one to choose by default.<br />
* The stable branch, "Applications/18.08", which is mostly in maintenance mode: it should be of interest to you if you want to fix a small specific bug.<br />
<br />
<pre><br />
cd kdenlive<br />
git checkout refactoring_timeline<br />
</pre><br />
<br />
or<br />
<br />
<pre><br />
cd kdenlive<br />
git checkout Applications/18.08<br />
</pre><br />
<br />
== Building Kdenlive ==<br />
Create a directory for the build :<br />
<br />
<pre><br />
mkdir build<br />
cd build<br />
</pre><br />
<br />
To avoid problems with plugins and libraries, it is easier to install Kdenlive in /usr:<br />
<br />
<pre><br />
cmake .. -DKDE_INSTALL_USE_QT_SYS_PATHS=ON -DCMAKE_INSTALL_PREFIX=/usr<br />
</pre><br />
<br />
To fetch the translations of the application :<br />
<pre><br />
make fetch-translations<br />
</pre><br />
<br />
This should create a po sub-directory in your build directory. You have then to create a symbolic link to this po sub directory : <br />
<br />
<pre><br />
cd ..<br />
ln -s build/po/ po<br />
cd build/<br />
</pre><br />
<br />
Then build and install:<br />
<pre><br />
make -j5<br />
sudo make install<br />
</pre><br />
<br />
You can then start your compiled version by simple entering:<br />
<pre><br />
kdenlive<br />
</pre><br />
<br />
== Next Steps ==<br />
<br />
Now that you've got a working dev environment, you can head to [[https://phabricator.kde.org/project/profile/40/ Kdenlive's page on KDE's phabricator]]<br />
<br />
You can also get some general info on the TechBase tutorial [https://techbase.kde.org/Development/Tutorials/Building_An_Existing_Application Building An Existing Application]. You may also be interested in the other [https://techbase.kde.org/Development/Tutorials tutorials on TechBase].<br />
<br />
== IDE Setup ==<br />
Pick your favourite!<br />
<br />
=== Setting up KDevelop ===<br />
Open KDevelop and go to Project > Open/Import project<br />
Then select the CMakeLists.txt file in the kdenlive source folder. <br />
You can now start hacking on Kdenlive!<br />
<br />
=== Setting up QtCreator ===<br />
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.<br />
<br />
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.<br />
<br />
== MLT documentation ==<br />
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>.<br />
<br />
== Environment variables ==<br />
If kdenlive crashes on startup (e.g. in QtCreator) and shows a message like:<br />
kdenlive(24309) KXMLGUIClient::setXMLFile: cannot find .rc file "kdenliveui.rc" for component "kdenlive"<br />
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>.<br />
<br />
You can get more information about the paths that are checked by running kdenlive like this:<br />
strace build/src/kdenlive 2>&1 | grep kdenliveui.rc<br />
<br />
<br />
== Developer Mailing List ==<br />
The kdenlive developer mailing list archives can be found [http://mail.kde.org/pipermail/kdenlive/ here]<br />
<br />
A searchable archive of the kdenlive developer mailing list can be found [http://www.mail-archive.com/kdenlive@kde.org/ here]<br />
<br />
Information on how to subscribe can be found [https://mail.kde.org/mailman/listinfo/kdenlive here]</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development&diff=81931Kdenlive/Development2018-10-13T18:01:23Z<p>Camillem: /* Pre-requisites and Supported Platforms */ MLT 6.10 not supported on ubuntu LTS</p>
<hr />
<div>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| Developper's mailing list]].<br />
<br />
== Pre-requisites and Supported Platforms ==<br />
<br />
Kdenlive is primarely developped on GNU/Linux. There is an effort to [[Kdenlive/Development/WindowsBuild|build Kdenlive on Microsoft Windows]], but it's still a work in progress.<br />
<br />
Supported distributions are : <br />
<br />
* Ubuntu 18.04 LTS Bionic Beaver (and derivatives) <br />
* Arch Linux<br />
<br />
Current development code (2018) requires '''Qt >= 5.7''' , KF5 -- which are provided as package by the supported platforms --. <br />
but also '''MLT >= 6.10.0''', which is not available for Ubuntu 18.04. <br />
You will need to compile it by yourself, as documented on [[Kdenlive/Development/KF5|Kdenlive KF5 development page]].<br />
<br />
It is recommended to uninstall the official kdenlive package since our version will replace it. <br />
<br />
<pre><br />
sudo apt-get remove kdenlive kdenlive-data<br />
</pre><br />
<br />
== Installing dependencies ==<br />
<br />
=== Development tooling ===<br />
<br />
You will need classical development tools (like git, gcc ...) but also cmake :<br />
<pre><br />
sudo apt install build-essential git cmake extra-cmake-modules libsm-dev<br />
</pre><br />
<br />
=== KDE Frameworks 5, based on Qt5 ===<br />
<br />
On Ubuntu the following packages will pull all the necessary dependencies:<br />
<br />
<pre><br />
sudo apt install libkf5archive-dev libkf5bookmarks-dev libkf5coreaddons-dev libkf5config-dev \<br />
libkf5configwidgets-dev libkf5dbusaddons-dev libkf5kio-dev libkf5widgetsaddons-dev \<br />
libkf5notifyconfig-dev libkf5newstuff-dev libkf5xmlgui-dev libkf5declarative-dev \<br />
libkf5notifications-dev libkf5guiaddons-dev libkf5textwidgets-dev \<br />
libkf5iconthemes-dev kdoctools-dev libkf5crash-dev libkf5filemetadata-dev kio \<br />
kinit kde-runtime qtdeclarative5-dev libqt5svg5-dev qml-module-qtquick-controls<br />
</pre><br />
<br />
<div style="background:#F5F5DC">Note: on slightly older Ubuntu (<= Xenial), the libkf5kio-dev package is called kio-dev</div><br />
<br />
=== Multimedia stack ===<br />
<br />
You will also need MLT >= 6.6.0, ffmpeg and frei0r plug-ins<br />
<br />
<pre><br />
sudo apt install libmlt++-dev libmlt-dev melt frei0r-plugins ffmpeg<br />
</pre><br />
<br />
=== Dependencies for localisation ===<br />
<br />
To have kdenlive localised in a different language than EN, you should install the additional dependencies that are required by the specific script to fetch the translations: <br />
<pre><br />
sudo apt install ruby subversion gnupg2 gettext<br />
</pre><br />
<br />
== Getting the source code ==<br />
<br />
=== Cloning the git repo ===<br />
The easiest way to get Kdenlive source code is to clone the git repo:<br />
<br />
<pre><br />
git clone git://anongit.kde.org/kdenlive.git<br />
</pre><br />
<br />
=== Selecting the branch ===<br />
<br />
It is important to understand that there is currently two main branches in Kdenlive code base:<br />
<br />
* The "refactoring_timeline" branch, which is where happens most of the development effort. The code base has undergone a massive cleanup and it should be much more fun to hack on. This is the one to choose by default.<br />
* The stable branch, "Applications/18.08", which is mostly in maintenance mode: it should be of interest to you if you want to fix a small specific bug.<br />
<br />
<pre><br />
cd kdenlive<br />
git checkout refactoring_timeline<br />
</pre><br />
<br />
or<br />
<br />
<pre><br />
cd kdenlive<br />
git checkout Applications/18.08<br />
</pre><br />
<br />
== Building Kdenlive ==<br />
Create a directory for the build :<br />
<br />
<pre><br />
mkdir build<br />
cd build<br />
</pre><br />
<br />
To avoid problems with plugins and libraries, it is easier to install Kdenlive in /usr:<br />
<br />
<pre><br />
cmake .. -DKDE_INSTALL_USE_QT_SYS_PATHS=ON -DCMAKE_INSTALL_PREFIX=/usr<br />
</pre><br />
<br />
To fetch the translations of the application :<br />
<pre><br />
make fetch-translations<br />
</pre><br />
<br />
This should create a po sub-directory in your build directory. You have then to create a symbolic link to this po sub directory : <br />
<br />
<pre><br />
cd ..<br />
ln -s build/po/ po<br />
cd build/<br />
</pre><br />
<br />
Then build and install:<br />
<pre><br />
make -j5<br />
sudo make install<br />
</pre><br />
<br />
You can then start your compiled version by simple entering:<br />
<pre><br />
kdenlive<br />
</pre><br />
<br />
== Next Steps ==<br />
<br />
Now that you've got a working dev environment, you can head to [[https://phabricator.kde.org/project/profile/40/ Kdenlive's page on KDE's phabricator]]<br />
<br />
You can also get some general info on the TechBase tutorial [https://techbase.kde.org/Development/Tutorials/Building_An_Existing_Application Building An Existing Application]. You may also be interested in the other [https://techbase.kde.org/Development/Tutorials tutorials on TechBase].<br />
<br />
== IDE Setup ==<br />
Pick your favourite!<br />
<br />
=== Setting up KDevelop ===<br />
Open KDevelop and go to Project > Open/Import project<br />
Then select the CMakeLists.txt file in the kdenlive source folder. <br />
You can now start hacking on Kdenlive!<br />
<br />
=== Setting up QtCreator ===<br />
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.<br />
<br />
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.<br />
<br />
== MLT documentation ==<br />
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>.<br />
<br />
== Environment variables ==<br />
If kdenlive crashes on startup (e.g. in QtCreator) and shows a message like:<br />
kdenlive(24309) KXMLGUIClient::setXMLFile: cannot find .rc file "kdenliveui.rc" for component "kdenlive"<br />
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>.<br />
<br />
You can get more information about the paths that are checked by running kdenlive like this:<br />
strace build/src/kdenlive 2>&1 | grep kdenliveui.rc<br />
<br />
<br />
== Developer Mailing List ==<br />
The kdenlive developer mailing list archives can be found [http://mail.kde.org/pipermail/kdenlive/ here]<br />
<br />
A searchable archive of the kdenlive developer mailing list can be found [http://www.mail-archive.com/kdenlive@kde.org/ here]<br />
<br />
Information on how to subscribe can be found [https://mail.kde.org/mailman/listinfo/kdenlive here]</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development/ReleaseNotes-18.12&diff=81871Kdenlive/Development/ReleaseNotes-18.122018-10-02T20:25:16Z<p>Camillem: /* A new refactored timeline */</p>
<hr />
<div>=What kdenlive 18.12 will bring you=<br />
<br />
== A new refactored timeline ==<br />
<br />
<br />
=== Split Audo/Video ===</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development&diff=81870Kdenlive/Development2018-10-02T20:24:25Z<p>Camillem: /* Pre-requisites and Supported Platforms */ Pb with MLT 6.10 for ubuntu LTS</p>
<hr />
<div>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| Developper's mailing list]].<br />
<br />
== Pre-requisites and Supported Platforms ==<br />
<br />
Kdenlive is primarely developped on GNU/Linux. There is an effort to [[Kdenlive/Development/WindowsBuild|build Kdenlive on Microsoft Windows]], but it's still a work in progress.<br />
<br />
Supported distributions are : <br />
<br />
* Ubuntu 18.04 LTS Bionic Beaver (and derivatives) - Currently a problem with the required MLT version<br />
* Arch Linux<br />
<br />
Current development code (2018) requires '''Qt >= 5.7''' , KF5, and '''MLT >= 6.10.0''', which are provided as package by the supported platforms. Any distribution that provides these dependencies should be a good start.<br />
<br />
If your distro does not provide a recent MLT, you will need to compile it by yourself, see [[Kdenlive/Development/KF5|Kdenlive KF5 development page]].<br />
<br />
It is recommended to uninstall the official kdenlive package since our version will replace it. <br />
<br />
<pre><br />
sudo apt-get remove kdenlive kdenlive-data<br />
</pre><br />
<br />
== Installing dependencies ==<br />
<br />
=== Development tooling ===<br />
<br />
You will need classical development tools (like git, gcc ...) but also cmake :<br />
<pre><br />
sudo apt install build-essential git cmake extra-cmake-modules libsm-dev<br />
</pre><br />
<br />
=== KDE Frameworks 5, based on Qt5 ===<br />
<br />
On Ubuntu the following packages will pull all the necessary dependencies:<br />
<br />
<pre><br />
sudo apt install libkf5archive-dev libkf5bookmarks-dev libkf5coreaddons-dev libkf5config-dev \<br />
libkf5configwidgets-dev libkf5dbusaddons-dev libkf5kio-dev libkf5widgetsaddons-dev \<br />
libkf5notifyconfig-dev libkf5newstuff-dev libkf5xmlgui-dev libkf5declarative-dev \<br />
libkf5notifications-dev libkf5guiaddons-dev libkf5textwidgets-dev \<br />
libkf5iconthemes-dev kdoctools-dev libkf5crash-dev libkf5filemetadata-dev kio \<br />
kinit kde-runtime qtdeclarative5-dev libqt5svg5-dev qml-module-qtquick-controls<br />
</pre><br />
<br />
<div style="background:#F5F5DC">Note: on slightly older Ubuntu (<= Xenial), the libkf5kio-dev package is called kio-dev</div><br />
<br />
=== Multimedia stack ===<br />
<br />
You will also need MLT >= 6.6.0, ffmpeg and frei0r plug-ins<br />
<br />
<pre><br />
sudo apt install libmlt++-dev libmlt-dev melt frei0r-plugins ffmpeg<br />
</pre><br />
<br />
=== Dependencies for localisation ===<br />
<br />
To have kdenlive localised in a different language than EN, you should install the additional dependencies that are required by the specific script to fetch the translations: <br />
<pre><br />
sudo apt install ruby subversion gnupg2 gettext<br />
</pre><br />
<br />
== Getting the source code ==<br />
<br />
=== Cloning the git repo ===<br />
The easiest way to get Kdenlive source code is to clone the git repo:<br />
<br />
<pre><br />
git clone git://anongit.kde.org/kdenlive.git<br />
</pre><br />
<br />
=== Selecting the branch ===<br />
<br />
It is important to understand that there is currently two main branches in Kdenlive code base:<br />
<br />
* The "refactoring_timeline" branch, which is where happens most of the development effort. The code base has undergone a massive cleanup and it should be much more fun to hack on. This is the one to choose by default.<br />
* The stable branch, "Applications/18.08", which is mostly in maintenance mode: it should be of interest to you if you want to fix a small specific bug.<br />
<br />
<pre><br />
cd kdenlive<br />
git checkout refactoring_timeline<br />
</pre><br />
<br />
or<br />
<br />
<pre><br />
cd kdenlive<br />
git checkout Applications/18.08<br />
</pre><br />
<br />
== Building Kdenlive ==<br />
Create a directory for the build :<br />
<br />
<pre><br />
mkdir build<br />
cd build<br />
</pre><br />
<br />
To avoid problems with plugins and libraries, it is easier to install Kdenlive in /usr:<br />
<br />
<pre><br />
cmake .. -DKDE_INSTALL_USE_QT_SYS_PATHS=ON -DCMAKE_INSTALL_PREFIX=/usr<br />
</pre><br />
<br />
To fetch the translations of the application :<br />
<pre><br />
make fetch-translations<br />
</pre><br />
<br />
This should create a po sub-directory in your build directory. You have then to create a symbolic link to this po sub directory : <br />
<br />
<pre><br />
cd ..<br />
ln -s build/po/ po<br />
cd build/<br />
</pre><br />
<br />
Then build and install:<br />
<pre><br />
make -j5<br />
sudo make install<br />
</pre><br />
<br />
You can then start your compiled version by simple entering:<br />
<pre><br />
kdenlive<br />
</pre><br />
<br />
== Next Steps ==<br />
<br />
Now that you've got a working dev environment, you can head to [[https://phabricator.kde.org/project/profile/40/ Kdenlive's page on KDE's phabricator]]<br />
<br />
You can also get some general info on the TechBase tutorial [https://techbase.kde.org/Development/Tutorials/Building_An_Existing_Application Building An Existing Application]. You may also be interested in the other [https://techbase.kde.org/Development/Tutorials tutorials on TechBase].<br />
<br />
== IDE Setup ==<br />
Pick your favourite!<br />
<br />
=== Setting up KDevelop ===<br />
Open KDevelop and go to Project > Open/Import project<br />
Then select the CMakeLists.txt file in the kdenlive source folder. <br />
You can now start hacking on Kdenlive!<br />
<br />
=== Setting up QtCreator ===<br />
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.<br />
<br />
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.<br />
<br />
== MLT documentation ==<br />
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>.<br />
<br />
== Environment variables ==<br />
If kdenlive crashes on startup (e.g. in QtCreator) and shows a message like:<br />
kdenlive(24309) KXMLGUIClient::setXMLFile: cannot find .rc file "kdenliveui.rc" for component "kdenlive"<br />
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>.<br />
<br />
You can get more information about the paths that are checked by running kdenlive like this:<br />
strace build/src/kdenlive 2>&1 | grep kdenliveui.rc<br />
<br />
<br />
== Developer Mailing List ==<br />
The kdenlive developer mailing list archives can be found [http://mail.kde.org/pipermail/kdenlive/ here]<br />
<br />
A searchable archive of the kdenlive developer mailing list can be found [http://www.mail-archive.com/kdenlive@kde.org/ here]<br />
<br />
Information on how to subscribe can be found [https://mail.kde.org/mailman/listinfo/kdenlive here]</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development/ReleaseNotes-18.12&diff=81869Kdenlive/Development/ReleaseNotes-18.122018-10-02T20:03:48Z<p>Camillem: Created page with "=What kdenlive 18.12 will bring you= == A new refactored timeline =="</p>
<hr />
<div>=What kdenlive 18.12 will bring you=<br />
<br />
== A new refactored timeline ==</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive&diff=81868Kdenlive2018-10-02T20:01:08Z<p>Camillem: /* Development */</p>
<hr />
<div>Kdenlive is a non linear video editor based on the [http://www.mltframework.org MLT framework].<br />
Visit [http://kdenlive.org project site] site for more infos.<br />
<br />
== Documentation ==<br />
<br />
The [https://userbase.kde.org/Kdenlive/Manual Kdenlive User Manual].<br />
<br />
Help on writing the [http://userbase.kde.org/Kdenlive/Manual Documentation].<br />
<br />
== Development ==<br />
<br />
[[Kdenlive/Development|Kdenlive Development]] page helps you to setup a development environment and start building the project.<br />
<br />
[[Kdenlive/Development/Testing|Testing Kdenlive]] <br />
<br />
[[Kdenlive/Roadmap | Roadmap]] suggest development directions, as well as [[Kdenlive/UI_Review | UI Review]]<br />
<br />
[[Kdenlive/Development/ReleaseNotes-18.12|What will land in kdenlive 18.12]]</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development&diff=81621Kdenlive/Development2018-09-16T07:49:27Z<p>Camillem: /* Selecting the branch */ update to 18.08</p>
<hr />
<div>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| Developper's mailing list]].<br />
<br />
== Pre-requisites and Supported Platforms ==<br />
<br />
Kdenlive is primarely developped on GNU/Linux. There is an effort to [[Kdenlive/Development/WindowsBuild|build Kdenlive on Microsoft Windows]], but it's still a work in progress.<br />
<br />
Supported distributions are : <br />
<br />
* Ubuntu 18.04 LTS Bionic Beaver (and derivatives)<br />
* Arch Linux<br />
<br />
Current development code (2018) requires '''Qt >= 5.7''' , KF5, and '''MLT >= 6.6.0''', which are provided as package by the supported platforms. Any distribution that provides these dependencies should be a good start.<br />
<br />
If your distro does not provide a recent MLT, you will need to compile it by yourself, see [[Kdenlive/Development/KF5|Kdenlive KF5 development page]].<br />
<br />
It is recommended to uninstall the official kdenlive package since our version will replace it. <br />
<br />
<pre><br />
sudo apt-get remove kdenlive kdenlive-data<br />
</pre><br />
<br />
== Installing dependencies ==<br />
<br />
=== Development tooling ===<br />
<br />
You will need classical development tools (like git, gcc ...) but also cmake :<br />
<pre><br />
sudo apt install build-essential git cmake extra-cmake-modules libsm-dev<br />
</pre><br />
<br />
=== KDE Frameworks 5, based on Qt5 ===<br />
<br />
On Ubuntu the following packages will pull all the necessary dependencies:<br />
<br />
<pre><br />
sudo apt install libkf5archive-dev libkf5bookmarks-dev libkf5coreaddons-dev libkf5config-dev \<br />
libkf5configwidgets-dev libkf5dbusaddons-dev libkf5kio-dev libkf5widgetsaddons-dev \<br />
libkf5notifyconfig-dev libkf5newstuff-dev libkf5xmlgui-dev libkf5declarative-dev \<br />
libkf5notifications-dev libkf5guiaddons-dev libkf5textwidgets-dev \<br />
libkf5iconthemes-dev kdoctools-dev libkf5crash-dev libkf5filemetadata-dev kio \<br />
kinit kde-runtime qtdeclarative5-dev libqt5svg5-dev qml-module-qtquick-controls<br />
</pre><br />
<br />
<div style="background:#F5F5DC">Note: on slightly older Ubuntu (<= Xenial), the libkf5kio-dev package is called kio-dev</div><br />
<br />
=== Multimedia stack ===<br />
<br />
You will also need MLT >= 6.6.0, ffmpeg and frei0r plug-ins<br />
<br />
<pre><br />
sudo apt install libmlt++-dev libmlt-dev melt frei0r-plugins ffmpeg<br />
</pre><br />
<br />
=== Dependencies for localisation ===<br />
<br />
To have kdenlive localised in a different language than EN, you should install the additional dependencies that are required by the specific script to fetch the translations: <br />
<pre><br />
sudo apt install ruby subversion gnupg2 gettext<br />
</pre><br />
<br />
== Getting the source code ==<br />
<br />
=== Cloning the git repo ===<br />
The easiest way to get Kdenlive source code is to clone the git repo:<br />
<br />
<pre><br />
git clone git://anongit.kde.org/kdenlive.git<br />
</pre><br />
<br />
=== Selecting the branch ===<br />
<br />
It is important to understand that there is currently two main branches in Kdenlive code base:<br />
<br />
* The "refactoring_timeline" branch, which is where happens most of the development effort. The code base has undergone a massive cleanup and it should be much more fun to hack on. This is the one to choose by default.<br />
* The stable branch, "Applications/18.08", which is mostly in maintenance mode: it should be of interest to you if you want to fix a small specific bug.<br />
<br />
<pre><br />
cd kdenlive<br />
git checkout refactoring_timeline<br />
</pre><br />
<br />
or<br />
<br />
<pre><br />
cd kdenlive<br />
git checkout Applications/18.08<br />
</pre><br />
<br />
== Building Kdenlive ==<br />
Create a directory for the build :<br />
<br />
<pre><br />
mkdir build<br />
cd build<br />
</pre><br />
<br />
To avoid problems with plugins and libraries, it is easier to install Kdenlive in /usr:<br />
<br />
<pre><br />
cmake .. -DKDE_INSTALL_USE_QT_SYS_PATHS=ON -DCMAKE_INSTALL_PREFIX=/usr<br />
</pre><br />
<br />
To fetch the translations of the application :<br />
<pre><br />
make fetch-translations<br />
</pre><br />
<br />
This should create a po sub-directory in your build directory. You have then to create a symbolic link to this po sub directory : <br />
<br />
<pre><br />
cd ..<br />
ln -s build/po/ po<br />
cd build/<br />
</pre><br />
<br />
Then build and install:<br />
<pre><br />
make -j5<br />
sudo make install<br />
</pre><br />
<br />
You can then start your compiled version by simple entering:<br />
<pre><br />
kdenlive<br />
</pre><br />
<br />
== Next Steps ==<br />
<br />
Now that you've got a working dev environment, you can head to [[https://phabricator.kde.org/project/profile/40/ Kdenlive's page on KDE's phabricator]]<br />
<br />
You can also get some general info on the TechBase tutorial [https://techbase.kde.org/Development/Tutorials/Building_An_Existing_Application Building An Existing Application]. You may also be interested in the other [https://techbase.kde.org/Development/Tutorials tutorials on TechBase].<br />
<br />
== IDE Setup ==<br />
Pick your favourite!<br />
<br />
=== Setting up KDevelop ===<br />
Open KDevelop and go to Project > Open/Import project<br />
Then select the CMakeLists.txt file in the kdenlive source folder. <br />
You can now start hacking on Kdenlive!<br />
<br />
=== Setting up QtCreator ===<br />
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.<br />
<br />
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.<br />
<br />
== MLT documentation ==<br />
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>.<br />
<br />
== Environment variables ==<br />
If kdenlive crashes on startup (e.g. in QtCreator) and shows a message like:<br />
kdenlive(24309) KXMLGUIClient::setXMLFile: cannot find .rc file "kdenliveui.rc" for component "kdenlive"<br />
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>.<br />
<br />
You can get more information about the paths that are checked by running kdenlive like this:<br />
strace build/src/kdenlive 2>&1 | grep kdenliveui.rc<br />
<br />
<br />
== Developer Mailing List ==<br />
The kdenlive developer mailing list archives can be found [http://mail.kde.org/pipermail/kdenlive/ here]<br />
<br />
A searchable archive of the kdenlive developer mailing list can be found [http://www.mail-archive.com/kdenlive@kde.org/ here]<br />
<br />
Information on how to subscribe can be found [https://mail.kde.org/mailman/listinfo/kdenlive here]</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development/Testing&diff=81611Kdenlive/Development/Testing2018-09-12T20:15:27Z<p>Camillem: /* Running the tests */</p>
<hr />
<div><br />
== Unit tests ==<br />
<br />
<br />
https://github.com/eranpeer/FakeIt<br />
<br />
https://github.com/catchorg/Catch2/tree/master/docs<br />
<br />
<br />
=== Running the tests ===<br />
<br />
Building Kdenlive also builds a test application in /build. To run it: <br />
<code>build/runTests</code><br />
<br />
== Continuous integration ==<br />
<br />
https://build.kde.org/<br />
<br />
== Coverity ==<br />
<br />
<br />
https://scan.coverity.com/projects/kdenlive</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development/Testing&diff=81582Kdenlive/Development/Testing2018-09-11T19:58:21Z<p>Camillem: /* Running the tests */</p>
<hr />
<div><br />
== Unit tests ==<br />
<br />
<br />
https://github.com/eranpeer/FakeIt<br />
<br />
https://github.com/catchorg/Catch2/tree/master/docs<br />
<br />
<br />
=== Running the tests ===<br />
<br />
Building Kdenlive also builds a test application in /build. To run it: <br />
<code>build/runTests/</code><br />
<br />
== Continuous integration ==<br />
<br />
https://build.kde.org/<br />
<br />
== Coverity ==<br />
<br />
<br />
https://scan.coverity.com/projects/kdenlive</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development/Testing&diff=81581Kdenlive/Development/Testing2018-09-11T19:58:03Z<p>Camillem: /* Continuous integration */</p>
<hr />
<div><br />
== Unit tests ==<br />
<br />
<br />
https://github.com/eranpeer/FakeIt<br />
<br />
https://github.com/catchorg/Catch2/tree/master/docs<br />
<br />
<br />
=== Running the tests ===<br />
<br />
Building Kdenlive also builds a test application in /build. To run it: <br />
<code>build/runTests/<code><br />
<br />
== Continuous integration ==<br />
<br />
https://build.kde.org/<br />
<br />
== Coverity ==<br />
<br />
<br />
https://scan.coverity.com/projects/kdenlive</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development&diff=81580Kdenlive/Development2018-09-11T19:01:54Z<p>Camillem: /* KDE Frameworks 5, based on Qt5 */ removing trailing space</p>
<hr />
<div>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| Developper's mailing list]].<br />
<br />
== Pre-requisites and Supported Platforms ==<br />
<br />
Kdenlive is primarely developped on GNU/Linux. There is an effort to [[Kdenlive/Development/WindowsBuild|build Kdenlive on Microsoft Windows]], but it's still a work in progress.<br />
<br />
Supported distributions are : <br />
<br />
* Ubuntu 18.04 LTS Bionic Beaver (and derivatives)<br />
* Arch Linux<br />
<br />
Current development code (2018) requires '''Qt >= 5.7''' , KF5, and '''MLT >= 6.6.0''', which are provided as package by the supported platforms. Any distribution that provides these dependencies should be a good start.<br />
<br />
If your distro does not provide a recent MLT, you will need to compile it by yourself, see [[Kdenlive/Development/KF5|Kdenlive KF5 development page]].<br />
<br />
It is recommended to uninstall the official kdenlive package since our version will replace it. <br />
<br />
<pre><br />
sudo apt-get remove kdenlive kdenlive-data<br />
</pre><br />
<br />
== Installing dependencies ==<br />
<br />
=== Development tooling ===<br />
<br />
You will need classical development tools (like git, gcc ...) but also cmake :<br />
<pre><br />
sudo apt install build-essential git cmake extra-cmake-modules libsm-dev<br />
</pre><br />
<br />
=== KDE Frameworks 5, based on Qt5 ===<br />
<br />
On Ubuntu the following packages will pull all the necessary dependencies:<br />
<br />
<pre><br />
sudo apt install libkf5archive-dev libkf5bookmarks-dev libkf5coreaddons-dev libkf5config-dev \<br />
libkf5configwidgets-dev libkf5dbusaddons-dev libkf5kio-dev libkf5widgetsaddons-dev \<br />
libkf5notifyconfig-dev libkf5newstuff-dev libkf5xmlgui-dev libkf5declarative-dev \<br />
libkf5notifications-dev libkf5guiaddons-dev libkf5textwidgets-dev \<br />
libkf5iconthemes-dev kdoctools-dev libkf5crash-dev libkf5filemetadata-dev kio \<br />
kinit kde-runtime qtdeclarative5-dev libqt5svg5-dev qml-module-qtquick-controls<br />
</pre><br />
<br />
<div style="background:#F5F5DC">Note: on slightly older Ubuntu (<= Xenial), the libkf5kio-dev package is called kio-dev</div><br />
<br />
=== Multimedia stack ===<br />
<br />
You will also need MLT >= 6.6.0, ffmpeg and frei0r plug-ins<br />
<br />
<pre><br />
sudo apt install libmlt++-dev libmlt-dev melt frei0r-plugins ffmpeg<br />
</pre><br />
<br />
=== Dependencies for localisation ===<br />
<br />
To have kdenlive localised in a different language than EN, you should install the additional dependencies that are required by the specific script to fetch the translations: <br />
<pre><br />
sudo apt install ruby subversion gnupg2 gettext<br />
</pre><br />
<br />
== Getting the source code ==<br />
<br />
=== Cloning the git repo ===<br />
The easiest way to get Kdenlive source code is to clone the git repo:<br />
<br />
<pre><br />
git clone git://anongit.kde.org/kdenlive.git<br />
</pre><br />
<br />
=== Selecting the branch ===<br />
<br />
It is important to understand that there is currently two main branches in Kdenlive code base:<br />
<br />
* The "refactoring_timeline" branch, which is where happens most of the development effort. The code base has undergone a massive cleanup and it should be much more fun to hack on. This is the one to choose by default.<br />
* The stable branch, "Applications/18.04", which is mostly in maintenance mode: it should be of interest to you if you want to fix a small specific bug.<br />
<br />
<pre><br />
cd kdenlive<br />
git checkout refactoring_timeline<br />
</pre><br />
<br />
or<br />
<br />
<pre><br />
cd kdenlive<br />
git checkout Applications/18.04<br />
</pre><br />
<br />
== Building Kdenlive ==<br />
Create a directory for the build :<br />
<br />
<pre><br />
mkdir build<br />
cd build<br />
</pre><br />
<br />
To avoid problems with plugins and libraries, it is easier to install Kdenlive in /usr:<br />
<br />
<pre><br />
cmake .. -DKDE_INSTALL_USE_QT_SYS_PATHS=ON -DCMAKE_INSTALL_PREFIX=/usr<br />
</pre><br />
<br />
To fetch the translations of the application :<br />
<pre><br />
make fetch-translations<br />
</pre><br />
<br />
This should create a po sub-directory in your build directory. You have then to create a symbolic link to this po sub directory : <br />
<br />
<pre><br />
cd ..<br />
ln -s build/po/ po<br />
cd build/<br />
</pre><br />
<br />
Then build and install:<br />
<pre><br />
make -j5<br />
sudo make install<br />
</pre><br />
<br />
You can then start your compiled version by simple entering:<br />
<pre><br />
kdenlive<br />
</pre><br />
<br />
== Next Steps ==<br />
<br />
Now that you've got a working dev environment, you can head to [[https://phabricator.kde.org/project/profile/40/ Kdenlive's page on KDE's phabricator]]<br />
<br />
You can also get some general info on the TechBase tutorial [https://techbase.kde.org/Development/Tutorials/Building_An_Existing_Application Building An Existing Application]. You may also be interested in the other [https://techbase.kde.org/Development/Tutorials tutorials on TechBase].<br />
<br />
== IDE Setup ==<br />
Pick your favourite!<br />
<br />
=== Setting up KDevelop ===<br />
Open KDevelop and go to Project > Open/Import project<br />
Then select the CMakeLists.txt file in the kdenlive source folder. <br />
You can now start hacking on Kdenlive!<br />
<br />
=== Setting up QtCreator ===<br />
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.<br />
<br />
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.<br />
<br />
== MLT documentation ==<br />
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>.<br />
<br />
== Environment variables ==<br />
If kdenlive crashes on startup (e.g. in QtCreator) and shows a message like:<br />
kdenlive(24309) KXMLGUIClient::setXMLFile: cannot find .rc file "kdenliveui.rc" for component "kdenlive"<br />
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>.<br />
<br />
You can get more information about the paths that are checked by running kdenlive like this:<br />
strace build/src/kdenlive 2>&1 | grep kdenliveui.rc<br />
<br />
<br />
== Developer Mailing List ==<br />
The kdenlive developer mailing list archives can be found [http://mail.kde.org/pipermail/kdenlive/ here]<br />
<br />
A searchable archive of the kdenlive developer mailing list can be found [http://www.mail-archive.com/kdenlive@kde.org/ here]<br />
<br />
Information on how to subscribe can be found [https://mail.kde.org/mailman/listinfo/kdenlive here]</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development/Testing&diff=80735Kdenlive/Development/Testing2018-07-09T17:34:45Z<p>Camillem: /* Unit tests */</p>
<hr />
<div><br />
== Unit tests ==<br />
<br />
<br />
https://github.com/eranpeer/FakeIt<br />
<br />
https://github.com/catchorg/Catch2/tree/master/docs<br />
<br />
<br />
=== Running the tests ===<br />
<br />
Building Kdenlive also builds a test application in /build. To run it: <br />
<code>build/runTests/<code><br />
<br />
== Continuous integration ==<br />
<br />
https://build.kde.org/</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development&diff=80734Kdenlive/Development2018-07-09T17:05:51Z<p>Camillem: /* Selecting the branch */</p>
<hr />
<div>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| Developper's mailing list]].<br />
<br />
== Pre-requisites and Supported Platforms ==<br />
<br />
Kdenlive is primarely developped on GNU/Linux. There is an effort to [[Kdenlive/Development/WindowsBuild|build Kdenlive on Microsoft Windows]], but it's still a work in progress.<br />
<br />
Supported distributions are : <br />
<br />
* Ubuntu 18.04 LTS Bionic Beaver (and derivatives)<br />
* Arch Linux<br />
<br />
Current development code (2018) requires '''Qt >= 5.7''' , KF5, and '''MLT >= 6.6.0''', which are provided as package by the supported platforms. Any distribution that provides these dependencies should be a good start.<br />
<br />
If your distro does not provide a recent MLT, you will need to compile it by yourself, see [[Kdenlive/Development/KF5|Kdenlive KF5 development page]].<br />
<br />
It is recommended to uninstall the official kdenlive package since our version will replace it. <br />
<br />
<pre><br />
sudo apt-get remove kdenlive kdenlive-data<br />
</pre><br />
<br />
== Installing dependencies ==<br />
<br />
=== Development tooling ===<br />
<br />
You will need classical development tools (like git, gcc ...) but also cmake :<br />
<pre><br />
sudo apt install build-essential git cmake extra-cmake-modules libsm-dev<br />
</pre><br />
<br />
=== KDE Frameworks 5, based on Qt5 ===<br />
<br />
On Ubuntu the following packages will pull all the necessary dependencies:<br />
<br />
<pre><br />
sudo apt install libkf5archive-dev libkf5bookmarks-dev libkf5coreaddons-dev libkf5config-dev \<br />
libkf5configwidgets-dev libkf5dbusaddons-dev libkf5kio-dev libkf5widgetsaddons-dev \<br />
libkf5notifyconfig-dev libkf5newstuff-dev libkf5xmlgui-dev libkf5declarative-dev \ <br />
libkf5notifications-dev libkf5guiaddons-dev libkf5textwidgets-dev \<br />
libkf5iconthemes-dev kdoctools-dev libkf5crash-dev libkf5filemetadata-dev kio \<br />
kinit kde-runtime qtdeclarative5-dev libqt5svg5-dev qml-module-qtquick-controls<br />
</pre><br />
<br />
<div style="background:#F5F5DC">Note: on slightly older Ubuntu (<= Xenial), the libkf5kio-dev package is called kio-dev</div><br />
<br />
=== Multimedia stack ===<br />
<br />
You will also need MLT >= 6.6.0, ffmpeg and frei0r plug-ins<br />
<br />
<pre><br />
sudo apt install libmlt++-dev libmlt-dev melt frei0r-plugins ffmpeg<br />
</pre><br />
<br />
=== Dependencies for localisation ===<br />
<br />
To have kdenlive localised in a different language than EN, you should install the additional dependencies that are required by the specific script to fetch the translations: <br />
<pre><br />
sudo apt install ruby subversion gnupg2 gettext<br />
</pre><br />
<br />
== Getting the source code ==<br />
<br />
=== Cloning the git repo ===<br />
The easiest way to get Kdenlive source code is to clone the git repo:<br />
<br />
<pre><br />
git clone git://anongit.kde.org/kdenlive.git<br />
</pre><br />
<br />
=== Selecting the branch ===<br />
<br />
It is important to understand that there is currently two main branches in Kdenlive code base:<br />
<br />
* The "refactoring_timeline" branch, which is where happens most of the development effort. The code base has undergone a massive cleanup and it should be much more fun to hack on. This is the one to choose by default.<br />
* The stable branch, "Applications/18.04", which is mostly in maintenance mode: it should be of interest to you if you want to fix a small specific bug.<br />
<br />
<pre><br />
cd kdenlive<br />
git checkout refactoring_timeline<br />
</pre><br />
<br />
or<br />
<br />
<pre><br />
cd kdenlive<br />
git checkout Applications/18.04<br />
</pre><br />
<br />
== Building Kdenlive ==<br />
Create a directory for the build :<br />
<br />
<pre><br />
mkdir build<br />
cd build<br />
</pre><br />
<br />
To avoid problems with plugins and libraries, it is easier to install Kdenlive in /usr:<br />
<br />
<pre><br />
cmake .. -DKDE_INSTALL_USE_QT_SYS_PATHS=ON -DCMAKE_INSTALL_PREFIX=/usr<br />
</pre><br />
<br />
To fetch the translations of the application :<br />
<pre><br />
make fetch-translations<br />
</pre><br />
<br />
This should create a po sub-directory in your build directory. You have then to create a symbolic link to this po sub directory : <br />
<br />
<pre><br />
cd ..<br />
ln -s build/po/ po<br />
cd build/<br />
</pre><br />
<br />
Then build and install:<br />
<pre><br />
make -j5<br />
sudo make install<br />
</pre><br />
<br />
You can then start your compiled version by simple entering:<br />
<pre><br />
kdenlive<br />
</pre><br />
<br />
== Next Steps ==<br />
<br />
Now that you've got a working dev environment, you can head to [[https://phabricator.kde.org/project/profile/40/ Kdenlive's page on KDE's phabricator]]<br />
<br />
You can also get some general info on the TechBase tutorial [https://techbase.kde.org/Development/Tutorials/Building_An_Existing_Application Building An Existing Application]. You may also be interested in the other [https://techbase.kde.org/Development/Tutorials tutorials on TechBase].<br />
<br />
== IDE Setup ==<br />
Pick your favourite!<br />
<br />
=== Setting up KDevelop ===<br />
Open KDevelop and go to Project > Open/Import project<br />
Then select the CMakeLists.txt file in the kdenlive source folder. <br />
You can now start hacking on Kdenlive!<br />
<br />
=== Setting up QtCreator ===<br />
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.<br />
<br />
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.<br />
<br />
== MLT documentation ==<br />
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>.<br />
<br />
== Environment variables ==<br />
If kdenlive crashes on startup (e.g. in QtCreator) and shows a message like:<br />
kdenlive(24309) KXMLGUIClient::setXMLFile: cannot find .rc file "kdenliveui.rc" for component "kdenlive"<br />
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>.<br />
<br />
You can get more information about the paths that are checked by running kdenlive like this:<br />
strace build/src/kdenlive 2>&1 | grep kdenliveui.rc<br />
<br />
<br />
== Developer Mailing List ==<br />
The kdenlive developer mailing list archives can be found [http://mail.kde.org/pipermail/kdenlive/ here]<br />
<br />
A searchable archive of the kdenlive developer mailing list can be found [http://www.mail-archive.com/kdenlive@kde.org/ here]<br />
<br />
Information on how to subscribe can be found [https://mail.kde.org/mailman/listinfo/kdenlive here]</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development/Testing&diff=80702Kdenlive/Development/Testing2018-07-08T19:02:20Z<p>Camillem: /* Unit tests */</p>
<hr />
<div><br />
== Unit tests ==<br />
<br />
<br />
https://github.com/eranpeer/FakeIt<br />
<br />
https://github.com/catchorg/Catch2/tree/master/docs<br />
<br />
== Continuous integration ==<br />
<br />
https://build.kde.org/</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development/Testing&diff=80700Kdenlive/Development/Testing2018-07-08T16:12:41Z<p>Camillem: Created page with " == Unit tests == == Continuous integration == https://build.kde.org/"</p>
<hr />
<div><br />
== Unit tests ==<br />
<br />
<br />
<br />
== Continuous integration ==<br />
<br />
https://build.kde.org/</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive&diff=80699Kdenlive2018-07-08T16:01:13Z<p>Camillem: /* Development */</p>
<hr />
<div>Kdenlive is a non linear video editor based on the [http://www.mltframework.org MLT framework].<br />
Visit [http://kdenlive.org project site] site for more infos.<br />
<br />
== Documentation ==<br />
<br />
The [https://userbase.kde.org/Kdenlive/Manual Kdenlive User Manual].<br />
<br />
Help on writing the [http://userbase.kde.org/Kdenlive/Manual Documentation].<br />
<br />
== Development ==<br />
<br />
[[Kdenlive/Development|Kdenlive Development]] page helps you to setup a development environment and start building the project.<br />
<br />
[[Kdenlive/Development/Testing|Testing Kdenlive]] <br />
<br />
[[Kdenlive/Roadmap | Roadmap]] suggest development directions, as well as [[Kdenlive/UI_Review | UI Review]]</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive&diff=80698Kdenlive2018-07-08T16:00:59Z<p>Camillem: /* Development */</p>
<hr />
<div>Kdenlive is a non linear video editor based on the [http://www.mltframework.org MLT framework].<br />
Visit [http://kdenlive.org project site] site for more infos.<br />
<br />
== Documentation ==<br />
<br />
The [https://userbase.kde.org/Kdenlive/Manual Kdenlive User Manual].<br />
<br />
Help on writing the [http://userbase.kde.org/Kdenlive/Manual Documentation].<br />
<br />
== Development ==<br />
<br />
[[Kdenlive/Development|Kdenlive Development]] page helps you to setup a development environment and start building the project.<br />
[[Kdenlive/Development/Testing|Testing Kdenlive]] <br />
<br />
[[Kdenlive/Roadmap | Roadmap]] suggest development directions, as well as [[Kdenlive/UI_Review | UI Review]]</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development/File_format&diff=80153Kdenlive/Development/File format2018-05-20T11:42:00Z<p>Camillem: Precising the version of the file format</p>
<hr />
<div>Kdenlive's project files (<code>.kdenlive</code> files) use an XML format, based on MLT's format.<br />
There is currently three file formats to be distinguised depending on the version of Kdenlive you're using, as explained in<br />
[https://kdenlive.org/en/project/kdenlive-projects/ "Kdenlive Projects" article on the Website]<br />
<br />
== Kdenlive/KF5 ("Generation 2")Project File Format==<br />
<br />
With the KF5/Qt5 version of Kdenlive, we now store all Kdenlive data through MLT's xml module.<br />
This means that all information must be stored in MLT objects like Tractor, Playlist, Producer, etc.<br />
<br />
To separate these properties from other MLT properties, we prefix them with "kdenlive:".<br />
This page lists the properties that we use in this new file format.<br />
<br />
=== Properties applied to project clips (MLT Producer object) ===<br />
<br />
*'''kdenlive:clipname'''<br />Stores the name that will be displayed for this clip in the Project Bin<br />
*'''kdenlive:folderid'''<br />Stores a string containing the id of the folder where this clip is (empty if clip is in the root folder).<br />
*'''kdenlive:zone_in'''<br />Stores the "in" point for the play zone defined for this clip<br />
*'''kdenlive:zone_out'''<br />Stores the "out" point for the play zone defined for this clip<br />
*'''kdenlive:originalurl'''<br />Stores the clip's original url. Useful to retrieve original url when a clip was proxied.<br />
*'''kdenlive:proxy'''<br />Stores the url for the proxy clip, or "-" if no proxy should be used for this clip.<br />
<br />
<br />
=== Properties applied to the Bin PLaylist (MLT Playlist object "main bin") ===<br />
<br />
*'''kdenlive:folder.xxx.yyy'''<br />This property stores the names of folders created in the Project Bin. xxx is the id of the parent folder (-1 for root) and yyy is the id for this folder. The value of this property is the name of the folder.</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development/WindowsBuild&diff=80129Kdenlive/Development/WindowsBuild2018-05-15T21:46:10Z<p>Camillem: /* Installing MXE dependencies */ adding yasm dependency</p>
<hr />
<div>Different efforts are currently being led to make building Kdenlive on Microsoft Windows possible.<br />
<br />
== Cross compiling on GNU/Linux using [http://mxe.cc/ MXE] ==<br />
<br />
You should first follow the steps necessary to build [[Kdenlive/Development#Pre-requisites_and_Supported_Platformsbuild|Kdenlive on GNU/ Linux]]. <br />
<br />
=== Getting and configuring MXE ===<br />
Then, on the level where you cloned the kdenlive repository, you should clone a special version of MXE (M cross environment):<br />
<pre><br />
git clone https://github.com/vpinon/mxe.git<br />
</pre><br />
Then create a settings.mk file with the following command (copy/paste the whole block)<br />
<pre><br />
cat >mxe/settings.mk <<EOF<br />
MXE_TARGETS := x86_64-w64-mingw32.shared.posix<br />
override MXE_PLUGIN_DIRS += plugins/multimedia plugins/kdeframeworks plugins/apps<br />
kdenlive_SOURCE_TREE := $PWD/kdenlive<br />
EOF</pre><br />
=== Installing MXE dependencies ===<br />
<br />
MXE requires the following dependecies (many of which should already be on your system, since you built the GNU/Linux version): <br />
<br />
<pre><br />
sudo apt install \<br />
autoconf \<br />
automake \<br />
autopoint \<br />
bash \<br />
bison \<br />
bzip2 \<br />
flex \<br />
g++ \<br />
g++-multilib \<br />
gettext \<br />
git \<br />
gperf \<br />
intltool \<br />
libc6-dev-i386 \<br />
libgdk-pixbuf2.0-dev \<br />
libltdl-dev \<br />
libssl-dev \<br />
libtool-bin \<br />
libxml-parser-perl \<br />
make \<br />
openssl \<br />
p7zip-full \<br />
patch \<br />
perl \<br />
pkg-config \<br />
python \<br />
ruby \<br />
scons \<br />
sed \<br />
unzip \<br />
wget \<br />
yasm \<br />
xz-utils<br />
</pre><br />
<br />
=== Building kdenlive with MXE ===<br />
<pre><br />
cd mxe<br />
make kdenlive<br />
make gdb #for debugging<br />
plugins/apps/deploy_kdenlive.sh<br />
</pre><br />
<br />
=== Debugging ===<br />
In case of crash, look for kdenlive PID in the task manager, start gdb:<br />
<pre><br />
gdb<br />
</pre><br />
And in gdb:<br />
(gdb)attach ''<i>PID</i>''<br />
<br />
== Porting the [https://www.mltframework.org/ MLT framework] to CMake ==<br />
<br />
To be able to compile Kdenlive with MSVC (Microsoft Visual C++ compiler and libraries toolset). (Elie).</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive&diff=80105Kdenlive2018-05-12T07:53:47Z<p>Camillem: /* Development */</p>
<hr />
<div>Kdenlive is a non linear video editor based on the [http://www.mltframework.org MLT framework].<br />
Visit [http://kdenlive.org project site] site for more infos.<br />
<br />
== Documentation ==<br />
<br />
The [https://userbase.kde.org/Kdenlive/Manual Kdenlive User Manual].<br />
<br />
Help on writing the [http://userbase.kde.org/Kdenlive/Manual Documentation].<br />
<br />
== Development ==<br />
<br />
[[Kdenlive/Development|Kdenlive Development]] page helps you to setup a development environment and start building the project.<br />
<br />
[[Kdenlive/Roadmap | Roadmap]] suggest development directions, as well as [[Kdenlive/UI_Review | UI Review]]</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development/WindowsBuild&diff=80088Kdenlive/Development/WindowsBuild2018-05-09T19:03:07Z<p>Camillem: </p>
<hr />
<div>Different efforts are currently being led to make building Kdenlive on Microsoft Windows possible.<br />
<br />
== Cross compiling on GNU/Linux using [http://mxe.cc/ MXE] ==<br />
<br />
You should first follow the steps necessary to build [[Kdenlive/Development#Pre-requisites_and_Supported_Platformsbuild|Kdenlive on GNU/ Linux]]. <br />
<br />
=== Getting and configuring MXE ===<br />
Then, on the level where you cloned the kdenlive repository, you should clone a special version of MXE (M cross environment):<br />
<pre><br />
git clone https://github.com/vpinon/mxe.git<br />
</pre><br />
Then create a settings.mk file with the following command (copy/paste the whole block)<br />
<pre><br />
cat >mxe/settings.mk <<EOF<br />
MXE_TARGETS := x86_64-w64-mingw32.shared.posix<br />
override MXE_PLUGIN_DIRS += plugins/multimedia plugins/kdeframeworks plugins/apps<br />
kdenlive_SOURCE_TREE := $PWD/kdenlive<br />
EOF</pre><br />
=== Installing MXE dependencies ===<br />
<br />
MXE requires the following dependecies (many of which should already be on your system, since you built the GNU/Linux version): <br />
<br />
<pre><br />
sudo apt install \<br />
autoconf \<br />
automake \<br />
autopoint \<br />
bash \<br />
bison \<br />
bzip2 \<br />
flex \<br />
g++ \<br />
g++-multilib \<br />
gettext \<br />
git \<br />
gperf \<br />
intltool \<br />
libc6-dev-i386 \<br />
libgdk-pixbuf2.0-dev \<br />
libltdl-dev \<br />
libssl-dev \<br />
libtool-bin \<br />
libxml-parser-perl \<br />
make \<br />
openssl \<br />
p7zip-full \<br />
patch \<br />
perl \<br />
pkg-config \<br />
python \<br />
ruby \<br />
scons \<br />
sed \<br />
unzip \<br />
wget \<br />
xz-utils<br />
</pre><br />
<br />
=== Building kdenlive with MXE ===<br />
<pre><br />
cd mxe<br />
make kdenlive<br />
make gdb #for debugging<br />
plugins/apps/deploy_kdenlive.sh<br />
</pre><br />
<br />
=== Debugging ===<br />
In case of crash, look for kdenlive PID in the task manager, start gdb:<br />
<pre><br />
gdb<br />
</pre><br />
And in gdb:<br />
(gdb)attach ''<i>PID</i>''<br />
<br />
== Porting the [https://www.mltframework.org/ MLT framework] to CMake ==<br />
<br />
To be able to compile Kdenlive with MSVC (Microsoft Visual C++ compiler and libraries toolset). (Elie).</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development/WindowsBuild&diff=80087Kdenlive/Development/WindowsBuild2018-05-09T18:50:33Z<p>Camillem: /* Debugging */</p>
<hr />
<div>Different efforts are currently being led to make building Kdenlive on Microsoft Windows possible.<br />
<br />
== Cross compiling on GNU/Linux using [http://mxe.cc/ MXE] ==<br />
<br />
You should first follow the steps necessary to build [[Kdenlive/Development#Pre-requisites_and_Supported_Platformsbuild|Kdenlive on GNU/ Linux]]. <br />
<br />
=== Getting and configuring MXE ===<br />
Then, on the level where you cloned the kdenlive repository, you should clone a special version of MXE (M cross environment):<br />
<pre><br />
git clone https://github.com/vpinon/mxe.git<br />
</pre><br />
Then create a settings.mk file with the following command (copy/paste the whole block)<br />
<pre><br />
cat >mxe/settings.mk <<EOF<br />
MXE_TARGETS := x86_64-w64-mingw32.shared.posix<br />
override MXE_PLUGIN_DIRS += plugins/multimedia plugins/kdeframeworks plugins/apps<br />
kdenlive_SOURCE_TREE := $PWD/kdenlive<br />
EOF</pre><br />
=== Installing MXE dependencies ===<br />
<br />
MXE requires the following dependecies (many of which should already be on your system, since you built the GNU/Linux version): <br />
<br />
<pre><br />
sudo apt install \<br />
autoconf \<br />
automake \<br />
autopoint \<br />
bash \<br />
bison \<br />
bzip2 \<br />
flex \<br />
g++ \<br />
g++-multilib \<br />
gettext \<br />
git \<br />
gperf \<br />
intltool \<br />
libc6-dev-i386 \<br />
libgdk-pixbuf2.0-dev \<br />
libltdl-dev \<br />
libssl-dev \<br />
libtool-bin \<br />
libxml-parser-perl \<br />
make \<br />
openssl \<br />
p7zip-full \<br />
patch \<br />
perl \<br />
pkg-config \<br />
python \<br />
ruby \<br />
scons \<br />
sed \<br />
unzip \<br />
wget \<br />
xz-utils<br />
</pre><br />
<br />
=== Building kdenlive with MXE ===<br />
<pre><br />
cd mxe<br />
make kdenlive<br />
</pre><br />
=== Debugging ===<br />
<pre><br />
make gdb <br />
</pre><br />
<br />
In case of crash, look for kdenlive PID in the task manager, start gdb:<br />
<pre><br />
gdb<br />
</pre><br />
And in gdb:<br />
(gdb)attach ''<i>PID</i>'' plugins/apps/deploy_kdenlive.sh<br />
<br />
== Porting the [https://www.mltframework.org/ MLT framework] to CMake ==<br />
<br />
To be able to compile Kdenlive with MSVC (Microsoft Visual C++ compiler and libraries toolset). (Elie).</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development/WindowsBuild&diff=80086Kdenlive/Development/WindowsBuild2018-05-09T18:50:16Z<p>Camillem: /* Debugging */</p>
<hr />
<div>Different efforts are currently being led to make building Kdenlive on Microsoft Windows possible.<br />
<br />
== Cross compiling on GNU/Linux using [http://mxe.cc/ MXE] ==<br />
<br />
You should first follow the steps necessary to build [[Kdenlive/Development#Pre-requisites_and_Supported_Platformsbuild|Kdenlive on GNU/ Linux]]. <br />
<br />
=== Getting and configuring MXE ===<br />
Then, on the level where you cloned the kdenlive repository, you should clone a special version of MXE (M cross environment):<br />
<pre><br />
git clone https://github.com/vpinon/mxe.git<br />
</pre><br />
Then create a settings.mk file with the following command (copy/paste the whole block)<br />
<pre><br />
cat >mxe/settings.mk <<EOF<br />
MXE_TARGETS := x86_64-w64-mingw32.shared.posix<br />
override MXE_PLUGIN_DIRS += plugins/multimedia plugins/kdeframeworks plugins/apps<br />
kdenlive_SOURCE_TREE := $PWD/kdenlive<br />
EOF</pre><br />
=== Installing MXE dependencies ===<br />
<br />
MXE requires the following dependecies (many of which should already be on your system, since you built the GNU/Linux version): <br />
<br />
<pre><br />
sudo apt install \<br />
autoconf \<br />
automake \<br />
autopoint \<br />
bash \<br />
bison \<br />
bzip2 \<br />
flex \<br />
g++ \<br />
g++-multilib \<br />
gettext \<br />
git \<br />
gperf \<br />
intltool \<br />
libc6-dev-i386 \<br />
libgdk-pixbuf2.0-dev \<br />
libltdl-dev \<br />
libssl-dev \<br />
libtool-bin \<br />
libxml-parser-perl \<br />
make \<br />
openssl \<br />
p7zip-full \<br />
patch \<br />
perl \<br />
pkg-config \<br />
python \<br />
ruby \<br />
scons \<br />
sed \<br />
unzip \<br />
wget \<br />
xz-utils<br />
</pre><br />
<br />
=== Building kdenlive with MXE ===<br />
<pre><br />
cd mxe<br />
make kdenlive<br />
</pre><br />
=== Debugging ===<br />
<pre><br />
make gdb <br />
</pre><br />
<br />
In case of crash, look for kdenlive PID in the task manager, start gdb:<br />
<pre> <br />
gdb<br />
</pre><br />
And in gdb:<br />
(gdb)attach ''<i>PID</i>'' plugins/apps/deploy_kdenlive.sh<br />
<br />
== Porting the [https://www.mltframework.org/ MLT framework] to CMake ==<br />
<br />
To be able to compile Kdenlive with MSVC (Microsoft Visual C++ compiler and libraries toolset). (Elie).</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development/WindowsBuild&diff=80085Kdenlive/Development/WindowsBuild2018-05-09T18:43:49Z<p>Camillem: /* Debugging */</p>
<hr />
<div>Different efforts are currently being led to make building Kdenlive on Microsoft Windows possible.<br />
<br />
== Cross compiling on GNU/Linux using [http://mxe.cc/ MXE] ==<br />
<br />
You should first follow the steps necessary to build [[Kdenlive/Development#Pre-requisites_and_Supported_Platformsbuild|Kdenlive on GNU/ Linux]]. <br />
<br />
=== Getting and configuring MXE ===<br />
Then, on the level where you cloned the kdenlive repository, you should clone a special version of MXE (M cross environment):<br />
<pre><br />
git clone https://github.com/vpinon/mxe.git<br />
</pre><br />
Then create a settings.mk file with the following command (copy/paste the whole block)<br />
<pre><br />
cat >mxe/settings.mk <<EOF<br />
MXE_TARGETS := x86_64-w64-mingw32.shared.posix<br />
override MXE_PLUGIN_DIRS += plugins/multimedia plugins/kdeframeworks plugins/apps<br />
kdenlive_SOURCE_TREE := $PWD/kdenlive<br />
EOF</pre><br />
=== Installing MXE dependencies ===<br />
<br />
MXE requires the following dependecies (many of which should already be on your system, since you built the GNU/Linux version): <br />
<br />
<pre><br />
sudo apt install \<br />
autoconf \<br />
automake \<br />
autopoint \<br />
bash \<br />
bison \<br />
bzip2 \<br />
flex \<br />
g++ \<br />
g++-multilib \<br />
gettext \<br />
git \<br />
gperf \<br />
intltool \<br />
libc6-dev-i386 \<br />
libgdk-pixbuf2.0-dev \<br />
libltdl-dev \<br />
libssl-dev \<br />
libtool-bin \<br />
libxml-parser-perl \<br />
make \<br />
openssl \<br />
p7zip-full \<br />
patch \<br />
perl \<br />
pkg-config \<br />
python \<br />
ruby \<br />
scons \<br />
sed \<br />
unzip \<br />
wget \<br />
xz-utils<br />
</pre><br />
<br />
=== Building kdenlive with MXE ===<br />
<pre><br />
cd mxe<br />
make kdenlive<br />
</pre><br />
=== Debugging ===<br />
<pre><br />
make gdb <br />
</pre><br />
<br />
In case of crash, look for kdenlive PID in the task manager, start gdb, run <br />
<pre><br />
attach ''<i>PID</i>'' plugins/apps/deploy_kdenlive.sh<br />
</pre><br />
<br />
== Porting the [https://www.mltframework.org/ MLT framework] to CMake ==<br />
<br />
To be able to compile Kdenlive with MSVC (Microsoft Visual C++ compiler and libraries toolset). (Elie).</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development/WindowsBuild&diff=80084Kdenlive/Development/WindowsBuild2018-05-09T18:43:25Z<p>Camillem: /* Building kdenlive with MXE */</p>
<hr />
<div>Different efforts are currently being led to make building Kdenlive on Microsoft Windows possible.<br />
<br />
== Cross compiling on GNU/Linux using [http://mxe.cc/ MXE] ==<br />
<br />
You should first follow the steps necessary to build [[Kdenlive/Development#Pre-requisites_and_Supported_Platformsbuild|Kdenlive on GNU/ Linux]]. <br />
<br />
=== Getting and configuring MXE ===<br />
Then, on the level where you cloned the kdenlive repository, you should clone a special version of MXE (M cross environment):<br />
<pre><br />
git clone https://github.com/vpinon/mxe.git<br />
</pre><br />
Then create a settings.mk file with the following command (copy/paste the whole block)<br />
<pre><br />
cat >mxe/settings.mk <<EOF<br />
MXE_TARGETS := x86_64-w64-mingw32.shared.posix<br />
override MXE_PLUGIN_DIRS += plugins/multimedia plugins/kdeframeworks plugins/apps<br />
kdenlive_SOURCE_TREE := $PWD/kdenlive<br />
EOF</pre><br />
=== Installing MXE dependencies ===<br />
<br />
MXE requires the following dependecies (many of which should already be on your system, since you built the GNU/Linux version): <br />
<br />
<pre><br />
sudo apt install \<br />
autoconf \<br />
automake \<br />
autopoint \<br />
bash \<br />
bison \<br />
bzip2 \<br />
flex \<br />
g++ \<br />
g++-multilib \<br />
gettext \<br />
git \<br />
gperf \<br />
intltool \<br />
libc6-dev-i386 \<br />
libgdk-pixbuf2.0-dev \<br />
libltdl-dev \<br />
libssl-dev \<br />
libtool-bin \<br />
libxml-parser-perl \<br />
make \<br />
openssl \<br />
p7zip-full \<br />
patch \<br />
perl \<br />
pkg-config \<br />
python \<br />
ruby \<br />
scons \<br />
sed \<br />
unzip \<br />
wget \<br />
xz-utils<br />
</pre><br />
<br />
=== Building kdenlive with MXE ===<br />
<pre><br />
cd mxe<br />
make kdenlive<br />
</pre><br />
=== Debugging ===<br />
<pre><br />
make gdb <br />
</pre><br />
<br />
In case of crash, look for kdenlive PID in the task manager, start gdb, run "<br />
attach ''<i>PID</i>'' plugins/apps/deploy_kdenlive.sh<br />
</pre><br />
<br />
== Porting the [https://www.mltframework.org/ MLT framework] to CMake ==<br />
<br />
To be able to compile Kdenlive with MSVC (Microsoft Visual C++ compiler and libraries toolset). (Elie).</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development/WindowsBuild&diff=80083Kdenlive/Development/WindowsBuild2018-05-09T18:34:43Z<p>Camillem: /* Installing MXE dependencies */</p>
<hr />
<div>Different efforts are currently being led to make building Kdenlive on Microsoft Windows possible.<br />
<br />
== Cross compiling on GNU/Linux using [http://mxe.cc/ MXE] ==<br />
<br />
You should first follow the steps necessary to build [[Kdenlive/Development#Pre-requisites_and_Supported_Platformsbuild|Kdenlive on GNU/ Linux]]. <br />
<br />
=== Getting and configuring MXE ===<br />
Then, on the level where you cloned the kdenlive repository, you should clone a special version of MXE (M cross environment):<br />
<pre><br />
git clone https://github.com/vpinon/mxe.git<br />
</pre><br />
Then create a settings.mk file with the following command (copy/paste the whole block)<br />
<pre><br />
cat >mxe/settings.mk <<EOF<br />
MXE_TARGETS := x86_64-w64-mingw32.shared.posix<br />
override MXE_PLUGIN_DIRS += plugins/multimedia plugins/kdeframeworks plugins/apps<br />
kdenlive_SOURCE_TREE := $PWD/kdenlive<br />
EOF</pre><br />
=== Installing MXE dependencies ===<br />
<br />
MXE requires the following dependecies (many of which should already be on your system, since you built the GNU/Linux version): <br />
<br />
<pre><br />
sudo apt install \<br />
autoconf \<br />
automake \<br />
autopoint \<br />
bash \<br />
bison \<br />
bzip2 \<br />
flex \<br />
g++ \<br />
g++-multilib \<br />
gettext \<br />
git \<br />
gperf \<br />
intltool \<br />
libc6-dev-i386 \<br />
libgdk-pixbuf2.0-dev \<br />
libltdl-dev \<br />
libssl-dev \<br />
libtool-bin \<br />
libxml-parser-perl \<br />
make \<br />
openssl \<br />
p7zip-full \<br />
patch \<br />
perl \<br />
pkg-config \<br />
python \<br />
ruby \<br />
scons \<br />
sed \<br />
unzip \<br />
wget \<br />
xz-utils<br />
</pre><br />
<br />
=== Building kdenlive with MXE ===<br />
<pre><br />
cd mxe<br />
make kdenlive<br />
</pre><br />
<br />
<pre><br />
make gdb <br />
</pre><br />
Useful in case of crash: look for kdenlive PID in task manager, start gdb, run "<br />
attach ''PID''" plugins/apps/deploy_kdenlive.sh<br />
</pre><br />
<br />
== Porting the [https://www.mltframework.org/ MLT framework] to CMake ==<br />
<br />
To be able to compile Kdenlive with MSVC (Microsoft Visual C++ compiler and libraries toolset). (Elie).</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development/WindowsBuild&diff=80082Kdenlive/Development/WindowsBuild2018-05-09T18:29:39Z<p>Camillem: /* Cross compiling on GNU/Linux using MXE */</p>
<hr />
<div>Different efforts are currently being led to make building Kdenlive on Microsoft Windows possible.<br />
<br />
== Cross compiling on GNU/Linux using [http://mxe.cc/ MXE] ==<br />
<br />
You should first follow the steps necessary to build [[Kdenlive/Development#Pre-requisites_and_Supported_Platformsbuild|Kdenlive on GNU/ Linux]]. <br />
<br />
=== Getting and configuring MXE ===<br />
Then, on the level where you cloned the kdenlive repository, you should clone a special version of MXE (M cross environment):<br />
<pre><br />
git clone https://github.com/vpinon/mxe.git<br />
</pre><br />
Then create a settings.mk file with the following command (copy/paste the whole block)<br />
<pre><br />
cat >mxe/settings.mk <<EOF<br />
MXE_TARGETS := x86_64-w64-mingw32.shared.posix<br />
override MXE_PLUGIN_DIRS += plugins/multimedia plugins/kdeframeworks plugins/apps<br />
kdenlive_SOURCE_TREE := $PWD/kdenlive<br />
EOF</pre><br />
=== Installing MXE dependencies ===<br />
<br />
MXE requires the following dependecies (many of which should already be on your system, since you built the GNU/Linux version): <br />
<br />
<pre><br />
sudo apt install \<br />
autoconf \<br />
automake \<br />
autopoint \<br />
bash \<br />
bison \<br />
bzip2 \<br />
flex \<br />
g++ \<br />
g++-multilib \<br />
gettext \<br />
git \<br />
gperf \<br />
intltool \<br />
libc6-dev-i386 \<br />
libgdk-pixbuf2.0-dev \<br />
libltdl-dev \<br />
libssl-dev \<br />
libtool-bin \<br />
libxml-parser-perl \<br />
make \<br />
openssl \<br />
p7zip-full \<br />
patch \<br />
perl \<br />
pkg-config \<br />
python \<br />
ruby \<br />
scons \<br />
sed \<br />
unzip \<br />
wget \<br />
xz-utils<br />
</pre><br />
<br />
<br />
<pre><br />
cd mxe<br />
make kdenlive<br />
make gdb # useful in case of crash: look for kdenlive PID in task manager, start gdb, run "attach ''PID''"<br />
plugins/apps/deploy_kdenlive.sh<br />
</pre><br />
<br />
== Porting the [https://www.mltframework.org/ MLT framework] to CMake ==<br />
<br />
To be able to compile Kdenlive with MSVC (Microsoft Visual C++ compiler and libraries toolset). (Elie).</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development/WindowsBuild&diff=80081Kdenlive/Development/WindowsBuild2018-05-09T18:28:51Z<p>Camillem: /* Installing specific dependencies */</p>
<hr />
<div>Different efforts are currently being led to make building Kdenlive on Microsoft Windows possible.<br />
<br />
== Cross compiling on GNU/Linux using [http://mxe.cc/ MXE] ==<br />
<br />
You should first follow the steps necessary to build [[Kdenlive/Development#Pre-requisites_and_Supported_Platformsbuild|Kdenlive on GNU/ Linux]]. Then, on the level where you cloned the kdenlive repository, you should clone a special version of MXE (M cross environment):<br />
<pre><br />
git clone https://github.com/vpinon/mxe.git<br />
</pre><br />
Then create a settings.mk file with the following command (copy/paste the whole block)<br />
<pre><br />
cat >mxe/settings.mk <<EOF<br />
MXE_TARGETS := x86_64-w64-mingw32.shared.posix<br />
override MXE_PLUGIN_DIRS += plugins/multimedia plugins/kdeframeworks plugins/apps<br />
kdenlive_SOURCE_TREE := $PWD/kdenlive<br />
EOF</pre><br />
=== Installing MXE dependencies ===<br />
<br />
MXE requires the following dependecies (many of which should already be on your system, since you built the GNU/Linux version): <br />
<br />
<pre><br />
sudo apt install \<br />
autoconf \<br />
automake \<br />
autopoint \<br />
bash \<br />
bison \<br />
bzip2 \<br />
flex \<br />
g++ \<br />
g++-multilib \<br />
gettext \<br />
git \<br />
gperf \<br />
intltool \<br />
libc6-dev-i386 \<br />
libgdk-pixbuf2.0-dev \<br />
libltdl-dev \<br />
libssl-dev \<br />
libtool-bin \<br />
libxml-parser-perl \<br />
make \<br />
openssl \<br />
p7zip-full \<br />
patch \<br />
perl \<br />
pkg-config \<br />
python \<br />
ruby \<br />
scons \<br />
sed \<br />
unzip \<br />
wget \<br />
xz-utils<br />
</pre><br />
<br />
<br />
<pre><br />
cd mxe<br />
make kdenlive<br />
make gdb # useful in case of crash: look for kdenlive PID in task manager, start gdb, run "attach ''PID''"<br />
plugins/apps/deploy_kdenlive.sh<br />
</pre><br />
<br />
== Porting the [https://www.mltframework.org/ MLT framework] to CMake ==<br />
<br />
To be able to compile Kdenlive with MSVC (Microsoft Visual C++ compiler and libraries toolset). (Elie).</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development/WindowsBuild&diff=80080Kdenlive/Development/WindowsBuild2018-05-09T18:26:29Z<p>Camillem: /* Cross compiling on GNU/Linux using MXE */</p>
<hr />
<div>Different efforts are currently being led to make building Kdenlive on Microsoft Windows possible.<br />
<br />
== Cross compiling on GNU/Linux using [http://mxe.cc/ MXE] ==<br />
<br />
You should first follow the steps necessary to build [[Kdenlive/Development#Pre-requisites_and_Supported_Platformsbuild|Kdenlive on GNU/ Linux]]. Then, on the level where you cloned the kdenlive repository, you should clone a special version of MXE (M cross environment):<br />
<pre><br />
git clone https://github.com/vpinon/mxe.git<br />
</pre><br />
Then create a settings.mk file with the following command (copy/paste the whole block)<br />
<pre><br />
cat >mxe/settings.mk <<EOF<br />
MXE_TARGETS := x86_64-w64-mingw32.shared.posix<br />
override MXE_PLUGIN_DIRS += plugins/multimedia plugins/kdeframeworks plugins/apps<br />
kdenlive_SOURCE_TREE := $PWD/kdenlive<br />
EOF</pre><br />
=== Installing specific dependencies ===<br />
<pre><br />
sudo apt install \<br />
autoconf \<br />
automake \<br />
autopoint \<br />
bash \<br />
bison \<br />
bzip2 \<br />
flex \<br />
g++ \<br />
g++-multilib \<br />
gettext \<br />
git \<br />
gperf \<br />
intltool \<br />
libc6-dev-i386 \<br />
libgdk-pixbuf2.0-dev \<br />
libltdl-dev \<br />
libssl-dev \<br />
libtool-bin \<br />
libxml-parser-perl \<br />
make \<br />
openssl \<br />
p7zip-full \<br />
patch \<br />
perl \<br />
pkg-config \<br />
python \<br />
ruby \<br />
scons \<br />
sed \<br />
unzip \<br />
wget \<br />
xz-utils<br />
</pre><br />
<br />
<br />
<pre><br />
cd mxe<br />
make kdenlive<br />
make gdb # useful in case of crash: look for kdenlive PID in task manager, start gdb, run "attach ''PID''"<br />
plugins/apps/deploy_kdenlive.sh<br />
</pre><br />
<br />
== Porting the [https://www.mltframework.org/ MLT framework] to CMake ==<br />
<br />
To be able to compile Kdenlive with MSVC (Microsoft Visual C++ compiler and libraries toolset). (Elie).</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development/WindowsBuild&diff=80079Kdenlive/Development/WindowsBuild2018-05-09T18:20:35Z<p>Camillem: /* Cross compiling on GNU/Linux using MXE */</p>
<hr />
<div>Different efforts are currently being led to make building Kdenlive on Microsoft Windows possible.<br />
<br />
== Cross compiling on GNU/Linux using [http://mxe.cc/ MXE] ==<br />
<br />
You should first follow the steps necessary to build [[Kdenlive/Development#Pre-requisites_and_Supported_Platformsbuild|Kdenlive on GNU/ Linux]]. Then, on the level where you cloned the kdenlive repository, you should clone a special version of MXE (M cross environment):<br />
<pre><br />
git clone https://github.com/vpinon/mxe.git<br />
</pre><br />
Then create a settings.mk file with the following command (copy/paste the whole block)<br />
<pre><br />
cat >mxe/settings.mk <<EOF<br />
MXE_TARGETS := x86_64-w64-mingw32.shared.posix<br />
override MXE_PLUGIN_DIRS += plugins/multimedia plugins/kdeframeworks plugins/apps<br />
kdenlive_SOURCE_TREE := $PWD/kdenlive<br />
EOF</pre><br />
<br />
cd mxe<br />
make kdenlive<br />
make gdb # useful in case of crash: look for kdenlive PID in task manager, start gdb, run "attach ''PID''"<br />
plugins/apps/deploy_kdenlive.sh<br />
</pre><br />
<br />
== Porting the [https://www.mltframework.org/ MLT framework] to CMake ==<br />
<br />
To be able to compile Kdenlive with MSVC (Microsoft Visual C++ compiler and libraries toolset). (Elie).</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development/WindowsBuild&diff=80078Kdenlive/Development/WindowsBuild2018-05-09T18:19:26Z<p>Camillem: /* Cross compiling on GNU/Linux using MXE */</p>
<hr />
<div>Different efforts are currently being led to make building Kdenlive on Microsoft Windows possible.<br />
<br />
== Cross compiling on GNU/Linux using [http://mxe.cc/ MXE] ==<br />
<br />
You should first follow the steps necessary to build [[Kdenlive/Development#Pre-requisites_and_Supported_Platformsbuild|Kdenlive on GNU/ Linux]]. Then, on the level where you cloned the kdenlive repository, you should clone a special version of MXE (M cross environment):<br />
<pre><br />
git clone https://github.com/vpinon/mxe.git<br />
</pre><br />
<br />
<pre><br />
cat >mxe/settings.mk <<EOF<br />
MXE_TARGETS := x86_64-w64-mingw32.shared.posix<br />
override MXE_PLUGIN_DIRS += plugins/multimedia plugins/kdeframeworks plugins/apps<br />
kdenlive_SOURCE_TREE := $PWD/kdenlive<br />
EOF</pre><br />
<br />
cd mxe<br />
make kdenlive<br />
make gdb # useful in case of crash: look for kdenlive PID in task manager, start gdb, run "attach ''PID''"<br />
plugins/apps/deploy_kdenlive.sh<br />
</pre><br />
<br />
== Porting the [https://www.mltframework.org/ MLT framework] to CMake ==<br />
<br />
To be able to compile Kdenlive with MSVC (Microsoft Visual C++ compiler and libraries toolset). (Elie).</div>Camillemhttps://community.kde.org/index.php?title=Kdenlive/Development/WindowsBuild&diff=80077Kdenlive/Development/WindowsBuild2018-05-09T18:17:52Z<p>Camillem: /* Cross compiling on GNU/Linux using MXE */</p>
<hr />
<div>Different efforts are currently being led to make building Kdenlive on Microsoft Windows possible.<br />
<br />
== Cross compiling on GNU/Linux using [http://mxe.cc/ MXE] ==<br />
<br />
You should first follow the steps necessary to build [[Kdenlive/Development#Pre-requisites_and_Supported_Platformsbuild|Kdenlive on GNU/ Linux]]. Then, on the level where you cloned the kdenlive repository, you should clone a special version of MXE (M cross environment):<br />
<pre><br />
git clone https://github.com/vpinon/mxe.git<br />
</pre><br />
<br />
<pre><br />
cat >mxe/settings.mk <<EOF<br />
MXE_TARGETS := x86_64-w64-mingw32.shared.posix<br />
override MXE_PLUGIN_DIRS += plugins/multimedia plugins/kdeframeworks plugins/apps<br />
kdenlive_SOURCE_TREE := $PWD/kdenlive<br />
EOF<br />
cd mxe<br />
make kdenlive<br />
make gdb # useful in case of crash: look for kdenlive PID in task manager, start gdb, run "attach ''PID''"<br />
plugins/apps/deploy_kdenlive.sh<br />
</pre><br />
<br />
== Porting the [https://www.mltframework.org/ MLT framework] to CMake ==<br />
<br />
To be able to compile Kdenlive with MSVC (Microsoft Visual C++ compiler and libraries toolset). (Elie).</div>Camillem