From: Till Theato Date: Tue, 1 Feb 2011 17:09:32 +0000 (+0000) Subject: rotoscoping: do only enable if qjson is found X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=b55458213a809ce0b2605cf59968b0bde316d32b;p=kdenlive rotoscoping: do only enable if qjson is found svn path=/trunk/kdenlive/; revision=5373 --- diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c70e30d4..ef477b7e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -7,9 +7,9 @@ add_subdirectory(rotoscoping) add_subdirectory(widgets) macro_optional_find_package(Nepomuk) +macro_optional_find_package(QJSON) include(FindQImageBlitz) -find_package(QJSON) include_directories( ${KDE4_INCLUDE_DIR} @@ -17,7 +17,6 @@ include_directories( ${QT_INCLUDES} ${LIBMLT_INCLUDE_DIR} ${LIBMLTPLUS_INCLUDE_DIR} - ${QJSON_INCLUDE_DIR} ${QDBUS_INCLUDE_DIRS} ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} @@ -46,6 +45,14 @@ 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(Q_WS_X11) include_directories(${X11_Xlib_INCLUDE_PATH}) endif(Q_WS_X11) @@ -261,9 +268,6 @@ set(kdenlive_SRCS blackmagic/devices.cpp onmonitoritems/onmonitorrectitem.cpp onmonitoritems/onmonitorcornersitem.cpp - onmonitoritems/rotoscoping/bpointitem.cpp - onmonitoritems/rotoscoping/nearestpoint.cpp - onmonitoritems/rotoscoping/splineitem.cpp cornerswidget.cpp kiss_fft/_kiss_fft_guts.h kiss_fft/kiss_fft.c @@ -274,7 +278,6 @@ set(kdenlive_SRCS beziercurve/cubicbezierspline.cpp dragvalue.cpp monitoreditwidget.cpp - rotoscoping/rotowidget.cpp ) add_definitions(${KDE4_DEFINITIONS}) @@ -305,6 +308,16 @@ if(NOT APPLE AND NOT CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") ) 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}") @@ -330,7 +343,6 @@ target_link_libraries(kdenlive ${KDE4_KROSSUI_LIBS} ${CMAKE_DL_LIBS} ${CMAKE_THREAD_LIBS_INIT} - ${QJSON_LIBRARIES} ) if(Q_WS_X11) diff --git a/src/effectstackedit.cpp b/src/effectstackedit.cpp index 892dd851..d156ff70 100644 --- a/src/effectstackedit.cpp +++ b/src/effectstackedit.cpp @@ -35,7 +35,9 @@ #include "doubleparameterwidget.h" #include "cornerswidget.h" #include "beziercurve/beziersplinewidget.h" +#ifdef QJSON #include "rotoscoping/rotowidget.h" +#endif #include #include @@ -408,6 +410,7 @@ void EffectStackEdit::transferParamDesc(const QDomElement d, int pos, int in, in QString depends = pa.attribute("depends"); if (!depends.isEmpty()) meetDependency(paramName, type, EffectsList::parameter(e, depends)); +#ifdef QJSON } else if (type == "roto-spline") { RotoWidget *roto = new RotoWidget(value, m_monitor, m_in, m_out, this); roto->slotShowScene(!disable); @@ -417,6 +420,7 @@ void EffectStackEdit::transferParamDesc(const QDomElement d, int pos, int in, in connect(this, SIGNAL(effectStateChanged(bool)), roto, SLOT(slotShowScene(bool))); m_vbox->addWidget(roto); m_valueItems[paramName] = roto; +#endif } else if (type == "wipe") { Wipeval *wpval = new Wipeval; wpval->setupUi(toFillin); @@ -682,9 +686,11 @@ void EffectStackEdit::collectAllParameters() QString depends = pa.attributes().namedItem("depends").nodeValue(); if (!depends.isEmpty()) meetDependency(paramName, type, EffectsList::parameter(newparam, depends)); +#ifdef QJSON } else if (type == "roto-spline") { RotoWidget *widget = static_cast(m_valueItems.value(paramName)); setValue = widget->getSpline(); +#endif } else if (type == "wipe") { Wipeval *wp = (Wipeval*)m_valueItems.value(paramName); wipeInfo info;