]> git.sesse.net Git - kdenlive/commitdiff
Merge branch 'buildsystem' into next
authorAlberto Villa <avilla@FreeBSD.org>
Wed, 9 Nov 2011 01:10:17 +0000 (02:10 +0100)
committerAlberto Villa <avilla@FreeBSD.org>
Wed, 9 Nov 2011 01:10:17 +0000 (02:10 +0100)
126 files changed:
CMakeLists.txt
cmake/modules/FindLIBMLT.cmake
kdenlive-config.h.cmake
src/CMakeLists.txt
src/abstractscopewidget.cpp
src/audioscopes/CMakeLists.txt
src/audioscopes/abstractaudioscopewidget.cpp
src/audioscopes/audiospectrum.cpp
src/audioscopes/audiospectrum.h
src/audioscopes/ffttools.h
src/audiosignal.cpp
src/beziercurve/CMakeLists.txt
src/blackmagic/CMakeLists.txt [new file with mode: 0644]
src/clipitem.cpp
src/clipmanager.cpp
src/colorcorrection/CMakeLists.txt
src/colorscopes/CMakeLists.txt [new file with mode: 0644]
src/colorscopes/abstractgfxscopewidget.cpp
src/colorscopes/histogram.cpp
src/colorscopes/rgbparade.cpp
src/colorscopes/vectorscope.cpp
src/colorscopes/waveform.cpp
src/commands/CMakeLists.txt [new file with mode: 0644]
src/commands/addclipcommand.cpp [moved from src/addclipcommand.cpp with 100% similarity]
src/commands/addclipcommand.h [moved from src/addclipcommand.h with 100% similarity]
src/commands/addclipcutcommand.cpp [moved from src/addclipcutcommand.cpp with 100% similarity]
src/commands/addclipcutcommand.h [moved from src/addclipcutcommand.h with 100% similarity]
src/commands/addeffectcommand.cpp [moved from src/addeffectcommand.cpp with 100% similarity]
src/commands/addeffectcommand.h [moved from src/addeffectcommand.h with 100% similarity]
src/commands/addfoldercommand.cpp [moved from src/addfoldercommand.cpp with 100% similarity]
src/commands/addfoldercommand.h [moved from src/addfoldercommand.h with 100% similarity]
src/commands/addmarkercommand.cpp [moved from src/addmarkercommand.cpp with 100% similarity]
src/commands/addmarkercommand.h [moved from src/addmarkercommand.h with 100% similarity]
src/commands/addtimelineclipcommand.cpp [moved from src/addtimelineclipcommand.cpp with 100% similarity]
src/commands/addtimelineclipcommand.h [moved from src/addtimelineclipcommand.h with 100% similarity]
src/commands/addtrackcommand.cpp [moved from src/addtrackcommand.cpp with 100% similarity]
src/commands/addtrackcommand.h [moved from src/addtrackcommand.h with 100% similarity]
src/commands/addtransitioncommand.cpp [moved from src/addtransitioncommand.cpp with 100% similarity]
src/commands/addtransitioncommand.h [moved from src/addtransitioncommand.h with 100% similarity]
src/commands/changecliptypecommand.cpp [moved from src/changecliptypecommand.cpp with 100% similarity]
src/commands/changecliptypecommand.h [moved from src/changecliptypecommand.h with 100% similarity]
src/commands/changespeedcommand.cpp [moved from src/changespeedcommand.cpp with 100% similarity]
src/commands/changespeedcommand.h [moved from src/changespeedcommand.h with 100% similarity]
src/commands/configtrackscommand.cpp [moved from src/configtrackscommand.cpp with 100% similarity]
src/commands/configtrackscommand.h [moved from src/configtrackscommand.h with 100% similarity]
src/commands/editclipcommand.cpp [moved from src/editclipcommand.cpp with 100% similarity]
src/commands/editclipcommand.h [moved from src/editclipcommand.h with 100% similarity]
src/commands/editclipcutcommand.cpp [moved from src/editclipcutcommand.cpp with 100% similarity]
src/commands/editclipcutcommand.h [moved from src/editclipcutcommand.h with 100% similarity]
src/commands/editeffectcommand.cpp [moved from src/editeffectcommand.cpp with 100% similarity]
src/commands/editeffectcommand.h [moved from src/editeffectcommand.h with 100% similarity]
src/commands/editfoldercommand.cpp [moved from src/editfoldercommand.cpp with 100% similarity]
src/commands/editfoldercommand.h [moved from src/editfoldercommand.h with 100% similarity]
src/commands/editguidecommand.cpp [moved from src/editguidecommand.cpp with 100% similarity]
src/commands/editguidecommand.h [moved from src/editguidecommand.h with 100% similarity]
src/commands/editkeyframecommand.cpp [moved from src/editkeyframecommand.cpp with 100% similarity]
src/commands/editkeyframecommand.h [moved from src/editkeyframecommand.h with 100% similarity]
src/commands/edittransitioncommand.cpp [moved from src/edittransitioncommand.cpp with 100% similarity]
src/commands/edittransitioncommand.h [moved from src/edittransitioncommand.h with 100% similarity]
src/commands/groupclipscommand.cpp [moved from src/groupclipscommand.cpp with 100% similarity]
src/commands/groupclipscommand.h [moved from src/groupclipscommand.h with 100% similarity]
src/commands/insertspacecommand.cpp [moved from src/insertspacecommand.cpp with 100% similarity]
src/commands/insertspacecommand.h [moved from src/insertspacecommand.h with 100% similarity]
src/commands/locktrackcommand.cpp [moved from src/locktrackcommand.cpp with 100% similarity]
src/commands/locktrackcommand.h [moved from src/locktrackcommand.h with 100% similarity]
src/commands/moveclipcommand.cpp [moved from src/moveclipcommand.cpp with 100% similarity]
src/commands/moveclipcommand.h [moved from src/moveclipcommand.h with 100% similarity]
src/commands/moveeffectcommand.cpp [moved from src/moveeffectcommand.cpp with 100% similarity]
src/commands/moveeffectcommand.h [moved from src/moveeffectcommand.h with 100% similarity]
src/commands/movegroupcommand.cpp [moved from src/movegroupcommand.cpp with 100% similarity]
src/commands/movegroupcommand.h [moved from src/movegroupcommand.h with 100% similarity]
src/commands/movetransitioncommand.cpp [moved from src/movetransitioncommand.cpp with 100% similarity]
src/commands/movetransitioncommand.h [moved from src/movetransitioncommand.h with 100% similarity]
src/commands/razorclipcommand.cpp [moved from src/razorclipcommand.cpp with 100% similarity]
src/commands/razorclipcommand.h [moved from src/razorclipcommand.h with 100% similarity]
src/commands/razorgroupcommand.cpp [moved from src/razorgroupcommand.cpp with 100% similarity]
src/commands/razorgroupcommand.h [moved from src/razorgroupcommand.h with 100% similarity]
src/commands/rebuildgroupcommand.cpp [moved from src/rebuildgroupcommand.cpp with 100% similarity]
src/commands/rebuildgroupcommand.h [moved from src/rebuildgroupcommand.h with 100% similarity]
src/commands/resizeclipcommand.cpp [moved from src/resizeclipcommand.cpp with 100% similarity]
src/commands/resizeclipcommand.h [moved from src/resizeclipcommand.h with 100% similarity]
src/commands/splitaudiocommand.cpp [moved from src/splitaudiocommand.cpp with 100% similarity]
src/commands/splitaudiocommand.h [moved from src/splitaudiocommand.h with 100% similarity]
src/customtrackview.cpp
src/dvdwizardvob.cpp
src/dvdwizardvob.h
src/effectstackedit.cpp
src/kdenlivesettingsdialog.cpp
src/kdenlivesettingsdialog.h
src/kiss_fft/CMakeLists.txt
src/kiss_fft/kiss_fft.h
src/kiss_fft/tools/CMakeLists.txt [deleted file]
src/kiss_fft/tools/fftutil.c
src/kiss_fft/tools/kfc.h
src/kiss_fft/tools/kiss_fastfir.c
src/kiss_fft/tools/kiss_fftnd.c
src/kiss_fft/tools/kiss_fftnd.h
src/kiss_fft/tools/kiss_fftndr.c
src/kiss_fft/tools/kiss_fftndr.h
src/kiss_fft/tools/kiss_fftr.c
src/kiss_fft/tools/kiss_fftr.h
src/kiss_fft/tools/psdpng.c
src/mainwindow.cpp
src/mainwindow.h
src/mltdevicecapture.h
src/monitor.cpp
src/monitor.h
src/onmonitoritems/CMakeLists.txt
src/onmonitoritems/rotoscoping/CMakeLists.txt
src/onmonitoritems/rotoscoping/bpointitem.h
src/projectlist.cpp
src/recmonitor.cpp
src/recmonitor.h
src/renderer.h
src/rotoscoping/CMakeLists.txt
src/rotoscoping/rotowidget.h
src/simplekeyframes/CMakeLists.txt
src/simplekeyframes/simplekeyframewidget.cpp
src/stopmotion/CMakeLists.txt [new file with mode: 0644]
src/stopmotion/stopmotion.cpp
src/titlewidget.cpp
src/trackview.cpp
src/v4l/CMakeLists.txt [new file with mode: 0644]
src/v4l/v4lcapture.h
src/widgets/CMakeLists.txt [deleted file]
src/wizard.cpp

index 155d9535ca6902c604890a639123b8f6efcb8639..45d37d452a5844276802b1310f4cc527d1b39dc9 100644 (file)
@@ -1,35 +1,43 @@
 project(kdenlive)
+set(catalogname 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.8.3)
 
-set(BASE_VERSION 0.8.3)
-set(LIBMLT_REQUIRED_VERSION 0.7.6)
+# Minimum versions of main dependencies.
+set(LIBMLT_MIN_VERSION 0.7.6)
+set(QT_MIN_VERSION 4.6.0)
+set(KDE_MIN_VERSION 4.4.0)
 
-option(RELEASE_BUILD "Remove compilation date from program version (use for stable releases)" OFF)
 set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
 
-# Search packages used by KDE.
-find_package(KDE4 REQUIRED)
-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --std=c99") # To compile kiss_fft
-include(KDE4Defaults)
-include(MacroLibrary)
-include(FindGettext)
-include(MacroOptionalAddSubdirectory)
-set(catalogname kdenlive)
+# To be switched on when releasing.
+option(RELEASE_BUILD "Remove Git revision from program version (use for stable releases)" OFF)
 
-find_package(Qt4 COMPONENTS QtCore QtGui QtOpenGL QtScript REQUIRED)
-if ( NOT QT_QTOPENGL_FOUND )
-  message(FATAL_ERROR "QtOpenGL (most likely called libqt4-opengl-dev) not found.")
-else ( NOT QT_QTOPENGL_FOUND )
-  message(-- " Found QtOpenGL.")
-endif ( NOT QT_QTOPENGL_FOUND )
-find_library(Qt COMPONENTS QtOpenGL QtScript REQUIRED)
+# Get current version.
+set(VERSION "\"${KDENLIVE_VERSION}\"")
+if(NOT RELEASE_BUILD)
+  if(EXISTS ${PROJECT_SOURCE_DIR}/.git)
+    # Probably a Git workspace: determine the revision.
+    find_package(Git)
+    if(GIT_FOUND)
+      exec_program(${GIT_EXECUTABLE}
+        ${CMAKE_CURRENT_SOURCE_DIR}
+        ARGS "describe --tags"
+        OUTPUT_VARIABLE KDENLIVE_GIT_REVISION
+      )
+      message("Current Kdenlive Git revision is ${KDENLIVE_GIT_REVISION}")
+      set(VERSION "\"${KDENLIVE_VERSION} (rev. ${KDENLIVE_GIT_REVISION})\"")
+    else(GIT_FOUND)
+      message("Could not determine the Git revision")
+    endif(GIT_FOUND)
+  endif(EXISTS ${PROJECT_SOURCE_DIR}/.git)
+endif(NOT RELEASE_BUILD)
 
-add_definitions(${QT_DEFINITIONS})
-
-# Search MLT package.
-find_package(LIBMLT REQUIRED)
-if(LIBMLT_VERSION VERSION_LESS ${LIBMLT_REQUIRED_VERSION})
-  message(FATAL_ERROR "MLT must be at least version ${LIBMLT_REQUIRED_VERSION}, you have ${LIBMLT_VERSION}\nPlease install recent MLT http://www.mltframework.org")
-endif(LIBMLT_VERSION VERSION_LESS ${LIBMLT_REQUIRED_VERSION})
+include(CheckIncludeFiles)
+check_include_files(malloc.h HAVE_MALLOC_H)
+check_include_files(pthread.h HAVE_PTHREAD_H)
 
 find_package(MSGFMT REQUIRED)
 find_program(EXTRACTRC_EXECUTABLE extractrc)
@@ -37,41 +45,57 @@ find_program(MSGFMT_EXECUTABLE msgfmt)
 find_program(MSGMERGE_EXECUTABLE msgmerge)
 find_program(XGETTEXT_EXECUTABLE xgettext)
 
-# Get current version.
-if(RELEASE_BUILD)
-  set(VERSION "\"${BASE_VERSION}\"")
-else(RELEASE_BUILD)
-  if(EXISTS ${PROJECT_SOURCE_DIR}/.svn)
-    # Probably a SVN workspace: determine the revision.
-    find_package(Subversion)
-    if(Subversion_FOUND)
-      Subversion_WC_INFO(${PROJECT_SOURCE_DIR} KDENLIVE)
-      message("Current revision is ${KDENLIVE_WC_REVISION}")
-      set(VERSION "\"${BASE_VERSION} (rev. ${KDENLIVE_WC_REVISION})\"")
-    else(Subversion_FOUND)
-      message("Could not determine the SVN revision")
-      set(VERSION "\"${BASE_VERSION}\"")
-    endif(Subversion_FOUND)
-  else(EXISTS ${PROJECT_SOURCE_DIR}/.svn)
-    set(VERSION "\"${BASE_VERSION}\"")
-  endif(EXISTS ${PROJECT_SOURCE_DIR}/.svn)
-endif(RELEASE_BUILD)
+# Search KDE and dependent packages.
+find_package(KDE4 ${KDE_MIN_VERSION} REQUIRED)
+include(KDE4Defaults)
+include(MacroLibrary)
+include(FindGettext)
+macro_log_feature(KDE4_FOUND
+  "KDELibs"
+  "KDE core libraries"
+  "http://www.kde.org"
+  TRUE
+  ${KDE_MIN_VERSION}
+)
 
-add_subdirectory(src src/cmake_bindir)
-add_subdirectory(renderer renderer/cmake_bindir)
-add_subdirectory(thumbnailer thumbnailer/cmake_bindir)
-add_subdirectory(plugins)
+# Find Qt core modules (QtCore and QtGui are searched by default).
+find_package(Qt4 ${QT_MIN_VERSION} REQUIRED QtDBus)
+macro_log_feature(QT_QTDBUS_FOUND
+  "QtDBus"
+  "Qt bindings for the D-Bus library"
+  "http://qt.nokia.com/products/qt"
+  TRUE
+  ${QT_MIN_VERSION}
+  "QtDBus library (most likely called libqt4-dbus)"
+)
+
+# Search MLT package.
+find_package(LIBMLT REQUIRED)
+if(LIBMLT_VERSION VERSION_LESS ${LIBMLT_MIN_VERSION})
+  set(LIBMLT_FOUND FALSE)
+endif(LIBMLT_VERSION VERSION_LESS ${LIBMLT_MIN_VERSION})
+macro_log_feature(LIBMLT_FOUND
+  "MLT"
+  "Multimedia framework and video playout server for TV broadcasting"
+  "http://mltframework.org"
+  TRUE
+  ${LIBMLT_MIN_VERSION}
+)
+
+add_subdirectory(data)
+add_subdirectory(doc)
 add_subdirectory(effects)
 add_subdirectory(export)
 add_subdirectory(icons)
-add_subdirectory(data)
 add_subdirectory(lumas)
-add_subdirectory(titles)
-add_subdirectory(po)
 add_subdirectory(man)
-add_subdirectory(doc)
-
-configure_file(${CMAKE_SOURCE_DIR}/kdenlive-config.h.cmake kdenlive-config.h @ONLY)
+add_subdirectory(plugins)
+add_subdirectory(po)
+add_subdirectory(renderer)
+add_subdirectory(src)
+add_subdirectory(thumbnailer)
+add_subdirectory(titles)
 
+macro_display_feature_log()
 
-message("-- C flags are now: " ${CMAKE_C_FLAGS})
+configure_file(kdenlive-config.h.cmake kdenlive-config.h @ONLY)
index dcae97e0d34ddb0aaa4de5838c620fbbab3793a9..5f6c255383b2315f160e57ebc64bcca65d993ffe 100644 (file)
@@ -3,30 +3,46 @@
 #
 
 include(FindPkgConfig)
-pkg_check_modules(MLT REQUIRED mlt++)
+pkg_check_modules(MLT mlt++)
 add_definitions(-DMLT_PREFIX=\\\"\"${MLT_PREFIX}\"\\\")
 
 find_path(LIBMLT_INCLUDE_DIR
   NAMES framework/mlt.h
-  PATHS ${MLT_INCLUDEDIR}/mlt ${MLT_PREFIX}/include/mlt /usr/local/include/mlt /usr/include/mlt
+  PATHS
+    ${MLT_INCLUDEDIR}/mlt
+    ${MLT_PREFIX}/include/mlt
+    /usr/local/include/mlt
+    /usr/include/mlt
   NO_DEFAULT_PATH
 )
 
 find_library(LIBMLT_LIBRARY
   NAMES mlt
-  PATHS ${MLT_LIBDIR} ${MLT_PREFIX}/lib /usr/lib /usr/local/lib
+  PATHS
+    ${MLT_LIBDIR}
+    ${MLT_PREFIX}/lib
+    /usr/local/lib
+    /usr/lib
   NO_DEFAULT_PATH
 )
 
 find_path(LIBMLTPLUS_INCLUDE_DIR
   NAMES mlt++/Mlt.h
-  PATHS ${MLT_INCLUDEDIR} ${MLT_PREFIX}/include /usr/local/include /usr/include
+  PATHS
+    ${MLT_INCLUDEDIR}
+    ${MLT_PREFIX}/include
+    /usr/local/include
+    /usr/include
   NO_DEFAULT_PATH
 )
 
 find_library(LIBMLTPLUS_LIBRARY
   NAMES mlt++
-  PATHS ${MLT_LIBDIR} ${MLT_PREFIX}/lib /usr/lib /usr/local/lib
+  PATHS
+    ${MLT_LIBDIR}
+    ${MLT_PREFIX}/lib
+    /usr/local/lib
+    /usr/lib
   NO_DEFAULT_PATH
 )
 
@@ -37,24 +53,20 @@ else(LIBMLT_LIBRARY AND LIBMLT_INCLUDE_DIR)
   set(LIBMLT_FOUND 0)
 endif(LIBMLT_LIBRARY AND LIBMLT_INCLUDE_DIR)
 
-if(LIBMLTPLUS_LIBRARY AND LIBMLTPLUS_INCLUDE_DIR)
+if(LIBMLT_FOUND AND LIBMLTPLUS_LIBRARY AND LIBMLTPLUS_INCLUDE_DIR)
   set(LIBMLT_FOUND 1)
   set(LIBMLTPLUS_LIBRARIES ${LIBMLTPLUS_LIBRARY})
-else(LIBMLTPLUS_LIBRARY AND LIBMLTPLUS_INCLUDE_DIR)
+else(LIBMLT_FOUND AND LIBMLTPLUS_LIBRARY AND LIBMLTPLUS_INCLUDE_DIR)
   set(LIBMLT_FOUND 0)
-endif(LIBMLTPLUS_LIBRARY AND LIBMLTPLUS_INCLUDE_DIR)
+endif(LIBMLT_FOUND AND LIBMLTPLUS_LIBRARY AND LIBMLTPLUS_INCLUDE_DIR)
 
 if(LIBMLT_FOUND)
   set(LIBMLT_VERSION ${MLT_VERSION})
   if(NOT LIBMLT_FIND_QUIETLY)
-    message(STATUS "MLT install path: ${MLT_PREFIX}")
-    message(STATUS "MLT includes: ${LIBMLT_INCLUDE_DIR}")
-    message(STATUS "MLT library: ${LIBMLT_LIBRARY}")
-    message(STATUS "MLT++ includes: ${LIBMLTPLUS_INCLUDE_DIR}")
-    message(STATUS "MLT++ library: ${LIBMLTPLUS_LIBRARY}")
+    message(STATUS "Found MLT++: ${LIBMLTPLUS_LIBRARY}")
   endif(NOT LIBMLT_FIND_QUIETLY)
 else(LIBMLT_FOUND)
   if(LIBMLT_FIND_REQUIRED)
-    message(FATAL_ERROR "Could not find MLT library")
+    message(FATAL_ERROR "Could not find MLT++")
   endif(LIBMLT_FIND_REQUIRED)
-endif(LIBMLT_FOUND)
\ No newline at end of file
+endif(LIBMLT_FOUND)
index 2f43f50c13ef135caf8277c20bb75dcf070c97d3..328512eff8ad6a25451116dd25946c003304078c 100644 (file)
@@ -3,5 +3,8 @@
 
 #cmakedefine VERSION @VERSION@
 
+#cmakedefine HAVE_MALLOC_H 1
+#cmakedefine HAVE_PTHREAD_H 1
+
 #endif
 
index 173eabcd0cb763639474eb0453a516a55bacb519..cb73bbd6b33376d939fa5177b80fd3998e421799 100644 (file)
-add_subdirectory(beziercurve)
-add_subdirectory(colorcorrection)
-add_subdirectory(kiss_fft)
-add_subdirectory(mimetypes)
-add_subdirectory(onmonitoritems)
-add_subdirectory(rotoscoping)
-add_subdirectory(widgets)
-add_subdirectory(databackup)
-
+find_package(OpenGL REQUIRED)
+find_package(Qt4 ${QT_MIN_VERSION} REQUIRED QtOpenGL QtScript)
+if(APPLE)
+  find_package(SDL REQUIRED)
+endif(APPLE)
 macro_optional_find_package(Nepomuk)
 macro_optional_find_package(QJSON)
 
-include_directories(
-  ${KDE4_INCLUDE_DIR}
-  ${KDE4_INCLUDE_DIR}/KDE
-  ${QT_INCLUDES}
-  ${LIBMLT_INCLUDE_DIR}
-  ${LIBMLTPLUS_INCLUDE_DIR}
-  ${QDBUS_INCLUDE_DIRS}
-  ${CMAKE_SOURCE_DIR}
-  ${CMAKE_BINARY_DIR}
-  ${CMAKE_SOURCE_DIR}/src/audioscopes
-  ${CMAKE_SOURCE_DIR}/src/beziercurve
-  ${CMAKE_SOURCE_DIR}/src/colorcorrection
-  ${CMAKE_SOURCE_DIR}/src/kiss_fft
-  ${CMAKE_SOURCE_DIR}/src/onmonitoritems
-  ${CMAKE_SOURCE_DIR}/src/onmonitoritems/rotoscoping
-  ${CMAKE_SOURCE_DIR}/src/widgets
-)
+option(WITH_V4L "Build capture support with Video4Linux" ON)
+option(WITH_JogShuttle "Build Jog/Shuttle support" ON)
 
+if(WITH_V4L)
+  # This can be changed to support FreeBSD as soon as we move to a newer V4L2
+  # header.
+  check_include_files(linux/ioctl.h HAVE_LINUX_IOCTL_H)
+  if(HAVE_LINUX_IOCTL_H)
+    set(BUILD_V4L TRUE)
+  endif(HAVE_LINUX_IOCTL_H)
+endif(WITH_V4L)
 
-if(Nepomuk_FOUND)
-  include_directories(NEPOMUK_INCLUDES)
-  set(optional_libs ${NEPOMUK_LIBRARIES})
-  add_definitions(-DNEPOMUK)
-endif(Nepomuk_FOUND)
+if(WITH_JogShuttle)
+  check_include_files(linux/input.h HAVE_LINUX_INPUT_H)
+  if(HAVE_LINUX_INPUT_H)
+    set(BUILD_JogShuttle TRUE)
+  endif(HAVE_LINUX_INPUT_H)
+endif(WITH_JogShuttle)
 
-if(QJSON_FOUND)
-  include_directories(QJSON_INCLUDE_DIR)
-  set(optional_libs ${optional_libs} ${QJSON_LIBRARIES})
-  add_definitions(-DQJSON)
-else(QJSON_FOUND)
-  message(STATUS "Install QJson to use the rotoscoping filter")
-endif(QJSON_FOUND)
+macro_log_feature(QT_QTOPENGL_FOUND
+  "QtOpenGL"
+  "Qt bindings for the OpenGL library"
+  "http://qt.nokia.com/products/qt"
+  TRUE
+  ${QT_MIN_VERSION}
+  "QtOpenGL library and headers (most likely called libqt4-opengl and libqt4-opengl-dev)"
+)
 
-if(Q_WS_X11)
-  include_directories(${X11_Xlib_INCLUDE_PATH})
-endif(Q_WS_X11)
+macro_log_feature(QT_QTSCRIPT_FOUND
+  "QtScript"
+  "Qt module providing core scripting facilities"
+  "http://qt.nokia.com/products/qt"
+  TRUE
+  ${QT_MIN_VERSION}
+  "QtScript library (most likely called libqt4-script)"
+)
 
 if(APPLE)
-  find_package(OpenGL)
-  set(QT_USE_QTOPENGL TRUE)
-else(APPLE)
-  macro_optional_find_package(OpenGL)
+  macro_log_feature(SDL_FOUND
+    "SDL"
+    "Cross-platform multimedia library"
+    "http://www.libsdl.org"
+    TRUE
+  )
 endif(APPLE)
 
-
-link_libraries(
-  ${LIBMLT_LIBRARY}
-  ${LIBMLTPLUS_LIBRARY}
-  ${optional_libs}
+macro_log_feature(Nepomuk_FOUND
+  "Nepomuk"
+  "Support for the Nepomuk semantic desktop system"
+  "http://nepomuk.semanticdesktop.org"
 )
 
-kde4_add_ui_files(kdenlive_UI
-  widgets/timeline_ui.ui
-  widgets/recmonitor_ui.ui
-  widgets/colorclip_ui.ui
-  widgets/slideshowclip_ui.ui
-  widgets/configmisc_ui.ui
-  widgets/configenv_ui.ui
-  widgets/configtimeline_ui.ui
-  widgets/configsdl_ui.ui
-  widgets/configcapture_ui.ui
-  widgets/configtranscode_ui.ui
-  widgets/configproject_ui.ui
-  widgets/effectlist_ui.ui
-  widgets/effectstack_ui.ui
-  widgets/profiledialog_ui.ui
-  widgets/projectsettings_ui.ui
-  widgets/keyframewidget_ui.ui
-  widgets/listval_ui.ui
-  widgets/wipeval_ui.ui
-  widgets/boolval_ui.ui
-  widgets/titlewidget_ui.ui
-  widgets/unicodedialog_ui.ui
-  widgets/timelinebuttons_ui.ui
-  widgets/renderwidget_ui.ui
-  widgets/saveprofile_ui.ui
-  widgets/transitionsettings_ui.ui
-  widgets/configjogshuttle_ui.ui
-  widgets/trackheader_ui.ui
-  widgets/clipproperties_ui.ui
-  widgets/markerdialog_ui.ui
-  widgets/keyframedialog_ui.ui
-  widgets/clipdurationdialog_ui.ui
-  widgets/managecaptures_ui.ui
-  widgets/geometryval_ui.ui
-  widgets/wizardstandard_ui.ui
-  widgets/wizardextra_ui.ui
-  widgets/wizardcapture_ui.ui
-  widgets/wizardcheck_ui.ui
-  widgets/wizardmltcheck_ui.ui
-  widgets/spacerdialog_ui.ui
-  widgets/addtrack_ui.ui
-  widgets/dvdwizardvob_ui.ui
-  widgets/dvdwizardmenu_ui.ui
-  widgets/dvdwizardstatus_ui.ui
-  widgets/dvdwizardchapters_ui.ui
-  widgets/missingclips_ui.ui
-  widgets/cliptranscode_ui.ui
-  widgets/templateclip_ui.ui
-  widgets/keyframeeditor_ui.ui
-  widgets/tracksconfigdialog_ui.ui
-  widgets/urlval_ui.ui
-  widgets/vectorscope_ui.ui
-  widgets/colorplaneexport_ui.ui
-  widgets/waveform_ui.ui
-  widgets/rgbparade_ui.ui
-  widgets/histogram_ui.ui
-  widgets/geometrywidget_ui.ui
-  widgets/stopmotion_ui.ui
-  widgets/audiospectrum_ui.ui
-  widgets/spectrogram_ui.ui
-  widgets/smconfig_ui.ui
-  widgets/bezierspline_ui.ui
-  widgets/monitoreditwidget_ui.ui
-  widgets/archivewidget_ui.ui
-  widgets/manageencodingprofile_ui.ui
-  widgets/backupdialog_ui.ui
+macro_log_feature(QJSON_FOUND
+  "QJson"
+  "Qt-based library that maps JSON data to QVariant objects"
+  "http://qjson.sourceforge.net"
+  FALSE
+  ""
+  "Required to build the rotoscoping filter"
 )
 
-set(kdenlive_SRCS
-  ${kdenlive_SRCS}
-  addclipcommand.cpp
+add_subdirectory(audioscopes)
+add_subdirectory(beziercurve)
+add_subdirectory(blackmagic)
+add_subdirectory(colorcorrection)
+add_subdirectory(colorscopes)
+add_subdirectory(commands)
+add_subdirectory(databackup)
+add_subdirectory(kiss_fft)
+add_subdirectory(mimetypes)
+add_subdirectory(onmonitoritems)
+add_subdirectory(simplekeyframes)
+add_subdirectory(stopmotion)
+
+if(QJSON_FOUND)
+  add_subdirectory(onmonitoritems/rotoscoping)
+  add_subdirectory(rotoscoping)
+endif(QJSON_FOUND)
+
+if(BUILD_V4L)
+  add_subdirectory(v4l)
+endif(BUILD_V4L)
+
+list(APPEND kdenlive_SRCS
   main.cpp
   mainwindow.cpp
-  customruler.cpp
-  smallruler.cpp
-  projectlist.cpp
-  projectitem.cpp
-  monitor.cpp
-  gentime.cpp
-  renderer.cpp
-  kdenlivedoc.cpp
-  projectlistview.cpp
-  trackview.cpp
-  docclipbase.cpp
-  timecode.cpp
-  monitormanager.cpp
-  headertrack.cpp
-  customtrackview.cpp
+
+  KoSliderCombo.cpp
+  abstractclipitem.cpp
+  abstractgroupitem.cpp
+  abstractmonitor.cpp
+  abstractscopewidget.cpp
+  archivewidget.cpp
+  audiosignal.cpp
+  choosecolorwidget.cpp
+  clipdurationdialog.cpp
   clipitem.cpp
-  moveclipcommand.cpp
-  resizeclipcommand.cpp
-  razorclipcommand.cpp
-  addtimelineclipcommand.cpp
-  addmarkercommand.cpp
-  kthumb.cpp
   clipmanager.cpp
+  clipproperties.cpp
+  cliptranscode.cpp
+  colorpickerwidget.cpp
+  colorplaneexport.cpp
+  colortools.cpp
+  complexparameter.cpp
+  cornerswidget.cpp
+  customruler.cpp
+  customtrackscene.cpp
+  customtrackview.cpp
+  docclipbase.cpp
+  documentchecker.cpp
+  documentvalidator.cpp
+  doubleparameterwidget.cpp
+  dragvalue.cpp
+  dvdwizard.cpp
+  dvdwizardchapters.cpp
+  dvdwizardmenu.cpp
+  dvdwizardvob.cpp
   effectslist.cpp
-  initeffects.cpp
   effectslistview.cpp
-  addeffectcommand.cpp
-  editeffectcommand.cpp
-  moveeffectcommand.cpp
-  effectstackview.cpp
+  effectslistwidget.cpp
   effectstackedit.cpp
+  effectstackview.cpp
+  encodingprofilesdialog.cpp
+  folderprojectitem.cpp
+  gentime.cpp
+  geometryval.cpp
+  geometrywidget.cpp
+  graphicsscenerectmove.cpp
+  guide.cpp
+  headertrack.cpp
+  initeffects.cpp
+  kdenlivedoc.cpp
+  kdenlivesettingsdialog.cpp
+  keyframeedit.cpp
+  keyframehelper.cpp
+  kis_cubic_curve.cpp
+  kis_curve_widget.cpp
+  kthumb.cpp
+  managecapturesdialog.cpp
+  markerdialog.cpp
+  mltdevicecapture.cpp
+  monitor.cpp
+  monitoreditwidget.cpp
+  monitormanager.cpp
+  monitorscene.cpp
+  noteswidget.cpp
   parameterplotter.cpp
+  positionedit.cpp
   profilesdialog.cpp
+  projectitem.cpp
+  projectlist.cpp
+  projectlistview.cpp
   projectsettings.cpp
-  kdenlivesettingsdialog.cpp
-  complexparameter.cpp
-  titlewidget.cpp
-  unicodedialog.cpp
-  graphicsscenerectmove.cpp
-  effectslistwidget.cpp
-  titledocument.cpp
-  transition.cpp
-  renderwidget.cpp
-  abstractclipitem.cpp
-  transitionsettings.cpp
   recmonitor.cpp
-  addtransitioncommand.cpp
-  edittransitioncommand.cpp
-  addfoldercommand.cpp
-  editfoldercommand.cpp
-  clipproperties.cpp
-  movetransitioncommand.cpp
+  renderer.cpp
+  renderwidget.cpp
   slideshowclip.cpp
-  markerdialog.cpp
-  guide.cpp
-  editguidecommand.cpp
-  statusbarmessagelabel.cpp
-  editkeyframecommand.cpp
-  clipdurationdialog.cpp
-  managecapturesdialog.cpp
-  changespeedcommand.cpp
-  geometryval.cpp
-  wizard.cpp
-  customtrackscene.cpp
-  abstractgroupitem.cpp
-  keyframehelper.cpp
-  editclipcommand.cpp
-  insertspacecommand.cpp
+  smallruler.cpp
   spacerdialog.cpp
-  addtrackcommand.cpp
-  movegroupcommand.cpp
-  dvdwizardvob.cpp
-  dvdwizardmenu.cpp
-  dvdwizard.cpp
-  locktrackcommand.cpp
-  groupclipscommand.cpp
-  splitaudiocommand.cpp
-  changecliptypecommand.cpp
-  documentchecker.cpp
-  dvdwizardchapters.cpp
-  documentvalidator.cpp
-  cliptranscode.cpp
-  keyframeedit.cpp
-  positionedit.cpp
-  trackdialog.cpp
+  statusbarmessagelabel.cpp
   subprojectitem.cpp
-  folderprojectitem.cpp
-  addclipcutcommand.cpp
-  editclipcutcommand.cpp
-  KoSliderCombo.cpp
-  kis_cubic_curve.cpp
-  kis_curve_widget.cpp
+  timecode.cpp
   timecodedisplay.cpp
+  titledocument.cpp
+  titlewidget.cpp
+  trackdialog.cpp
   tracksconfigdialog.cpp
-  configtrackscommand.cpp
-  abstractscopewidget.cpp
-  audioscopes/abstractaudioscopewidget.cpp
-  audioscopes/audiospectrum.cpp
-  audioscopes/spectrogram.cpp
-  audioscopes/ffttools.cpp
-  rebuildgroupcommand.cpp
-  colorscopes/abstractgfxscopewidget.cpp
-  colorscopes/histogram.cpp
-  colorscopes/rgbparade.cpp
-  colorscopes/vectorscope.cpp
-  colorscopes/waveform.cpp
-  colorplaneexport.cpp
-  colortools.cpp
-  colorcorrection/histogramgenerator.cpp
-  colorcorrection/rgbparadegenerator.cpp
-  colorcorrection/vectorscopegenerator.cpp
-  colorcorrection/waveformgenerator.cpp
-  razorgroupcommand.cpp
-  colorpickerwidget.cpp
-  choosecolorwidget.cpp
-  monitorscene.cpp
-  geometrywidget.cpp
-  doubleparameterwidget.cpp
-  audiosignal.cpp
-  blackmagic/include/DeckLinkAPIDispatch.cpp
-  stopmotion/stopmotion.cpp
-  blackmagic/devices.cpp
-  onmonitoritems/onmonitorrectitem.cpp
-  onmonitoritems/onmonitorcornersitem.cpp
-  cornerswidget.cpp
-  kiss_fft/_kiss_fft_guts.h
-  kiss_fft/kiss_fft.c
-  kiss_fft/tools/kiss_fftr.c
-  beziercurve/beziersplineeditor.cpp
-  beziercurve/beziersplinewidget.cpp
-  beziercurve/bpoint.cpp
-  beziercurve/cubicbezierspline.cpp
-  dragvalue.cpp
-  monitoreditwidget.cpp
-  simplekeyframes/simpletimelinewidget.cpp
-  simplekeyframes/simplekeyframewidget.cpp
-  noteswidget.cpp
-  archivewidget.cpp
-  mltdevicecapture.cpp
-  abstractmonitor.cpp
-  encodingprofilesdialog.cpp
+  trackview.cpp
+  transition.cpp
+  transitionsettings.cpp
+  unicodedialog.cpp
+  wizard.cpp
 )
 
-add_definitions(${KDE4_DEFINITIONS})
-
-if(CMAKE_SYSTEM_NAME STREQUAL "GNU/kFreeBSD")
-  add_definitions(-DQ_OS_KFREEBSD)
-endif(CMAKE_SYSTEM_NAME STREQUAL "GNU/kFreeBSD")
-
-if(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "NetBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GNU/kFreeBSD" OR NO_JOGSHUTTLE)
-  add_definitions(-DNO_JOGSHUTTLE)
-else(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "NetBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GNU/kFreeBSD" OR NO_JOGSHUTTLE)
-  set(kdenlive_SRCS jogshuttle.cpp jogaction.cpp jogshuttleconfig.cpp ${kdenlive_SRCS})
-endif(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "NetBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GNU/kFreeBSD" OR NO_JOGSHUTTLE)
-
-if(APPLE OR OPENGL_FOUND)
-  add_definitions(-DUSE_OPEN_GL)
-  set(kdenlive_SRCS videoglwidget.cpp ${kdenlive_SRCS})
-endif(APPLE OR OPENGL_FOUND)
+kde4_add_ui_files(kdenlive_UIS
+  widgets/addtrack_ui.ui
+  widgets/archivewidget_ui.ui
+  widgets/audiospectrum_ui.ui
+  widgets/backupdialog_ui.ui
+  widgets/bezierspline_ui.ui
+  widgets/boolval_ui.ui
+  widgets/clipdurationdialog_ui.ui
+  widgets/clipproperties_ui.ui
+  widgets/cliptranscode_ui.ui
+  widgets/colorclip_ui.ui
+  widgets/colorplaneexport_ui.ui
+  widgets/configcapture_ui.ui
+  widgets/configenv_ui.ui
+  widgets/configjogshuttle_ui.ui
+  widgets/configmisc_ui.ui
+  widgets/configproject_ui.ui
+  widgets/configsdl_ui.ui
+  widgets/configtimeline_ui.ui
+  widgets/configtranscode_ui.ui
+  widgets/dvdwizardchapters_ui.ui
+  widgets/dvdwizardmenu_ui.ui
+  widgets/dvdwizardstatus_ui.ui
+  widgets/dvdwizardvob_ui.ui
+  widgets/effectlist_ui.ui
+  widgets/effectstack_ui.ui
+  widgets/geometryval_ui.ui
+  widgets/geometrywidget_ui.ui
+  widgets/histogram_ui.ui
+  widgets/keyframedialog_ui.ui
+  widgets/keyframeeditor_ui.ui
+  widgets/keyframewidget_ui.ui
+  widgets/listval_ui.ui
+  widgets/managecaptures_ui.ui
+  widgets/manageencodingprofile_ui.ui
+  widgets/markerdialog_ui.ui
+  widgets/missingclips_ui.ui
+  widgets/monitoreditwidget_ui.ui
+  widgets/profiledialog_ui.ui
+  widgets/projectsettings_ui.ui
+  widgets/recmonitor_ui.ui
+  widgets/renderwidget_ui.ui
+  widgets/rgbparade_ui.ui
+  widgets/saveprofile_ui.ui
+  widgets/slideshowclip_ui.ui
+  widgets/smconfig_ui.ui
+  widgets/spacerdialog_ui.ui
+  widgets/spectrogram_ui.ui
+  widgets/stopmotion_ui.ui
+  widgets/templateclip_ui.ui
+  widgets/timeline_ui.ui
+  widgets/timelinebuttons_ui.ui
+  widgets/titlewidget_ui.ui
+  widgets/trackheader_ui.ui
+  widgets/tracksconfigdialog_ui.ui
+  widgets/transitionsettings_ui.ui
+  widgets/unicodedialog_ui.ui
+  widgets/urlval_ui.ui
+  widgets/vectorscope_ui.ui
+  widgets/waveform_ui.ui
+  widgets/wipeval_ui.ui
+  widgets/wizardcapture_ui.ui
+  widgets/wizardcheck_ui.ui
+  widgets/wizardextra_ui.ui
+  widgets/wizardmltcheck_ui.ui
+  widgets/wizardstandard_ui.ui
+)
 
-if(NOT APPLE AND NOT CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" AND NOT CMAKE_SYSTEM_NAME STREQUAL "GNU/kFreeBSD")
-  set(kdenlive_SRCS
-    ${kdenlive_SRCS}
-    v4l/v4lcapture.cpp
-    v4l/src.c
-  )
-endif(NOT APPLE AND NOT CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" AND NOT CMAKE_SYSTEM_NAME STREQUAL "GNU/kFreeBSD")
+if(OPENGL_FOUND)
+  list(APPEND kdenlive_SRCS videoglwidget.cpp)
+endif(OPENGL_FOUND)
 
-if(QJSON_FOUND)
-  set(kdenlive_SRCS
-    ${kdenlive_SRCS}
-    onmonitoritems/rotoscoping/bpointitem.cpp
-    onmonitoritems/rotoscoping/nearestpoint.cpp
-    onmonitoritems/rotoscoping/splineitem.cpp
-    rotoscoping/rotowidget.cpp
+if(BUILD_JogShuttle)
+  list(APPEND kdenlive_SRCS
+    jogaction.cpp
+    jogshuttle.cpp
+    jogshuttleconfig.cpp
   )
-endif(QJSON_FOUND)
-
-# Add libdl
-find_library(DL_LIB NAMES ${CMAKE_DL_LIBS})
-message(STATUS "using dl library: ${DL_LIB}")
+endif(BUILD_JogShuttle)
 
 kde4_add_kcfg_files(kdenlive_SRCS kdenlivesettings.kcfgc)
-qt4_add_dbus_adaptor(kdenlive_SRCS org.kdenlive.MainWindow.xml mainwindow.h MainWindow)
+qt4_add_dbus_adaptor(kdenlive_SRCS
+  org.kdenlive.MainWindow.xml
+  mainwindow.h
+  MainWindow
+)
 qt4_add_resources(kdenlive_SRCS widgets/resources.qrc)
-kde4_add_executable(kdenlive ${kdenlive_SRCS} ${kdenlive_UI})
+kde4_add_executable(kdenlive
+  ${kdenlive_SRCS}
+  ${kdenlive_UIS}
+)
+
+# To compile kiss_fft.
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --std=c99")
 
-if(${KDE_VERSION} VERSION_LESS 4.3.80)
-  set(KNEWSTUFF_LIBS ${KDE4_KNEWSTUFF2_LIBS})
-else(${KDE_VERSION} VERSION_LESS 4.3.80)
-  set(KNEWSTUFF_LIBS ${KDE4_KNEWSTUFF3_LIBS})
-endif(${KDE_VERSION} VERSION_LESS 4.3.80)
+# KDE definitions and include directories *must* always come first, Qt follows
+# (to avoid breaking builds when KDE and/or Qt are installed to different
+# prefixes).
+add_definitions(${KDE4_DEFINITIONS})
+
+include_directories(
+  ${KDE4_INCLUDES} # Adds Qt include directories too.
+  ${LIBMLT_INCLUDE_DIR}
+  ${LIBMLTPLUS_INCLUDE_DIR}
+  ${CMAKE_BINARY_DIR}
+  ${CMAKE_CURRENT_BINARY_DIR}
+)
+
+# Adds Qt definitions and include directories, and sets QT_LIBRARIES according
+# to the components requested in find_package().
+include(UseQt4)
 
 target_link_libraries(kdenlive
   ${KDE4_KDEUI_LIBS}
   ${KDE4_KIO_LIBS}
-  ${KNEWSTUFF_LIBS}
-  ${LIBMLTPLUS_LIBRARY}
-  ${LIBMLT_LIBRARY}
-  ${optional_libs}
+  ${KDE4_KNEWSTUFF3_LIBS}
   ${KDE4_KNOTIFYCONFIG_LIBRARY}
   ${KDE4_KROSSUI_LIBS}
+  ${QT_LIBRARIES}
+  ${LIBMLT_LIBRARY}
+  ${LIBMLTPLUS_LIBRARY}
   ${CMAKE_DL_LIBS}
   ${CMAKE_THREAD_LIBS_INIT}
-  ${QT_QTSCRIPT_LIBRARY}
 )
 
 if(Q_WS_X11)
+  include_directories(${X11_Xlib_INCLUDE_PATH})
   target_link_libraries(kdenlive ${X11_LIBRARIES})
 endif(Q_WS_X11)
 
-if(APPLE)
-  find_package(SDL REQUIRED)
-  target_link_libraries(kdenlive ${SDL_LIBRARY})
-  target_link_libraries(kdenlive ${QT_QTOPENGL_LIBRARY})
+if(OPENGL_FOUND AND QT_QTOPENGL_FOUND)
+  add_definitions(-DUSE_OPENGL)
   target_link_libraries(kdenlive ${OPENGL_LIBRARIES})
-else(APPLE)
-  add_definitions(-DHAVE_V4L2)
-  if(OPENGL_FOUND)
-    target_link_libraries(kdenlive ${QT_QTOPENGL_LIBRARY})
-    target_link_libraries(kdenlive ${OPENGL_LIBRARIES})
-  endif(OPENGL_FOUND)
-endif(APPLE)
+endif(OPENGL_FOUND AND QT_QTOPENGL_FOUND)
+
+if(SDL_FOUND)
+  target_link_libraries(kdenlive ${SDL_LIBRARY})
+endif(SDL_FOUND)
+
+if(Nepomuk_FOUND)
+  add_definitions(-DUSE_NEPOMUK)
+  include_directories(${NEPOMUK_INCLUDES})
+  target_link_libraries(kdenlive ${NEPOMUK_LIBRARIES})
+endif(Nepomuk_FOUND)
+
+if(QJSON_FOUND)
+  add_definitions(-DUSE_QJSON)
+  include_directories(${QJSON_INCLUDE_DIR})
+  target_link_libraries(kdenlive ${QJSON_LIBRARIES})
+endif(QJSON_FOUND)
+
+if(BUILD_V4L)
+  add_definitions(-DUSE_V4L)
+endif(BUILD_V4L)
+
+if(BUILD_JogShuttle)
+  add_definitions(-DUSE_JOGSHUTTLE)
+endif(BUILD_JogShuttle)
 
 install(TARGETS kdenlive DESTINATION ${BIN_INSTALL_DIR})
-install(FILES kdenliveui.rc kdenlive.notifyrc DESTINATION ${DATA_INSTALL_DIR}/kdenlive)
+install(FILES
+  kdenliveui.rc
+  kdenlive.notifyrc
+  DESTINATION ${DATA_INSTALL_DIR}/kdenlive
+)
 install(FILES kdenlivesettings.kcfg DESTINATION ${KCFG_INSTALL_DIR})
-install(FILES kdenlive.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
+install(FILES
+  kdenlive_projectprofiles.knsrc
+  kdenlive_renderprofiles.knsrc
+  kdenlive_titles.knsrc
+  kdenlive_wipes.knsrc
+  kdenlivetranscodingrc
+  DESTINATION ${CONFIG_INSTALL_DIR}
+)
 kde4_install_icons(${ICON_INSTALL_DIR})
-install(FILES kdenlive_titles.knsrc kdenlive_wipes.knsrc kdenlive_renderprofiles.knsrc kdenlive_projectprofiles.knsrc kdenlivetranscodingrc DESTINATION ${CONFIG_INSTALL_DIR})
+install(FILES kdenlive.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
index 022063d31a9e44580c9b9150c2ffe53ab518bfba..0622bd97d72c0f325a3fc05b1ad50ead09dc6076 100644 (file)
@@ -8,12 +8,11 @@
  *   (at your option) any later version.                                   *
  ***************************************************************************/
 
-#include "qtconcurrentrun.h"
-
 #include "abstractscopewidget.h"
 #include "renderer.h"
 #include "monitor.h"
 
+#include <QtConcurrentRun>
 #include <QFuture>
 #include <QColor>
 #include <QMenu>
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..7b8ef2bdf6b8d2e8113dc3d34d771222a3aeeca4 100644 (file)
@@ -0,0 +1,8 @@
+set(kdenlive_SRCS
+  ${kdenlive_SRCS}
+  audioscopes/abstractaudioscopewidget.cpp
+  audioscopes/audiospectrum.cpp
+  audioscopes/ffttools.cpp
+  audioscopes/spectrogram.cpp
+  PARENT_SCOPE
+)
index 099a8e6e955b8b6565c3ebf8c49393dfe573884c..16b50681b4abb8ba6e8bd359e521346aa2ea2ef7 100644 (file)
@@ -8,12 +8,11 @@
  *   (at your option) any later version.                                   *
  ***************************************************************************/
 
-#include "qtconcurrentrun.h"
-
 #include "abstractaudioscopewidget.h"
 #include "renderer.h"
 #include "monitor.h"
 
+#include <QtConcurrentRun>
 #include <QFuture>
 #include <QColor>
 #include <QMenu>
index eeb6a53a0577ff0feb121301cd01596171174ead..be40af7ab57504fbc284be771bf794958a02b588 100644 (file)
@@ -12,7 +12,7 @@
 
 #include "audiospectrum.h"
 #include "ffttools.h"
-#include "tools/kiss_fftr.h"
+#include "kiss_fft/tools/kiss_fftr.h"
 
 #include <QMenu>
 #include <QPainter>
index 3f486c24102138f085f9c9d16aa55abf9a95e4c8..77308afa98e21f50cb1fb208ed708c9c39694c81 100644 (file)
@@ -29,7 +29,7 @@
 
 #include "abstractaudioscopewidget.h"
 #include "ui_audiospectrum_ui.h"
-#include "tools/kiss_fftr.h"
+#include "kiss_fft/tools/kiss_fftr.h"
 #include "ffttools.h"
 
 class AudioSpectrum_UI;
index f71d04aada5e5dace6fdb2dd9e508f7e273cfa86..26cee848288bfcca5015de29da86389d50bc8182 100644 (file)
@@ -13,7 +13,7 @@
 
 #include <QVector>
 #include <QHash>
-#include <tools/kiss_fftr.h>
+#include "kiss_fft/tools/kiss_fftr.h"
 
 class FFTTools
 {
index 30471e0bf288b078a183cf2406e3d6a567d647dd..6ccd2dd5ea30e0b627a30f5da3372b47e055854c 100644 (file)
@@ -18,7 +18,6 @@
  ***************************************************************************/
 
 #include "audiosignal.h"
-#include "math.h"
 
 #include <KLocale>
 
@@ -29,6 +28,7 @@
 #include <QDebug>
 #include <QList>
 
+#include <math.h>
 
 AudioSignal::AudioSignal(QWidget *parent): QWidget(parent)
 {
index 8b137891791fe96927ad78e64b0aad7bded08bdc..625b4044df932ea0bed15584ae8df8e3184d00d3 100644 (file)
@@ -1 +1,8 @@
-
+set(kdenlive_SRCS
+  ${kdenlive_SRCS}
+  beziercurve/beziersplineeditor.cpp
+  beziercurve/beziersplinewidget.cpp
+  beziercurve/bpoint.cpp
+  beziercurve/cubicbezierspline.cpp
+  PARENT_SCOPE
+)
diff --git a/src/blackmagic/CMakeLists.txt b/src/blackmagic/CMakeLists.txt
new file mode 100644 (file)
index 0000000..5bb17a9
--- /dev/null
@@ -0,0 +1,6 @@
+set(kdenlive_SRCS
+  ${kdenlive_SRCS}
+  blackmagic/devices.cpp
+  blackmagic/include/DeckLinkAPIDispatch.cpp
+  PARENT_SCOPE
+)
index 9f6f04209f962c5c530e1019b16f2c42b75f7bcb..cac5eda2b4690f0c6f683d3588161c1a903ece7a 100644 (file)
@@ -27,7 +27,7 @@
 #include "kdenlivesettings.h"
 #include "kthumb.h"
 #include "profilesdialog.h"
-#ifdef QJSON
+#ifdef USE_QJSON
 #include "rotoscoping/rotowidget.h"
 #endif
 
@@ -1844,7 +1844,7 @@ QMap<int, QDomElement> ClipItem::adjustEffectsToDuration(int width, int height,
                 if (!effects.contains(i))
                     effects[i] = effect.cloneNode().toElement();
                 updateNormalKeyframes(param);
-#ifdef QJSON
+#ifdef USE_QJSON
             } else if (type == "roto-spline") {
                 if (!effects.contains(i))
                     effects[i] = effect.cloneNode().toElement();
index ef169205cc8bce2388c01a430d3b4a7e200b6646..4c7db5873a2d4e05f9e2ac422abeb005ab01699a 100644 (file)
@@ -19,7 +19,7 @@
 
 
 #include "clipmanager.h"
-#include "addclipcommand.h"
+#include "commands/addclipcommand.h"
 #include "kdenlivesettings.h"
 #include "docclipbase.h"
 #include "kdenlivedoc.h"
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..78d0fd1019daa0dc0ac8439830ad15d7529cb787 100644 (file)
@@ -0,0 +1,8 @@
+set(kdenlive_SRCS
+  ${kdenlive_SRCS}
+  colorcorrection/histogramgenerator.cpp
+  colorcorrection/rgbparadegenerator.cpp
+  colorcorrection/vectorscopegenerator.cpp
+  colorcorrection/waveformgenerator.cpp
+  PARENT_SCOPE
+)
diff --git a/src/colorscopes/CMakeLists.txt b/src/colorscopes/CMakeLists.txt
new file mode 100644 (file)
index 0000000..d2df8d0
--- /dev/null
@@ -0,0 +1,9 @@
+set(kdenlive_SRCS
+  ${kdenlive_SRCS}
+  colorscopes/abstractgfxscopewidget.cpp
+  colorscopes/histogram.cpp
+  colorscopes/rgbparade.cpp
+  colorscopes/vectorscope.cpp
+  colorscopes/waveform.cpp
+  PARENT_SCOPE
+)
index 370fcb0d173f8860817a18f3d876606cb096b797..94f90400a6bba3052219f05412a2269388d35a42 100644 (file)
@@ -8,12 +8,11 @@
  *   (at your option) any later version.                                   *
  ***************************************************************************/
 
-#include "qtconcurrentrun.h"
-
 #include "abstractgfxscopewidget.h"
 #include "renderer.h"
 #include "monitormanager.h"
 
+#include <QtConcurrentRun>
 #include <QFuture>
 #include <QColor>
 #include <QMenu>
index 9fd9ee8eab7351650671a81bdf742aa590db8b94..9b5915a5bc9f64400a1105503f48ebb7d4498bba 100644 (file)
@@ -10,7 +10,7 @@
 
 #include <QMenu>
 #include <QTime>
-#include "histogramgenerator.h"
+#include "colorcorrection/histogramgenerator.h"
 #include "histogram.h"
 #include "renderer.h"
 
index 396697fcea6a1dfdd594950724983736ea70b221..18be787a095a4cc79d373efa6ea9d193e50168e2 100644 (file)
@@ -14,7 +14,7 @@
 #include <QTime>
 #include "renderer.h"
 #include "rgbparade.h"
-#include "rgbparadegenerator.h"
+#include "colorcorrection/rgbparadegenerator.h"
 
 RGBParade::RGBParade(MonitorManager *manager, QWidget *parent) :
         AbstractGfxScopeWidget(manager, true, parent)
index fc98f1c78f0f50c6940574a0ee293750792b9ccb..76a6e72226227078ded5468f5541ad6a3ff93ec2 100644 (file)
@@ -22,7 +22,7 @@
 #include "colortools.h"
 #include "renderer.h"
 #include "vectorscope.h"
-#include "vectorscopegenerator.h"
+#include "colorcorrection/vectorscopegenerator.h"
 
 const float P75 = .75;
 const unsigned char DEFAULT_Y = 255;
index bf09234bfeb9174ec7c3ae645539629879e11d65..f8fec8b1493d450c6802013d00e7592f3726595d 100644 (file)
@@ -19,7 +19,7 @@
 
 #include "renderer.h"
 #include "waveform.h"
-#include "waveformgenerator.h"
+#include "colorcorrection/waveformgenerator.h"
 
 
 const QSize Waveform::m_textWidth(35,0);
diff --git a/src/commands/CMakeLists.txt b/src/commands/CMakeLists.txt
new file mode 100644 (file)
index 0000000..e6cf61e
--- /dev/null
@@ -0,0 +1,34 @@
+set(kdenlive_SRCS
+  ${kdenlive_SRCS}
+  commands/addclipcommand.cpp
+  commands/addclipcutcommand.cpp
+  commands/addeffectcommand.cpp
+  commands/addfoldercommand.cpp
+  commands/addmarkercommand.cpp
+  commands/addtimelineclipcommand.cpp
+  commands/addtrackcommand.cpp
+  commands/addtransitioncommand.cpp
+  commands/changecliptypecommand.cpp
+  commands/changespeedcommand.cpp
+  commands/configtrackscommand.cpp
+  commands/editclipcommand.cpp
+  commands/editclipcutcommand.cpp
+  commands/editeffectcommand.cpp
+  commands/editfoldercommand.cpp
+  commands/editguidecommand.cpp
+  commands/editkeyframecommand.cpp
+  commands/edittransitioncommand.cpp
+  commands/groupclipscommand.cpp
+  commands/insertspacecommand.cpp
+  commands/locktrackcommand.cpp
+  commands/moveclipcommand.cpp
+  commands/moveeffectcommand.cpp
+  commands/movegroupcommand.cpp
+  commands/movetransitioncommand.cpp
+  commands/razorclipcommand.cpp
+  commands/razorgroupcommand.cpp
+  commands/rebuildgroupcommand.cpp
+  commands/resizeclipcommand.cpp
+  commands/splitaudiocommand.cpp
+  PARENT_SCOPE
+)
index 052d1efc0b21748d854bd9e2cde6eeb5496147c0..35b11c21c9910934a8899d04f904da7d742f2ee8 100644 (file)
 #include "docclipbase.h"
 #include "clipitem.h"
 #include "definitions.h"
-#include "moveclipcommand.h"
-#include "movetransitioncommand.h"
-#include "resizeclipcommand.h"
-#include "editguidecommand.h"
-#include "addtimelineclipcommand.h"
-#include "addeffectcommand.h"
-#include "editeffectcommand.h"
-#include "moveeffectcommand.h"
-#include "addtransitioncommand.h"
-#include "edittransitioncommand.h"
-#include "editkeyframecommand.h"
-#include "changespeedcommand.h"
-#include "addmarkercommand.h"
-#include "razorclipcommand.h"
+#include "commands/moveclipcommand.h"
+#include "commands/movetransitioncommand.h"
+#include "commands/resizeclipcommand.h"
+#include "commands/editguidecommand.h"
+#include "commands/addtimelineclipcommand.h"
+#include "commands/addeffectcommand.h"
+#include "commands/editeffectcommand.h"
+#include "commands/moveeffectcommand.h"
+#include "commands/addtransitioncommand.h"
+#include "commands/edittransitioncommand.h"
+#include "commands/editkeyframecommand.h"
+#include "commands/changespeedcommand.h"
+#include "commands/addmarkercommand.h"
+#include "commands/razorclipcommand.h"
 #include "kdenlivesettings.h"
 #include "transition.h"
 #include "clipmanager.h"
 #include "ui_keyframedialog_ui.h"
 #include "clipdurationdialog.h"
 #include "abstractgroupitem.h"
-#include "insertspacecommand.h"
+#include "commands/insertspacecommand.h"
 #include "spacerdialog.h"
-#include "addtrackcommand.h"
-#include "movegroupcommand.h"
+#include "commands/addtrackcommand.h"
+#include "commands/movegroupcommand.h"
 #include "ui_addtrack_ui.h"
 #include "initeffects.h"
-#include "locktrackcommand.h"
-#include "groupclipscommand.h"
-#include "splitaudiocommand.h"
-#include "changecliptypecommand.h"
+#include "commands/locktrackcommand.h"
+#include "commands/groupclipscommand.h"
+#include "commands/splitaudiocommand.h"
+#include "commands/changecliptypecommand.h"
 #include "trackdialog.h"
 #include "tracksconfigdialog.h"
-#include "configtrackscommand.h"
-#include "rebuildgroupcommand.h"
-#include "razorgroupcommand.h"
+#include "commands/configtrackscommand.h"
+#include "commands/rebuildgroupcommand.h"
+#include "commands/razorgroupcommand.h"
 #include "profilesdialog.h"
 
 #include <KDebug>
index 68a2dfa38be5fb3762153d441071b063dc3b7101..ebc4b8441340a3d79c8648ae2a4bb941fe37838f 100644 (file)
@@ -68,22 +68,16 @@ DvdWizardVob::DvdWizardVob(const QString &profile, QWidget *parent) :
     m_view.vobs_list->header()->setResizeMode(1, QHeaderView::Custom);
     m_view.vobs_list->header()->setResizeMode(2, QHeaderView::Custom);
 
-#if KDE_IS_VERSION(4,2,0)
     m_capacityBar = new KCapacityBar(KCapacityBar::DrawTextInline, this);
     QHBoxLayout *layout = new QHBoxLayout;
     layout->addWidget(m_capacityBar);
     m_view.size_box->setLayout(layout);
-#else
-    m_view.size_box->setHidden(true);
-#endif
     slotCheckVobList();
 }
 
 DvdWizardVob::~DvdWizardVob()
 {
-#if KDE_IS_VERSION(4,2,0)
     delete m_capacityBar;
-#endif
 }
 
 
@@ -300,7 +294,6 @@ void DvdWizardVob::slotCheckVobList()
     if (hasItem && m_view.vobs_list->indexOfTopLevelItem(item) == max - 1) m_view.button_down->setEnabled(false);
     else m_view.button_down->setEnabled(hasItem);
 
-#if KDE_IS_VERSION(4,2,0)
     qint64 totalSize = 0;
     for (int i = 0; i < max; i++) {
         item = m_view.vobs_list->topLevelItem(i);
@@ -310,7 +303,6 @@ void DvdWizardVob::slotCheckVobList()
     qint64 maxSize = (qint64) 47000 * 100000;
     m_capacityBar->setValue(100 * totalSize / maxSize);
     m_capacityBar->setText(KIO::convertSize(totalSize));
-#endif
 }
 
 void DvdWizardVob::slotItemUp()
index 58698cf0a2018286a5d4b14ecbe1197eed520c8c..aa024dd8d3494c6b14538b8a0473d7006f27ee7a 100644 (file)
 #include "ui_dvdwizardvob_ui.h"
 
 #include <kdeversion.h>
-
-#if KDE_IS_VERSION(4,2,0)
 #include <kcapacitybar.h>
-#endif
-
 #include <KUrl>
 
 #include <QWizardPage>
@@ -57,10 +53,7 @@ public:
 private:
     Ui::DvdWizardVob_UI m_view;
     QString m_errorMessage;
-
-#if KDE_IS_VERSION(4,2,0)
     KCapacityBar *m_capacityBar;
-#endif
 
 public slots:
     void slotAddVobFile(KUrl url = KUrl(), const QString &chapters = QString());
index 7253b4957a0cab52c6caac74781804f0ccb70029..2a9566795d7bd50f28b933843867ecb6ad5b7039 100644 (file)
@@ -35,7 +35,7 @@
 #include "doubleparameterwidget.h"
 #include "cornerswidget.h"
 #include "beziercurve/beziersplinewidget.h"
-#ifdef QJSON
+#ifdef USE_QJSON
 #include "rotoscoping/rotowidget.h"
 #endif
 
@@ -457,7 +457,7 @@ void EffectStackEdit::transferParamDesc(const QDomElement &d, ItemInfo info, boo
             QString depends = pa.attribute("depends");
             if (!depends.isEmpty())
                 meetDependency(paramName, type, EffectsList::parameter(d, depends));
-#ifdef QJSON
+#ifdef USE_QJSON
         } else if (type == "roto-spline") {
             RotoWidget *roto = new RotoWidget(value, m_monitor, info, m_timecode, this);
             roto->slotShowScene(!disable);
@@ -751,7 +751,7 @@ void EffectStackEdit::collectAllParameters()
             QString depends = pa.attributes().namedItem("depends").nodeValue();
             if (!depends.isEmpty())
                 meetDependency(paramName, type, EffectsList::parameter(newparam, depends));
-#ifdef QJSON
+#ifdef USE_QJSON
         } else if (type == "roto-spline") {
             RotoWidget *widget = static_cast<RotoWidget *>(m_valueItems.value(paramName));
             setValue = widget->getSpline();
index 0299879ad4f9cb71c80531fe0b4ba453b248a074..5fe10437fed91dced3dac2b2e34507ddac5b8a08 100644 (file)
@@ -19,7 +19,7 @@
 
 #include "kdenlivesettingsdialog.h"
 #include "profilesdialog.h"
-#if !defined(Q_OS_FREEBSD) && !defined(Q_OS_KFREEBSD)
+#ifdef USE_V4L
 #include "v4l/v4lcapture.h"
 #endif
 #include "blackmagic/devices.h"
 #include <stdio.h>
 #include <unistd.h>
 #include <fcntl.h>
-#ifndef NO_JOGSHUTTLE
+#ifdef USE_JOGSHUTTLE
 #include "jogaction.h"
 #include "jogshuttleconfig.h"
 #include <linux/input.h>
-#endif /* NO_JOGSHUTTLE */
+#endif
 
 
 KdenliveSettingsDialog::KdenliveSettingsDialog(const QMap<QString, QString>& mappable_actions, QWidget * parent) :
@@ -97,7 +97,7 @@ KdenliveSettingsDialog::KdenliveSettingsDialog(const QMap<QString, QString>& map
     QWidget *p4 = new QWidget;
     m_configCapture.setupUi(p4);
 
-#if !defined(Q_WS_MAC) && !defined(Q_OS_FREEBSD) && !defined(Q_OS_KFREEBSD)
+#ifdef USE_V4L
 
     // Video 4 Linux device detection
     for (int i = 0; i < 10; i++) {
@@ -120,18 +120,15 @@ KdenliveSettingsDialog::KdenliveSettingsDialog(const QMap<QString, QString>& map
 
     m_page4 = addPage(p4, i18n("Capture"), "media-record");
     m_configCapture.tabWidget->setCurrentIndex(KdenliveSettings::defaultcapture());
-#ifdef Q_WS_MAC
+#ifndef USE_V4L
     m_configCapture.tabWidget->setEnabled(false);
     m_configCapture.kcfg_defaultcapture->setEnabled(false);
-    m_configCapture.label->setText(i18n("Capture is not yet available on OS X."));
+    m_configCapture.label->setText(i18n("Capture is not yet available on this platform."));
 #endif
 
     QWidget *p5 = new QWidget;
     m_configShuttle.setupUi(p5);
-#ifdef NO_JOGSHUTTLE
-    m_configShuttle.kcfg_enableshuttle->hide();
-    m_configShuttle.kcfg_enableshuttle->setDisabled(true);
-#else
+#ifdef USE_JOGSHUTTLE
     connect(m_configShuttle.kcfg_enableshuttle, SIGNAL(stateChanged(int)), this, SLOT(slotCheckShuttle(int)));
     connect(m_configShuttle.shuttledevicelist, SIGNAL(activated(int)), this, SLOT(slotUpdateShuttleDevice(int)));
     slotCheckShuttle(KdenliveSettings::enableshuttle());
@@ -171,13 +168,16 @@ KdenliveSettingsDialog::KdenliveSettingsDialog(const QMap<QString, QString>& map
       if (i < actions_map.size())
         button->setCurrentIndex(action_pos[actions_map[i]]);
     }
-#endif /* NO_JOGSHUTTLE */
+#else /* ! USE_JOGSHUTTLE */
+    m_configShuttle.kcfg_enableshuttle->hide();
+    m_configShuttle.kcfg_enableshuttle->setDisabled(true);
+#endif /* USE_JOGSHUTTLE */
     m_page5 = addPage(p5, i18n("JogShuttle"), "input-mouse");
 
     QWidget *p6 = new QWidget;
     m_configSdl.setupUi(p6);
 
-#if not defined(Q_WS_MAC) && not defined(USE_OPEN_GL)
+#ifndef USE_OPENGL
     m_configSdl.kcfg_openglmonitors->setHidden(true);
 #endif
 
@@ -506,7 +506,7 @@ void KdenliveSettingsDialog::slotEditImageApplication()
     m_configEnv.kcfg_defaultimageapp->setText(service->exec());
 }
 
-#ifndef NO_JOGSHUTTLE
+#ifdef USE_JOGSHUTTLE
 void KdenliveSettingsDialog::slotCheckShuttle(int state)
 {
     m_configShuttle.config_group->setEnabled(state);
@@ -536,13 +536,13 @@ void KdenliveSettingsDialog::slotUpdateShuttleDevice(int ix)
     m_configShuttle.kcfg_shuttledevice->setText(device);
 }
 
-#endif /* NO_JOGSHUTTLE */
+#endif /* USE_JOGSHUTTLE */
 
 void KdenliveSettingsDialog::updateWidgets()
 {
     // Revert widgets to last saved state (for example when user pressed "Cancel")
     // kDebug() << "// // // KCONFIG Revert called";
-#ifndef NO_JOGSHUTTLE
+#ifdef USE_JOGSHUTTLE
     // revert jog shuttle device
     if (m_configShuttle.shuttledevicelist->count() > 0) {
        for (int i = 0; i < m_configShuttle.shuttledevicelist->count(); i++) {
@@ -573,7 +573,7 @@ void KdenliveSettingsDialog::updateWidgets()
       if (i < actions_map.size())
         button->setCurrentIndex(action_pos[actions_map[i]]);
     }
-#endif
+#endif /* USE_JOGSHUTTLE */
 }
 
 void KdenliveSettingsDialog::updateSettings()
@@ -698,7 +698,7 @@ void KdenliveSettingsDialog::updateSettings()
         saveTranscodeProfiles();
     }
 
-#ifndef NO_JOGSHUTTLE
+#ifdef USE_JOGSHUTTLE
     m_shuttleModified = false;
 
     QStringList actions;
@@ -712,9 +712,7 @@ void KdenliveSettingsDialog::updateSettings()
        KdenliveSettings::setShuttlebuttons(maps);
 #endif
 
-#if KDE_IS_VERSION(4,3,0)
     KConfigDialog::settingsChangedSlot();
-#endif
 
     //KConfigDialog::updateSettings();
     if (resetProfile) emit doResetProfile();
@@ -792,7 +790,7 @@ void KdenliveSettingsDialog::slotDeleteTranscode()
 
 void KdenliveSettingsDialog::slotShuttleModified()
 {
-#ifndef NO_JOGSHUTTLE
+#ifdef USE_JOGSHUTTLE
     QStringList actions;
     actions << "monitor_pause";  // the Job rest position action.
     foreach (KComboBox* button, m_shuttle_buttons) {
@@ -801,17 +799,13 @@ void KdenliveSettingsDialog::slotShuttleModified()
     QString maps = JogShuttleConfig::actionMap(actions);
     m_shuttleModified = KdenliveSettings::shuttlebuttons() != maps;
 #endif
-#if KDE_IS_VERSION(4,3,0)
     KConfigDialog::updateButtons();
-#endif
 }
 
 void KdenliveSettingsDialog::slotDialogModified()
 {
     m_modified = true;
-#if KDE_IS_VERSION(4,3,0)
     KConfigDialog::updateButtons();
-#endif
 }
 
 //virtual
index 6334af20fd71f46d9223a28955c26dc62815936a..8c01c3fbb915f710a29cef91e29d928bb753c9c1 100644 (file)
@@ -53,10 +53,10 @@ protected slots:
 
 private slots:
     void slotUpdateDisplay();
-#ifndef NO_JOGSHUTTLE
+#ifdef USE_JOGSHUTTLE
     void slotCheckShuttle(int state = 0);
     void slotUpdateShuttleDevice(int ix = 0);
-#endif /* NO_JOGSHUTTLE */
+#endif
     void slotEditImageApplication();
     void slotEditAudioApplication();
     void slotEditVideoApplication();
index f7c6b56eb7ad42d6fee07531adb23a0ac15c6a42..51288bf59cd03cb09d4ba00af8a56a2f268ec14e 100644 (file)
@@ -1 +1,7 @@
-add_subdirectory(tools)
+set(kdenlive_SRCS
+  ${kdenlive_SRCS}
+  kiss_fft/_kiss_fft_guts.h
+  kiss_fft/kiss_fft.c
+  kiss_fft/tools/kiss_fftr.c
+  PARENT_SCOPE
+)
index 82597e58b1650e0144f92ce85d9957aa20f8bc91..8f94b077bf2f0859a2121be1a010e13fc3ce30c1 100644 (file)
@@ -1,11 +1,13 @@
 #ifndef KISS_FFT_H
 #define KISS_FFT_H
 
+#include "kdenlive-config.h"
+
 #include <stdlib.h>
 #include <stdio.h>
 #include <math.h>
 #include <string.h>
-#if !defined(__APPLE__) && !defined(__FreeBSD__)
+#ifdef HAVE_MALLOC_H
 #include <malloc.h>
 #endif
 
diff --git a/src/kiss_fft/tools/CMakeLists.txt b/src/kiss_fft/tools/CMakeLists.txt
deleted file mode 100644 (file)
index e69de29..0000000
index db5a81512113dd1ba7ab329493e4584c2b5010d4..0459227973d84d4fdcf33dac57b0f0aded3588dd 100644 (file)
@@ -18,7 +18,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 #include <string.h>
 #include <unistd.h>
 
-#include "kiss_fft.h"
+#include "../kiss_fft.h"
 #include "kiss_fftndr.h"
 
 static
index 9b5fd677376b5df66f7fb03366395eb9c6ad982d..321a88a89acfa11042652acd88c96c95312067c1 100644 (file)
@@ -1,6 +1,6 @@
 #ifndef KFC_H
 #define KFC_H
-#include "kiss_fft.h"
+#include "../kiss_fft.h"
 
 #ifdef __cplusplus
 extern "C" {
index 1c96216df502d97d8607ed2e017b62ec6b9224e2..dfd7c8c0929ac25bcc48a955a2b6488277d0301b 100644 (file)
@@ -12,7 +12,7 @@ Redistribution and use in source and binary forms, with or without modification,
 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 
-#include "_kiss_fft_guts.h"
+#include "../_kiss_fft_guts.h"
 
 
 /*
index d6c91243a8938088f9d0e74dc8194a14e3a1417a..a1189781f441ce001bd307d4ce82dadcc4b6c8a1 100644 (file)
@@ -15,7 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 */
 
 #include "kiss_fftnd.h"
-#include "_kiss_fft_guts.h"
+#include "../_kiss_fft_guts.h"
 
 struct kiss_fftnd_state{
     int dimprod; /* dimsum would be mighty tasty right now */
index 42e7df5b54715bbaa0197bc76e15282d09d22c80..ed7a0696a3c2a27733994631c2b3110b4ec4a8de 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef KISS_FFTND_H
 #define KISS_FFTND_H
 
-#include "kiss_fft.h"
+#include "../kiss_fft.h"
 
 #ifdef __cplusplus
 extern "C" {
index ba550dd10b5a113f9d3e51d12e946007e8382ca4..b593183a4f6689ab00a2b6511b4f1e0c3004c618 100644 (file)
@@ -13,7 +13,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 */
 
 #include "kiss_fftndr.h"
-#include "_kiss_fft_guts.h"
+#include "../_kiss_fft_guts.h"
 #define MAX(x,y) ( ( (x)<(y) )?(y):(x) )
 
 struct kiss_fftndr_state
index 38ec3ab02374cb7abaf7a1181f8509df47ce51ed..15df650848294852554d42ce13c60d26ee8d9c2d 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef KISS_NDR_H
 #define KISS_NDR_H
 
-#include "kiss_fft.h"
+#include "../kiss_fft.h"
 #include "kiss_fftr.h"
 #include "kiss_fftnd.h"
 
index f389770bd9213ee90f5fea2a700f53106a1f529b..a9855534422dcd0bddb6d57024b988915d355faa 100644 (file)
@@ -13,7 +13,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 */
 
 #include "kiss_fftr.h"
-#include "_kiss_fft_guts.h"
+#include "../_kiss_fft_guts.h"
 
 struct kiss_fftr_state{
     kiss_fft_cfg substate;
index 72e5a57714df11f15a78640bfd8701f00c85dc77..81d8a8ec1712843086dc65e228f6d3fa0b99a5ff 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef KISS_FTR_H
 #define KISS_FTR_H
 
-#include "kiss_fft.h"
+#include "../kiss_fft.h"
 #ifdef __cplusplus
 extern "C" {
 #endif
index d11a54fd2ee43b339713e222f1dcbe1e7ba53b01..ef9ff5bcd2cb6eba12b21bbe501243f44cf73439 100644 (file)
@@ -19,7 +19,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 #include <unistd.h>
 #include <png.h>
 
-#include "kiss_fft.h"
+#include "../kiss_fft.h"
 #include "kiss_fftr.h"
 
 int nfft=1024;
index edeb2e48c298696eb38204d70cd1543ed4e1498f..de8c7494bd4f27cf42e607b60b0da9c49ce7ee84 100644 (file)
 #include "renderwidget.h"
 #include "renderer.h"
 #include "audiosignal.h"
-#ifndef NO_JOGSHUTTLE
+#ifdef USE_JOGSHUTTLE
 #include "jogshuttle.h"
 #include "jogaction.h"
 #include "jogshuttleconfig.h"
-#endif /* NO_JOGSHUTTLE */
+#endif
 #include "clipproperties.h"
 #include "wizard.h"
-#include "editclipcommand.h"
+#include "commands/editclipcommand.h"
 #include "titlewidget.h"
 #include "markerdialog.h"
 #include "clipitem.h"
@@ -59,8 +59,8 @@
 #include "colorscopes/waveform.h"
 #include "colorscopes/rgbparade.h"
 #include "colorscopes/histogram.h"
-#include "audiospectrum.h"
-#include "spectrogram.h"
+#include "audioscopes/audiospectrum.h"
+#include "audioscopes/spectrogram.h"
 #include "archivewidget.h"
 #include "databackup/backupwidget.h"
 
 #include <KFileItem>
 #include <KNotification>
 #include <KNotifyConfigWidget>
-#if KDE_IS_VERSION(4,3,80)
 #include <knewstuff3/downloaddialog.h>
 #include <knewstuff3/knewstuffaction.h>
-#else
-#include <knewstuff2/engine.h>
-#include <knewstuff2/ui/knewstuffaction.h>
-#define KNS3 KNS
-#endif /* KDE_IS_VERSION(4,3,80) */
 #include <KToolBar>
 #include <KColorScheme>
 #include <KProgressDialog>
@@ -143,10 +137,10 @@ MainWindow::MainWindow(const QString &MltPath, const KUrl & Url, const QString &
     m_activeTimeline(NULL),
     m_recMonitor(NULL),
     m_renderWidget(NULL),
-#ifndef NO_JOGSHUTTLE
+#ifdef USE_JOGSHUTTLE
     m_jogProcess(NULL),
     m_jogShuttle(NULL),
-#endif /* NO_JOGSHUTTLE */
+#endif
     m_findActivated(false),
     m_stopmotion(NULL)
 {   
@@ -235,7 +229,7 @@ MainWindow::MainWindow(const QString &MltPath, const KUrl & Url, const QString &
     connect(m_recMonitor, SIGNAL(addProjectClip(KUrl)), this, SLOT(slotAddProjectClip(KUrl)));
     connect(m_recMonitor, SIGNAL(addProjectClipList(KUrl::List)), this, SLOT(slotAddProjectClipList(KUrl::List)));
     connect(m_recMonitor, SIGNAL(showConfigDialog(int, int)), this, SLOT(slotPreferences(int, int)));
-#endif
+#endif /* ! Q_WS_MAC */
     m_monitorManager->initMonitors(m_clipMonitor, m_projectMonitor, m_recMonitor);
 
     m_notesDock = new QDockWidget(i18n("Project Notes"), this);
@@ -245,9 +239,7 @@ MainWindow::MainWindow(const QString &MltPath, const KUrl & Url, const QString &
     connect(m_notesWidget, SIGNAL(seekProject(int)), m_projectMonitor->render, SLOT(seekToFrame(int)));
     
     m_notesWidget->setTabChangesFocus(true);
-#if KDE_IS_VERSION(4,4,0)
     m_notesWidget->setClickMessage(i18n("Enter your project notes here ..."));
-#endif
     m_notesDock->setWidget(m_notesWidget);
     addDockWidget(Qt::TopDockWidgetArea, m_notesDock);
 
@@ -615,9 +607,9 @@ MainWindow::MainWindow(const QString &MltPath, const KUrl & Url, const QString &
         m_projectList->slotAddClip(urls);
     }
 
-#ifndef NO_JOGSHUTTLE
+#ifdef USE_JOGSHUTTLE
     activateShuttleDevice();
-#endif /* NO_JOGSHUTTLE */
+#endif
     m_projectListDock->raise();
 
     actionCollection()->addAssociatedWidget(m_clipMonitor->container());
@@ -829,7 +821,7 @@ void MainWindow::slotReloadEffects()
     m_effectList->reloadEffectList(m_effectsMenu, m_effectActions);
 }
 
-#ifndef NO_JOGSHUTTLE
+#ifdef USE_JOGSHUTTLE
 void MainWindow::activateShuttleDevice()
 {
     delete m_jogShuttle;
@@ -847,7 +839,7 @@ void MainWindow::activateShuttleDevice()
     connect(m_jogShuttle, SIGNAL(forward(double)), m_monitorManager, SLOT(slotForward(double)));
     connect(m_jogShuttle, SIGNAL(action(const QString&)), this, SLOT(slotDoAction(const QString&)));
 }
-#endif /* NO_JOGSHUTTLE */
+#endif /* USE_JOGSHUTTLE */
 
 void MainWindow::slotDoAction(const QString& action_name)
 {
@@ -2260,7 +2252,7 @@ void MainWindow::slotEditProjectSettings()
     if (w->exec() == QDialog::Accepted) {
         QString profile = w->selectedProfile();
         m_activeDocument->setProjectFolder(w->selectedFolder());
-#ifndef   Q_WS_MAC
+#ifndef Q_WS_MAC
         m_recMonitor->slotUpdateCaptureFolder(m_activeDocument->projectFolder().path(KUrl::AddTrailingSlash));
 #endif
         if (m_renderWidget) m_renderWidget->setDocumentPath(m_activeDocument->projectFolder().path(KUrl::AddTrailingSlash));
@@ -2589,7 +2581,7 @@ void MainWindow::connectDocument(TrackView *trackView, KdenliveDoc *doc)   //cha
     m_activeDocument = doc;
     m_activeTimeline->updateProjectFps();
     m_activeDocument->checkProjectClips();
-#ifndef   Q_WS_MAC
+#ifndef Q_WS_MAC
     m_recMonitor->slotUpdateCaptureFolder(m_activeDocument->projectFolder().path(KUrl::AddTrailingSlash));
 #endif
     //Update the mouse position display so it will display in DF/NDF format by default based on the project setting.
@@ -2656,7 +2648,7 @@ void MainWindow::slotPreferences(int page, int option)
 void MainWindow::slotUpdateCaptureFolder()
 {
 
-#ifndef   Q_WS_MAC
+#ifndef Q_WS_MAC
     if (m_activeDocument) m_recMonitor->slotUpdateCaptureFolder(m_activeDocument->projectFolder().path(KUrl::AddTrailingSlash));
     else m_recMonitor->slotUpdateCaptureFolder(KdenliveSettings::defaultprojectfolder());
 #endif
@@ -2679,9 +2671,9 @@ void MainWindow::updateConfiguration()
 
     // Update list of transcoding profiles
     loadTranscoders();
-#ifndef NO_JOGSHUTTLE
+#ifdef USE_JOGSHUTTLE
     activateShuttleDevice();
-#endif /* NO_JOGSHUTTLE */
+#endif
 
 }
 
@@ -3669,7 +3661,6 @@ void MainWindow::slotResizeItemEnd()
 int MainWindow::getNewStuff(const QString &configFile)
 {
     KNS3::Entry::List entries;
-#if KDE_IS_VERSION(4,3,80)
     KNS3::DownloadDialog dialog(configFile);
     dialog.exec();
     entries = dialog.changedEntries();
@@ -3677,15 +3668,6 @@ int MainWindow::getNewStuff(const QString &configFile)
         if (entry.status() == KNS3::Entry::Installed)
             kDebug() << "// Installed files: " << entry.installedFiles();
     }
-#else
-    KNS::Engine engine(0);
-    if (engine.init(configFile))
-        entries = engine.downloadDialogModal(this);
-    foreach(KNS::Entry * entry, entries) {
-        if (entry->status() == KNS::Entry::Installed)
-            kDebug() << "// Installed files: " << entry->installedFiles();
-    }
-#endif /* KDE_IS_VERSION(4,3,80) */
     return entries.size();
 }
 
index 075132f2d3623dbe4df8f6ffce4d5fa0545c5f41..b2232914fb9c8de826ddaf7a2eba1142c2b1f3c2 100644 (file)
@@ -59,10 +59,10 @@ class Monitor;
 class RecMonitor;
 class CustomTrackView;
 class RenderWidget;
-#ifndef NO_JOGSHUTTLE
+#ifdef USE_JOGSHUTTLE
 class JogShuttle;
 class JogShuttleAction;
-#endif /* NO_JOGSHUTTLE */
+#endif
 class DocClipBase;
 class Render;
 class Transition;
@@ -222,10 +222,10 @@ private:
 
     RenderWidget *m_renderWidget;
 
-#ifndef NO_JOGSHUTTLE
+#ifdef USE_JOGSHUTTLE
     JogShuttle *m_jogProcess;
     JogShuttleAction* m_jogShuttle;
-#endif /* NO_JOGSHUTTLE */
+#endif
 
     KRecentFilesAction *m_fileOpenRecent;
     KAction *m_fileRevert;
@@ -267,9 +267,9 @@ private:
 
     void readOptions();
     void saveOptions();
-#ifndef NO_JOGSHUTTLE
+#ifdef USE_JOGSHUTTLE
     void activateShuttleDevice();
-#endif /* NO_JOGSHUTTLE */
+#endif
     void connectDocumentInfo(KdenliveDoc *doc);
     void findAhead();
     void doOpenFile(const KUrl &url, KAutoSaveFile *stale);
index 7ba44c2cd86005d90459355890226584d00ca35d..ba757335077180dc829706049bfcf3856c081604 100644 (file)
@@ -26,7 +26,8 @@
 #include "gentime.h"
 #include "definitions.h"
 #include "abstractmonitor.h"
-#include "mlt/framework/mlt_types.h"
+
+#include <mlt/framework/mlt_types.h>
 
 #include <QtConcurrentRun>
 
index 4e017b54cd71af96380e9bdeacdbe91ca0c087aa..db3989406dee5d12be592f60ce96b2c36fd14ce3 100644 (file)
@@ -155,7 +155,7 @@ Monitor::Monitor(QString name, MonitorManager *manager, QString profile, QWidget
     createOpenGlWidget(m_videoBox, profile);
     monitorCreated = true;
     //m_glWidget->setFixedSize(width, height);
-#elif defined (USE_OPEN_GL)
+#elif defined(USE_OPENGL)
     if (KdenliveSettings::openglmonitors()) {
         monitorCreated = createOpenGlWidget(m_videoBox, profile);
     }
@@ -169,7 +169,7 @@ Monitor::Monitor(QString name, MonitorManager *manager, QString profile, QWidget
         render = new Render(m_name, (int) m_monitorRefresh->winId(), profile, this);
         m_monitorRefresh->setRenderer(render);
     }
-#if defined (USE_OPEN_GL)
+#ifdef USE_OPENGL
     else if (m_glWidget) {
         lay->addWidget(m_glWidget);
         m_videoBox->setLayout(lay);
@@ -229,7 +229,7 @@ const QString Monitor::name() const
     return m_name;
 }
 
-#if defined(Q_WS_MAC) || defined(USE_OPEN_GL)
+#ifdef USE_OPENGL
 bool Monitor::createOpenGlWidget(QWidget *parent, const QString profile)
 {
     render = new Render(m_name, 0, profile, this);
@@ -577,9 +577,7 @@ void Monitor::slotExtractCurrentFrame()
     KFileDialog *fs = new KFileDialog(KUrl(), "image/png", this);
     fs->setOperationMode(KFileDialog::Saving);
     fs->setMode(KFile::File);
-#if KDE_IS_VERSION(4,2,0)
     fs->setConfirmOverwrite(true);
-#endif
     fs->setKeepLocation(true);
     fs->exec();
     QString path = fs->selectedFile();
@@ -917,7 +915,7 @@ void Monitor::slotSwitchMonitorInfo(bool show)
         if (m_overlay) return;
         if (m_monitorRefresh == NULL) {
             // Using OpenGL display
-#if defined(Q_WS_MAC) || defined(USE_OPEN_GL)
+#ifdef USE_OPENGL
             if (m_glWidget->layout()) delete m_glWidget->layout();
             m_overlay = new Overlay();
             connect(m_overlay, SIGNAL(editMarker()), this, SLOT(slotEditMarker()));
@@ -997,7 +995,7 @@ void Monitor::slotEffectScene(bool show)
         if (m_monitorRefresh) {
             m_monitorRefresh->setVisible(!show);
         } else {
-#if defined(Q_WS_MAC) || defined(USE_OPEN_GL)
+#ifdef USE_OPENGL
             m_glWidget->setVisible(!show);
 #endif
         }
index 527935e4922ba8645efba9c614cecddbdd6376dd..ba949ff0417a35a427af682d44ce705c0d849861 100644 (file)
@@ -25,7 +25,7 @@
 #include "renderer.h"
 #include "timecodedisplay.h"
 #include "abstractmonitor.h"
-#if defined(Q_WS_MAC) || defined(USE_OPEN_GL)
+#ifdef USE_OPENGL
 #include "videoglwidget.h"
 #endif
 
@@ -170,7 +170,7 @@ private:
      *  Necessary because sometimes we get two signals, e.g. we get a clip and we get selected transition = NULL. */
     bool m_loopClipTransition;
 
-#if defined(Q_WS_MAC) || defined(USE_OPEN_GL)
+#ifdef USE_OPENGL
     VideoGLWidget *m_glWidget;
     bool createOpenGlWidget(QWidget *parent, const QString profile);
 #endif
index 1afa18c3ebf87f566fbfe47607ccee1d3a9622d0..58ece7c0638524a9b29b3fec40882a0f609727d4 100644 (file)
@@ -1 +1,6 @@
-add_subdirectory(rotoscoping)
+set(kdenlive_SRCS
+  ${kdenlive_SRCS}
+  onmonitoritems/onmonitorcornersitem.cpp
+  onmonitoritems/onmonitorrectitem.cpp
+  PARENT_SCOPE
+)
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..51776fa29c963cbd9702b57b632152d2c3df0cf1 100644 (file)
@@ -0,0 +1,7 @@
+set(kdenlive_SRCS
+  ${kdenlive_SRCS}
+  onmonitoritems/rotoscoping/bpointitem.cpp
+  onmonitoritems/rotoscoping/nearestpoint.cpp
+  onmonitoritems/rotoscoping/splineitem.cpp
+  PARENT_SCOPE
+)
index 1a767c57eafb4cb3559505e15e3c8c88e5e1547a..536182bff3cd47bed35c95a0bd43058c55b66c42 100644 (file)
@@ -19,7 +19,7 @@
 #ifndef BPOINTITEM_H
 #define BPOINTITEM_H
 
-#include "bpoint.h"
+#include "beziercurve/bpoint.h"
 
 #include <QtCore>
 #include <QAbstractGraphicsShapeItem>
index 6923f3896fec6c87ffa342eeabab1959a6c58144..44e2311d17536d952bad6afb2248cdf528ce87f4 100644 (file)
@@ -19,7 +19,7 @@
 
 #include "projectlist.h"
 #include "projectitem.h"
-#include "addfoldercommand.h"
+#include "commands/addfoldercommand.h"
 #include "kdenlivesettings.h"
 #include "slideshowclip.h"
 #include "ui_colorclip_ui.h"
 #include "projectlistview.h"
 #include "timecodedisplay.h"
 #include "profilesdialog.h"
-#include "editclipcommand.h"
-#include "editclipcutcommand.h"
-#include "editfoldercommand.h"
-#include "addclipcutcommand.h"
+#include "commands/editclipcommand.h"
+#include "commands/editclipcutcommand.h"
+#include "commands/editfoldercommand.h"
+#include "commands/addclipcutcommand.h"
 
 #include "ui_templateclip_ui.h"
 
index a2b8906ab09d9e24079a1557720f4059a026b0a0..3e7d4323641ce87e9d7eeb719c0584b25c9ab21d 100644 (file)
@@ -36,9 +36,7 @@
 #include <KMessageBox>
 #include <KApplication>
 
-#if KDE_IS_VERSION(4,2,0)
 #include <KDiskFreeSpaceInfo>
-#endif
 
 #include <QMouseEvent>
 #include <QMenu>
@@ -112,7 +110,6 @@ RecMonitor::RecMonitor(QString name, MonitorManager *manager, QWidget *parent) :
     m_logger.setFrame(false);
     //m_logger.setInsertPolicy(QComboBox::InsertAtTop);
 
-#if KDE_IS_VERSION(4,2,0)
     m_freeSpace = new KCapacityBar(KCapacityBar::DrawTextInline, this);
     m_freeSpace->setMaximumWidth(150);
     QFontMetricsF fontMetrics(font());
@@ -122,7 +119,6 @@ RecMonitor::RecMonitor(QString name, MonitorManager *manager, QWidget *parent) :
     connect(&m_spaceTimer, SIGNAL(timeout()), this, SLOT(slotUpdateFreeSpace()));
     m_spaceTimer.setInterval(30000);
     m_spaceTimer.setSingleShot(false);
-#endif
 
     control_frame_firewire->setLayout(layout);
     m_displayProcess = new QProcess;
@@ -165,9 +161,7 @@ RecMonitor::RecMonitor(QString name, MonitorManager *manager, QWidget *parent) :
 
 RecMonitor::~RecMonitor()
 {
-#if KDE_IS_VERSION(4,2,0)
     m_spaceTimer.stop();
-#endif
     delete m_captureProcess;
     delete m_displayProcess;
     if (m_captureDevice) delete m_captureDevice;
@@ -203,10 +197,8 @@ void RecMonitor::slotUpdateCaptureFolder(const QString &currentProjectFolder)
         else KMessageBox::information(this, i18n("You need to stop capture before your changes can be applied"), i18n("Capturing"));
     } else slotVideoDeviceChanged(device_selector->currentIndex());
 
-#if KDE_IS_VERSION(4,2,0)
     // update free space info
     slotUpdateFreeSpace();
-#endif
 }
 
 void RecMonitor::slotVideoDeviceChanged(int ix)
@@ -539,9 +531,7 @@ void RecMonitor::slotRecord()
         m_isCapturing = true;
         m_didCapture = true;
         m_captureProcess->write("c\n", 3);
-#if KDE_IS_VERSION(4,2,0)
         m_spaceTimer.start();
-#endif
         return;
     }
     if (m_captureProcess->state() == QProcess::NotRunning) {
@@ -792,12 +782,9 @@ void RecMonitor::slotProcessStatus(QProcess::ProcessState status)
         }
         m_isCapturing = false;
 
-#if KDE_IS_VERSION(4,2,0)
         m_spaceTimer.stop();
         // update free space info
         slotUpdateFreeSpace();
-#endif
-
     } else {
         if (device_selector->currentIndex() != SCREENGRAB) m_stopAction->setEnabled(true);
         device_selector->setEnabled(false);
@@ -860,21 +847,17 @@ void RecMonitor::manageCapturedFiles()
 // virtual
 void RecMonitor::mousePressEvent(QMouseEvent * /*event*/)
 {
-#if KDE_IS_VERSION(4,2,0)
     if (m_freeSpace->underMouse()) slotUpdateFreeSpace();
-#endif
 }
 
 void RecMonitor::slotUpdateFreeSpace()
 {
-#if KDE_IS_VERSION(4,2,0)
     KDiskFreeSpaceInfo info = KDiskFreeSpaceInfo::freeSpaceInfo(m_capturePath);
     if (info.isValid() && info.size() > 0) {
         m_freeSpace->setValue(100 * info.used() / info.size());
         m_freeSpace->setText(i18n("Free space: %1", KIO::convertSize(info.available())));
         m_freeSpace->update();
     }
-#endif
 }
 
 void RecMonitor::refreshRecMonitor(bool visible)
index fe1d90fb2fb0bd3611ebcc83fcabbf232ae7b574..ec25a73c556d681beb9aa871d596ee447a0eb5dd 100644 (file)
@@ -41,9 +41,7 @@
 #include <kdeversion.h>
 #include <KComboBox>
 
-#if KDE_IS_VERSION(4,2,0)
 #include <kcapacitybar.h>
-#endif
 
 class MonitorManager;
 class MltDeviceCapture;
@@ -76,10 +74,8 @@ private:
     KComboBox m_logger;
     QString m_capturePath;
 
-#if KDE_IS_VERSION(4,2,0)
     KCapacityBar *m_freeSpace;
     QTimer m_spaceTimer;
-#endif
 
     KUrl m_captureFile;
     KIcon m_playIcon;
index eb9f4b03448c6786f565cba5be38fd6879a12300..45e140a1502a4de396c6482aad5a31f253a54bb8 100644 (file)
@@ -32,7 +32,8 @@
 #include "gentime.h"
 #include "definitions.h"
 #include "abstractmonitor.h"
-#include "mlt/framework/mlt_types.h"
+
+#include <mlt/framework/mlt_types.h>
 
 #include <kurl.h>
 
index 8b137891791fe96927ad78e64b0aad7bded08bdc..f38757a11edefd78d96e0565f1e0f3d0caa4300f 100644 (file)
@@ -1 +1,5 @@
-
+set(kdenlive_SRCS
+  ${kdenlive_SRCS}
+  rotoscoping/rotowidget.cpp
+  PARENT_SCOPE
+)
index 7a0d2d9f7ffa332c1a90c2854ca8ba1761cbe721..235bf62b320c25970e681af20344a8389a339a10 100644 (file)
@@ -20,7 +20,7 @@
 #define ROTOWIDGET_H
 
 #include "definitions.h"
-#include "bpoint.h"
+#include "beziercurve/bpoint.h"
 #include "timecode.h"
 
 #include <QWidget>
index 8b137891791fe96927ad78e64b0aad7bded08bdc..7aa2ba54f55a03b3e23dbfc0c4d98d1935bfc7d7 100644 (file)
@@ -1 +1,6 @@
-
+set(kdenlive_SRCS
+  ${kdenlive_SRCS}
+  simplekeyframes/simpletimelinewidget.cpp
+  simplekeyframes/simplekeyframewidget.cpp
+  PARENT_SCOPE
+)
index d7774193a15d1c287f68f399a6340e7a890bbfac..20ede65f9c381eba1f326575b6c5bb9a6b235c49 100644 (file)
@@ -16,7 +16,7 @@
  *   along with Kdenlive.  If not, see <http://www.gnu.org/licenses/>.     *
  ***************************************************************************/
 
-#include "simplekeyframes/simplekeyframewidget.h"
+#include "simplekeyframewidget.h"
 #include "simpletimelinewidget.h"
 #include "timecodedisplay.h"
 
diff --git a/src/stopmotion/CMakeLists.txt b/src/stopmotion/CMakeLists.txt
new file mode 100644 (file)
index 0000000..8cf0261
--- /dev/null
@@ -0,0 +1,5 @@
+set(kdenlive_SRCS
+  ${kdenlive_SRCS}
+  stopmotion/stopmotion.cpp
+  PARENT_SCOPE
+)
index f76f9c2976442a85c66a90dd55c53e2982661f6f..f3251fa68306078c26fa9a8a132928e4fa956507 100644 (file)
  ***************************************************************************/
 
 #include "stopmotion.h"
-#include "../blackmagic/devices.h"
-#if !defined(Q_OS_FREEBSD) && !defined(Q_OS_KFREEBSD)
-#include "../v4l/v4lcapture.h"
+#include "blackmagic/devices.h"
+#ifdef USE_V4L
+#include "v4l/v4lcapture.h"
 #endif
-#include "../slideshowclip.h"
-#include "../profilesdialog.h"
-#include "../mltdevicecapture.h"
-#include "../recmonitor.h"
-#include "../monitormanager.h"
+#include "slideshowclip.h"
+#include "profilesdialog.h"
+#include "mltdevicecapture.h"
+#include "recmonitor.h"
+#include "monitormanager.h"
 #include "ui_smconfig_ui.h"
 #include "kdenlivesettings.h"
 
-
 #include <KDebug>
 #include <KGlobalSettings>
 #include <KFileDialog>
@@ -257,7 +256,7 @@ StopmotionWidget::StopmotionWidget(MonitorManager *manager, KUrl projectFolder,
         // Found a BlackMagic device
     }
     if (QFile::exists(KdenliveSettings::video4vdevice())) {
-#if !defined(Q_WS_MAC) && !defined(Q_OS_FREEBSD) && !defined(Q_OS_KFREEBSD)
+#ifdef USE_V4L
         // Video 4 Linux device detection
         for (int i = 0; i < 10; i++) {
             QString path = "/dev/video" + QString::number(i);
@@ -271,7 +270,7 @@ StopmotionWidget::StopmotionWidget(MonitorManager *manager, KUrl projectFolder,
                 }
             }
         }
-#endif
+#endif /* USE_V4L */
     }
 
     connect(capture_device, SIGNAL(currentIndexChanged(int)), this, SLOT(slotUpdateDeviceHandler()));
@@ -400,7 +399,7 @@ void StopmotionWidget::slotUpdateDeviceHandler()
     }
     m_layout->removeWidget(m_frame_preview);
     if (data == "v4l") {
-#if !defined(Q_WS_MAC) && !defined(Q_OS_FREEBSD) && !defined(Q_OS_KFREEBSD)
+#ifdef USE_V4L
         m_bmCapture = new V4lCaptureHandler(m_layout);
         m_bmCapture->setDevice(capture_device->itemData(capture_device->currentIndex(), Qt::UserRole + 1).toString(), capture_device->itemData(capture_device->currentIndex(), Qt::UserRole + 2).toString());
 #endif
index 0e98ceeb08d63cb7db5cf0c9e93324d2dc11aedb..5a00bd44077f27038df4f335e848c44fc9fc666a 100644 (file)
@@ -1800,9 +1800,7 @@ void TitleWidget::saveTitle(KUrl url)
         KFileDialog *fs = new KFileDialog(KUrl(m_projectTitlePath), "application/x-kdenlivetitle", this);
         fs->setOperationMode(KFileDialog::Saving);
         fs->setMode(KFile::File);
-#if KDE_IS_VERSION(4,2,0)
         fs->setConfirmOverwrite(true);
-#endif
         fs->setKeepLocation(true);
         fs->exec();
         url = fs->selectedUrl();
index be769d6a15ab00aea051bb3a1126d5694c9cf0c2..2e62176abfe454f5d4195db7c3d873c543fb0450 100644 (file)
@@ -30,7 +30,7 @@
 #include "customtrackview.h"
 #include "initeffects.h"
 #include "profilesdialog.h"
-#include "configtrackscommand.h"
+#include "commands/configtrackscommand.h"
 
 #include <KDebug>
 #include <KMessageBox>
diff --git a/src/v4l/CMakeLists.txt b/src/v4l/CMakeLists.txt
new file mode 100644 (file)
index 0000000..562763d
--- /dev/null
@@ -0,0 +1,6 @@
+set(kdenlive_SRCS
+  ${kdenlive_SRCS}
+  v4l/v4lcapture.cpp
+  v4l/src.c
+  PARENT_SCOPE
+)
index 56dbb589d6d9e523d37d6562c5f48ffd32f3964c..0ca337e68f22f6ea6da3e66606099ef4bb26cb5c 100644 (file)
@@ -19,9 +19,7 @@
 
 #ifndef __V4LCAPTUREHANDLER_H__
 #define __V4LCAPTUREHANDLER_H__
-#ifndef __APPLE__
 #include "src.h"
-#endif
 
 #include <QWidget>
 #include <QObject>
diff --git a/src/widgets/CMakeLists.txt b/src/widgets/CMakeLists.txt
deleted file mode 100644 (file)
index e69de29..0000000
index 7a8c12ef8a64ab7ecf4874ee3f623cb677beecf3..a4d400786821183e0def524ac6302a4b52e17954 100644 (file)
@@ -20,7 +20,7 @@
 #include "wizard.h"
 #include "kdenlivesettings.h"
 #include "profilesdialog.h"
-#if !defined(Q_OS_FREEBSD) && !defined(Q_OS_KFREEBSD)
+#ifdef USE_V4L
 #include "v4l/v4lcapture.h"
 #endif
 #include "kdenlive-config.h"
@@ -158,7 +158,7 @@ Wizard::Wizard(bool upgrade, QWidget *parent) :
 
 void Wizard::slotDetectWebcam()
 {
-#if !defined(Q_WS_MAC) && !defined(Q_OS_FREEBSD) && !defined(Q_OS_KFREEBSD)
+#ifdef USE_V4L
     m_capture.v4l_devices->blockSignals(true);
     m_capture.v4l_devices->clear();
 
@@ -189,7 +189,7 @@ void Wizard::slotDetectWebcam()
         if (!found) m_capture.v4l_devices->setCurrentIndex(0);
     } else m_capture.v4l_status->setText(i18n("No device found, plug your webcam and refresh."));
     m_capture.v4l_devices->blockSignals(false);
-#endif
+#endif /* USE_V4L */
 }
 
 void Wizard::slotUpdateCaptureParameters()