...
 
Commits (3292)

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

{
"project.name" : "Kdenlive",
"phabricator.uri" : "https://phabricator.kde.org/"
}
*~
build*
build*/
CMakeLists.txt.user*
po
doc/*/
doc/CMakeLists.txt
include:
- https://invent.kde.org/sysadmin/ci-tooling/raw/master/invent/ci-before.yml
- https://invent.kde.org/sysadmin/ci-tooling/raw/master/invent/ci-applications-linux.yml
- https://invent.kde.org/sysadmin/ci-tooling/raw/master/invent/ci-applications-freebsd.yml
Active Kdenlive authors
Vincent Pinon <vpinon@april.org>
Bugs fixing, release
2012-present
Jean-Baptiste Mardelle <jb@kdenlive.org>
MLT and KDE SC 4 porting, main developer
Main developer and maintainer, MLT and KDE SC 4 / KF5 port,
2005-present
Vincent Pinon <vpinon@kde.org>
Interim maintainer, Windows cross-build, KF5 port, profiles updates, etc.
2012-present
Former Kdenlive authors
Laurent Montel <montel@kde.org>
Bugs fixing, code clean up, review
2013-present
2013-2017
Till Theato <root@ttill.de>
Bug fixing, etc.
2010-present
2010-2015
Steve Guilford <s.guilford@dbplugins.com>
Bug fixing
2014
Former Kdenlive authors
Simon A. Eugster (Granjow) <simon.eu@gmail.com>
Colour and audio scopes, titler, manual, bug fixing, etc.
2009-2012
......
......@@ -2,18 +2,47 @@ project(Kdenlive)
# An odd patch version number means development version, while an even one means
# stable release. An additional number can be used for bugfix-only releases.
set(KDENLIVE_VERSION 0.9.10)
# KDE Application Version, managed by release script
set (KDE_APPLICATIONS_VERSION_MAJOR "19")
set (KDE_APPLICATIONS_VERSION_MINOR "03")
set (KDE_APPLICATIONS_VERSION_MICRO "70")
set(KDENLIVE_VERSION ${KDE_APPLICATIONS_VERSION_MAJOR}.${KDE_APPLICATIONS_VERSION_MINOR}.${KDE_APPLICATIONS_VERSION_MICRO})
cmake_minimum_required(VERSION 3.0)
if(POLICY CMP0063)
cmake_policy(SET CMP0063 NEW)
endif()
if (POLICY CMP0053)
cmake_policy(SET CMP0053 NEW)
endif()
# Minimum versions of main dependencies.
set(MLT_MIN_MAJOR_VERSION 0)
set(MLT_MIN_MINOR_VERSION 8)
set(MLT_MIN_PATCH_VERSION 8)
set(MLT_MIN_MAJOR_VERSION 6)
set(MLT_MIN_MINOR_VERSION 10)
set(MLT_MIN_PATCH_VERSION 0)
set(MLT_MIN_VERSION ${MLT_MIN_MAJOR_VERSION}.${MLT_MIN_MINOR_VERSION}.${MLT_MIN_PATCH_VERSION})
set(QT_MIN_VERSION 4.5.0)
set(KDE_MIN_VERSION 4.3.0)
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
set(QT_MIN_VERSION 5.6.0)
find_package(ECM 5.18.0 REQUIRED CONFIG)
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake/modules)
include(KDECompilerSettings NO_POLICY_SCOPE)
include(FeatureSummary)
include(ECMInstallIcons)
include(GenerateExportHeader)
include(KDEInstallDirs)
include(KDECMakeSettings)
include(ECMOptionalAddSubdirectory)
include(ECMMarkNonGuiExecutable)
include(ECMAddAppIcon)
include(ECMQtDeclareLoggingCategory)
add_definitions(-DQT_NO_CAST_TO_ASCII)
add_definitions(-DQT_NO_URL_CAST_FROM_STRING)
add_definitions(-DTRANSLATION_DOMAIN=\"kdenlive\")
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH})
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}")
# To be switched on when releasing.
option(RELEASE_BUILD "Remove Git revision from program version (use for stable releases)" ON)
......@@ -25,11 +54,12 @@ if(NOT RELEASE_BUILD AND EXISTS ${CMAKE_SOURCE_DIR}/.git)
if(GIT_FOUND)
exec_program(${GIT_EXECUTABLE}
${CMAKE_SOURCE_DIR}
ARGS "describe --tags"
ARGS "log -n 1 --pretty=format:\"%h\""
OUTPUT_VARIABLE KDENLIVE_GIT_REVISION
RETURN_VALUE TAG_RESULT
)
# git describe --tags failed; maybe the repository was checked with depth=1.
# git log failed; maybe the repository was checked with depth=1.
if(NOT ${TAG_RESULT} EQUAL 0)
exec_program(${GIT_EXECUTABLE}
${CMAKE_SOURCE_DIR}
......@@ -48,41 +78,69 @@ include(CheckIncludeFiles)
check_include_files(malloc.h HAVE_MALLOC_H)
check_include_files(pthread.h HAVE_PTHREAD_H)
# Search KDE and dependent packages.
find_package(KDE4 ${KDE_MIN_VERSION} REQUIRED)
include(KDE4Defaults)
include(MacroLibrary)
macro_log_feature(KDE4_FOUND
"KDELibs"
"KDE core libraries"
"http://www.kde.org"
TRUE
${KDE_MIN_VERSION}
)
# Find Qt core modules (QtCore and QtGui).
find_package(Qt4 ${QT_MIN_VERSION} REQUIRED)
find_package(Qt5 REQUIRED COMPONENTS Core DBus Widgets Svg Quick Concurrent)
find_package(Qt5 OPTIONAL_COMPONENTS WebKitWidgets QUIET)
find_package(KF5 5.23.0 OPTIONAL_COMPONENTS XmlGui QUIET)
if (KF5XmlGui_FOUND)
message(STATUS "Found KF5 >= 5.23.0 enabling icon coloring")
else()
message(STATUS "KF5 < 5.23.0 Disable icon coloring")
set(KF5_ICON_COMPATIBILITY TRUE)
endif()
find_package(KF5 REQUIRED COMPONENTS Archive Bookmarks CoreAddons Config ConfigWidgets
DBusAddons KIO WidgetsAddons NotifyConfig NewStuff XmlGui Notifications GuiAddons TextWidgets IconThemes
OPTIONAL_COMPONENTS DocTools FileMetaData Crash Purpose)
if(WIN32)
find_package(DrMinGW)
endif(WIN32)
if (KF5FileMetaData_FOUND)
message(STATUS "Found KF5 FileMetadata to extract file metadata")
set(KF5_FILEMETADATA TRUE)
else()
message(STATUS "KF5 FileMetadata not found, file metadata will not be available")
endif()
if (KF5Purpose_FOUND)
message(STATUS "Found KF5 Purpose, filesharing enabled")
set(KF5_PURPOSE TRUE)
else()
message(STATUS "KF5 Purpose not found, filesharing disabled")
endif()
# Search MLT package.
find_package(MLT ${MLT_MIN_VERSION} REQUIRED)
macro_log_feature(MLT_FOUND
"MLT"
"Multimedia framework and video playout server for TV broadcasting"
"http://mltframework.org"
TRUE
${MLT_MIN_VERSION}
)
set(MLT_PREFIX ${MLT_ROOT_DIR})
set_package_properties(MLT PROPERTIES
DESCRIPTION "Multimedia framework and video playout server for TV broadcasting"
URL "http://mltframework.org"
TYPE RUNTIME
PURPOSE "Required to do video processing")
if(NOT WIN32)
set(MLT_PREFIX ${MLT_ROOT_DIR})
else()
set(MLT_PREFIX "..")
endif()
add_subdirectory(data)
macro_optional_add_subdirectory(doc)
add_subdirectory(plugins)
macro_optional_add_subdirectory(po)
if(KF5DocTools_FOUND)
add_subdirectory(doc)
endif()
#add_subdirectory(plugins)
add_subdirectory(renderer)
add_subdirectory(src)
add_subdirectory(thumbnailer)
#add_subdirectory(testingArea)
ki18n_install(po)
if (KF5DocTools_FOUND)
kdoctools_install(po)
endif()
macro_display_feature_log()
install( FILES kdenlive.categories DESTINATION ${KDE_INSTALL_CONFDIR} )
include(GNUInstallDirs)
install( FILES AUTHORS COPYING README.md DESTINATION ${CMAKE_INSTALL_DOCDIR})
configure_file(config-kdenlive.h.cmake config-kdenlive.h @ONLY)
feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
15.08
Changes (~450 commits):
* New file format
- Can load old format but not save to it: no way back
wait a bit for big projects!
- All data are now in MLT structures
should ease exchanges with Shotcut and other editors?
* New monitor, using OpenGL & QML
- *brings back Movit* (GPU effects), but not mandatory ;)
- great *split screen* functionality to tune effect parameter
* Completely renewed bin manager (previously named project list)
- Allows *adding effects to bin clips*, affecting all timeline instances
- Free directory structure
- Icon / list / tree views
- More clip properties can be changed
- Much work to restore all old functions :\
* Effects list improvements
- improve sorting and marking item as favorite
* New audio waveform on timeline (à la Shotcut)
making information more visible
* New duplicate clip function (cool for titles)
* Propose predefined monitor zoom values
* Fixed several look issues (sizes, colors, icons...)
* Refactoring: replacing XML manipulations by MLT API calls
- reduces data duplication: faster, safer...
* Automatic builds (CI) on Linux and OSX
* Code checked by several static analyzers
* Some bugs fixed from 15.04 port (capture, effects, ...)
15.04
Changes:
* Port to KDE Frameworks 5
* Add ripple delete function
* Add stem audio export
* Make images sequences generation more convenient
* Save and restore title widget size
* Start some refactoring
* Fix warnings from compiler, static analyzers, execution...
Bug fix:
* #3407 don't copy clips if project is also on removable drive
* #3408 crash on selecting clip with grouped effects
* #3405 crash on adding 1st clip not matching project profile
* #3338 import clip keyframes
* #3160 Autosave new projects before saving
* #3415 FFmpeg recording freeze
0.9.10
Changes:
* handle VBR encoding profiles, and use it!
......
#!bin/sh
kdenlive_subdirs="plugins renderer src src/ui"
kdenlive_subdirs="plugins renderer data src src/ui"
$EXTRACTRC --tag=name --tag=description --tag=label --tag=comment --tag=paramlistdisplay effects/*.xml data/kdenliveeffectscategory.rc >> rc.cpp
$EXTRACTRC `find $kdenlive_subdirs -name \*.rc -a ! -name encodingprofiles.rc -o -name \*.ui` >> rc.cpp
$EXTRACTRC --tag=name --tag=description --tag=label --tag=comment --tag=paramlistdisplay data/effects/*.xml data/kdenliveeffectscategory.rc >> rc.cpp
$EXTRACTRC `find $kdenlive_subdirs -name \*.rc -a ! -name encodingprofiles.rc -a ! -name camcorderfilters.rc -o -name \*.ui` >> rc.cpp
$XGETTEXT `find $kdenlive_subdirs -name \*.cpp -o -name \*.h` *.cpp -o $podir/kdenlive.pot
rm -f rc.cpp
About Kdenlive
==============
Kdenlive is a video editing application,
based on MLT Framework and KDE Platform 4.
Please check the project page for more information:
http://kdenlive.org
Building from source
====================
You will first need to install development headers dependencies
from your system (mainly KDE and MLT).
Then in the directory where you extracted the source archive
(with custom /install/path):
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/install/path
make -j4
sudo make install
and then run
/install/path/bin/kdenlive
Alternately, to get kdenlive with an up-to-date multimedia stack
(isolated from your system), you can use the build-kdenlive.sh from:
https://github.com/mltframework/mlt-scripts/
Contributing
============
We welcome all feedback and offers for help!
* Talk about us!
* Report bugs you encounter (if not already done) on:
http://kdenlive.org/mantis
* Help other users on forum and bug tracker:
http://forum.kde.org/viewforum.php?f=262
* Help to fill the manual at:
http://userbase.kde.org/Kdenlive
* Complete and check application and documentation translation:
http://l10n.kde.org
* Prepare video tutorials (intro, special tricks...) in your language
and send us a link to add in homepage or doc
* Detail improvement suggestions
we don't test every (any?) other video editor, so give precise explanations
* Code! Help fixing bugs, improving usability, optimizing, porting...
register on KDE infrastructure, study its guidelines, and pick from roadmap:
http://community.kde.org/Kdenlive/Roadmap
![](data/pics/kdenlive-logo.png)
# About Kdenlive
[Kdenlive](https://kdenlive.org) is a Free and Open Source video editing application, based on MLT Framework and KDE Frameworks 5. It is distributed under the GNU General Public Licence Version 2.
# Builing from source
[Instructions to build Kdenlive](https://community.kde.org/Kdenlive/Development) are available on the KDE wiki.
# Contributing to Kdenlive
Please note that Kdenlive's Github repo is just a mirror: see [the detailed explanations on how to submit patches](https://community.kde.org/Infrastructure/Github_Mirror).
We welcome all feedback and offers for help!
* Talk about us!
* [Report bugs](https://bugs.kde.org) you encounter (if not already done)
* Help other users [on the forum](http://forum.kde.org/viewforum.php?f=262) and bug tracker
* [Help to fill the manual](http://userbase.kde.org/Kdenlive)
* Complete and check [application and documentation translation](http://l10n.kde.org)
* Prepare video tutorials (intro, special tricks...) in your language
and send us a link to add in homepage or doc
* Detail improvement suggestions
we don't test every (any?) other video editor, so give precise explanations
* Code! Help fixing bugs, improving usability, optimizing, porting...
register on KDE infrastructure, study its guidelines, and pick from roadmap:
# cmake macro to find DrMinGW Windows crash handler
#
# copyright (c) 2018, Vincent Pinon <vpinon@kde.org>
#
# once done this will define:
#
# DRMINGW_FOUND - system has DrMinGW
# DRMINGW_INCLUDE_DIR - the DrMinGW include directory
# DRMINGW_LIBRARY - the libraries needed to use DrMinGW
#
# redistribution and use is allowed according to the terms of the bsd license.
if (DRMINGW_INCLUDE_DIR AND DRMINGW_LIBRARY)
# already in cache, be silent
set (DRMINGW_FIND_QUIETLY true)
endif (DRMINGW_INCLUDE_DIR AND DRMINGW_LIBRARY)
find_path (DRMINGW_INCLUDE_DIR exchndl.h)
find_library (DRMINGW_LIBRARY exchndl)
include (FindPackageHandleStandardArgs)
find_package_handle_standard_args (DrMinGW DEFAULT_MSG DRMINGW_INCLUDE_DIR DRMINGW_LIBRARY)
mark_as_advanced(DRMINGW_INCLUDE_DIR DRMINGW_LIBRARY)
# Copyright (c) 2009 Boudewijn Rempt <boud@valdyas.org>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
#
# - try to find glew library and include files
# GLEW_INCLUDE_DIR, where to find GL/glew.h, etc.
# GLEW_LIBRARIES, the libraries to link against
# GLEW_FOUND, If false, do not try to use GLEW.
# Also defined, but not for general use are:
# GLEW_GLEW_LIBRARY = the full path to the glew library.
IF (WIN32)
IF(CYGWIN)
FIND_PATH( GLEW_INCLUDE_DIR GL/glew.h)
FIND_LIBRARY( GLEW_GLEW_LIBRARY glew32
${OPENGL_LIBRARY_DIR}
/usr/lib/w32api
/usr/X11R6/lib
)
ELSE(CYGWIN)
FIND_PATH( GLEW_INCLUDE_DIR GL/glew.h
$ENV{GLEW_ROOT_PATH}/include
)
FIND_LIBRARY( GLEW_GLEW_LIBRARY
NAMES glew glew32
PATHS
$ENV{GLEW_ROOT_PATH}/lib
${OPENGL_LIBRARY_DIR}
)
ENDIF(CYGWIN)
ELSE (WIN32)
IF (APPLE)
# These values for Apple could probably do with improvement.
FIND_PATH( GLEW_INCLUDE_DIR glew.h
/System/Library/Frameworks/GLEW.framework/Versions/A/Headers
${OPENGL_LIBRARY_DIR}
)
SET(GLEW_GLEW_LIBRARY "-framework GLEW" CACHE STRING "GLEW library for OSX")
SET(GLEW_cocoa_LIBRARY "-framework Cocoa" CACHE STRING "Cocoa framework for OSX")
ELSE (APPLE)
FIND_PATH( GLEW_INCLUDE_DIR GL/glew.h
/usr/include/GL
/usr/openwin/share/include
/usr/openwin/include
/usr/X11R6/include
/usr/include/X11
/opt/graphics/OpenGL/include
/opt/graphics/OpenGL/contrib/libglew
)
FIND_LIBRARY( GLEW_GLEW_LIBRARY GLEW
/usr/openwin/lib
/usr/X11R6/lib
)
ENDIF (APPLE)
ENDIF (WIN32)
SET( GLEW_FOUND "NO" )
IF(GLEW_INCLUDE_DIR)
IF(GLEW_GLEW_LIBRARY)
# Is -lXi and -lXmu required on all platforms that have it?
# If not, we need some way to figure out what platform we are on.
SET( GLEW_LIBRARIES
${GLEW_GLEW_LIBRARY}
${GLEW_cocoa_LIBRARY}
)
SET( GLEW_FOUND "YES" )
#The following deprecated settings are for backwards compatibility with CMake1.4
SET (GLEW_LIBRARY ${GLEW_LIBRARIES})
SET (GLEW_INCLUDE_PATH ${GLEW_INCLUDE_DIR})
ENDIF(GLEW_GLEW_LIBRARY)
ENDIF(GLEW_INCLUDE_DIR)
IF(GLEW_FOUND)
IF(NOT GLEW_FIND_QUIETLY)
MESSAGE(STATUS "Found Glew: ${GLEW_LIBRARIES}")
ENDIF(NOT GLEW_FIND_QUIETLY)
ELSE(GLEW_FOUND)
IF(GLEW_FIND_REQUIRED)
MESSAGE(FATAL_ERROR "Could not find Glew")
ENDIF(GLEW_FIND_REQUIRED)
ENDIF(GLEW_FOUND)