-add_subdirectory( widgets )
-add_subdirectory( mimetypes )
+add_subdirectory(beziercurve)
+add_subdirectory(colorcorrection)
+add_subdirectory(kiss_fft)
+add_subdirectory(mimetypes)
+add_subdirectory(onmonitoritems)
+add_subdirectory(rotoscoping)
+add_subdirectory(widgets)
macro_optional_find_package(Nepomuk)
+macro_optional_find_package(QJSON)
+include(FindQImageBlitz)
-if (Nepomuk_FOUND)
- INCLUDE_DIRECTORIES(NEPOMUK_INCLUDES )
- set( optional_libs ${NEPOMUK_LIBRARIES} )
- add_definitions(-DNEPOMUK)
-endif (Nepomuk_FOUND)
-if (Q_WS_X11)
- include_directories (${X11_Xlib_INCLUDE_PATH} )
-endif (Q_WS_X11)
+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
+)
+
+
+if(Nepomuk_FOUND)
+ include_directories(NEPOMUK_INCLUDES)
+ set(optional_libs ${NEPOMUK_LIBRARIES})
+ add_definitions(-DNEPOMUK)
+endif(Nepomuk_FOUND)
+
+if(QIMAGEBLITZ_FOUND)
+ include_directories(QIMAGEBLITZ_INCLUDES)
+ set(optional_libs ${optional_libs} ${QIMAGEBLITZ_LIBRARIES})
+ add_definitions(-DQIMAGEBLITZ)
+ message(STATUS "Found QImageBlitz: ${QIMAGEBLITZ_LIBRARIES}")
+else(QIMAGEBLITZ_FOUND)
+ message(STATUS "Install QImageBlitz devel package for improved stopmotion features")
+endif(QIMAGEBLITZ_FOUND)
+
+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)
-if (APPLE)
+if(Q_WS_X11)
+ include_directories(${X11_Xlib_INCLUDE_PATH})
+endif(Q_WS_X11)
+
+if(APPLE)
find_package(OpenGL)
set(QT_USE_QTOPENGL TRUE)
-else (APPLE)
+else(APPLE)
macro_optional_find_package(OpenGL)
-endif (APPLE)
-
-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}
+endif(APPLE)
- ${CMAKE_SOURCE_DIR}/src/widgets
- ${CMAKE_SOURCE_DIR}/src/colorcorrection
-)
-LINK_LIBRARIES(
-${LIBMLT_LIBRARY}
-${LIBMLTPLUS_LIBRARY}
-${optional_libs}
+link_libraries(
+ ${LIBMLT_LIBRARY}
+ ${LIBMLTPLUS_LIBRARY}
+ ${optional_libs}
)
-
-
kde4_add_ui_files(kdenlive_UI
widgets/timeline_ui.ui
- widgets/monitor_ui.ui
widgets/recmonitor_ui.ui
widgets/colorclip_ui.ui
widgets/slideshowclip_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/cliptranscode_ui.ui
widgets/templateclip_ui.ui
widgets/keyframeeditor_ui.ui
- widgets/timecodedisplay_ui.ui
widgets/tracksconfigdialog_ui.ui
widgets/urlval_ui.ui
widgets/vectorscope_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
)
set(kdenlive_SRCS
+ ${kdenlive_SRCS}
addclipcommand.cpp
main.cpp
mainwindow.cpp
tracksconfigdialog.cpp
configtrackscommand.cpp
abstractscopewidget.cpp
+ audioscopes/abstractaudioscopewidget.cpp
+ audioscopes/audiospectrum.cpp
+ audioscopes/spectrogram.cpp
+ audioscopes/ffttools.cpp
rebuildgroupcommand.cpp
- histogram.cpp
- rgbparade.cpp
- vectorscope.cpp
- waveform.cpp
+ colorscopes/abstractgfxscopewidget.cpp
+ colorscopes/histogram.cpp
+ colorscopes/rgbparade.cpp
+ colorscopes/vectorscope.cpp
+ colorscopes/waveform.cpp
colorplaneexport.cpp
colortools.cpp
colorcorrection/histogramgenerator.cpp
geometrywidget.cpp
doubleparameterwidget.cpp
audiosignal.cpp
+ blackmagic/include/DeckLinkAPIDispatch.cpp
+ stopmotion/stopmotion.cpp
+ stopmotion/capturehandler.cpp
+ blackmagic/capture.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
)
+add_definitions(${KDE4_DEFINITIONS})
-add_subdirectory( ${CMAKE_SOURCE_DIR}/src/colorcorrection )
-
-add_definitions( ${KDE4_DEFINITIONS} )
-
-if(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR NO_JOGSHUTTLE)
+if(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "NetBSD" OR NO_JOGSHUTTLE)
add_definitions(-DNO_JOGSHUTTLE)
-else(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR NO_JOGSHUTTLE)
- set(kdenlive_SRCS jogshuttle.cpp ${kdenlive_SRCS})
-endif(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR NO_JOGSHUTTLE)
+else(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "NetBSD" 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 NO_JOGSHUTTLE)
-if (APPLE OR OPENGL_FOUND)
+if(APPLE OR OPENGL_FOUND)
add_definitions(-DUSE_OPEN_GL)
set(kdenlive_SRCS videoglwidget.cpp ${kdenlive_SRCS})
-endif (APPLE OR OPENGL_FOUND)
+endif(APPLE OR OPENGL_FOUND)
-kde4_add_kcfg_files(kdenlive_SRCS kdenlivesettings.kcfgc )
-QT4_ADD_DBUS_ADAPTOR(kdenlive_SRCS org.kdenlive.MainWindow.xml mainwindow.h MainWindow)
+if(NOT APPLE AND NOT CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
+ set(kdenlive_SRCS
+ ${kdenlive_SRCS}
+ v4l/v4lcapture.cpp
+ v4l/src.c
+ )
+endif(NOT APPLE AND NOT CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
+
+if(QJSON_FOUND)
+ set(kdenlive_SRCS
+ ${kdenlive_SRCS}
+ onmonitoritems/rotoscoping/bpointitem.cpp
+ onmonitoritems/rotoscoping/nearestpoint.cpp
+ onmonitoritems/rotoscoping/splineitem.cpp
+ rotoscoping/rotowidget.cpp
+ )
+endif(QJSON_FOUND)
+
+# Add libdl
+find_library(DL_LIB NAMES ${CMAKE_DL_LIBS})
+message(STATUS "using dl library: ${DL_LIB}")
+
+kde4_add_kcfg_files(kdenlive_SRCS kdenlivesettings.kcfgc)
+qt4_add_dbus_adaptor(kdenlive_SRCS org.kdenlive.MainWindow.xml mainwindow.h MainWindow)
kde4_add_executable(kdenlive ${kdenlive_SRCS} ${kdenlive_UI})
-if (${KDE_VERSION} VERSION_LESS 4.3.80)
+if(${KDE_VERSION} VERSION_LESS 4.3.80)
set(KNEWSTUFF_LIBS ${KDE4_KNEWSTUFF2_LIBS})
-else (${KDE_VERSION} VERSION_LESS 4.3.80)
+else(${KDE_VERSION} VERSION_LESS 4.3.80)
set(KNEWSTUFF_LIBS ${KDE4_KNEWSTUFF3_LIBS})
-endif (${KDE_VERSION} VERSION_LESS 4.3.80)
+endif(${KDE_VERSION} VERSION_LESS 4.3.80)
target_link_libraries(kdenlive
${KDE4_KDEUI_LIBS}
${optional_libs}
${KDE4_KNOTIFYCONFIG_LIBRARY}
${KDE4_KROSSUI_LIBS}
+ ${CMAKE_DL_LIBS}
+ ${CMAKE_THREAD_LIBS_INIT}
)
-if (Q_WS_X11)
+if(Q_WS_X11)
target_link_libraries(kdenlive ${X11_LIBRARIES})
-endif (Q_WS_X11)
+endif(Q_WS_X11)
-if (APPLE)
+if(APPLE)
find_package(SDL REQUIRED)
target_link_libraries(kdenlive ${SDL_LIBRARY})
target_link_libraries(kdenlive ${QT_QTOPENGL_LIBRARY})
target_link_libraries(kdenlive ${OPENGL_LIBRARIES})
-else (APPLE)
- if (OPENGL_FOUND)
- target_link_libraries(kdenlive ${QT_QTOPENGL_LIBRARY})
- target_link_libraries(kdenlive ${OPENGL_LIBRARIES})
- endif (OPENGL_FOUND)
-endif (APPLE)
+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)
install(TARGETS kdenlive DESTINATION ${BIN_INSTALL_DIR})
-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 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})
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} )
-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})
+kde4_install_icons(${ICON_INSTALL_DIR})
\ No newline at end of file