-
Notifications
You must be signed in to change notification settings - Fork 306
WIP: DynamicEffects: Add code for Linux with tests #345
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
kirillmakhonin
wants to merge
8
commits into
OpenShot:develop
Choose a base branch
from
kirillmakhonin:dynamic-effects
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 1 commit
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
296f46f
DynamicEffects: Add code for Linux with tests
kirillmakhonin 54c9af7
Fix all comments
kirillmakhonin 10f05a4
Fix naming, remove using construction
kirillmakhonin 85b551a
Add dlclose calling
kirillmakhonin 2fda2eb
Force cast to string
kirillmakhonin 553cf55
Ignore effects is not used
kirillmakhonin 6d0eaa1
Merge branch 'develop' into dynamic-effects
ferdnyc 808ba35
Merge branch 'develop' into dynamic-effects
ferdnyc File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -6,4 +6,5 @@ | |
| .project | ||
| .cproject | ||
| /.metadata/ | ||
| /plugins* | ||
| *~ | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| ####################### CMakeLists.txt (libopenshot) ######################### | ||
| # @brief CMake build file for libopenshot (used to generate makefiles) | ||
| # @author Jonathan Thomas <[email protected]> | ||
| # | ||
| # @section LICENSE | ||
| # | ||
| # Copyright (c) 2008-2019 OpenShot Studios, LLC | ||
| # <http://www.openshotstudios.com/>. This file is part of | ||
| # OpenShot Library (libopenshot), an open-source project dedicated to | ||
| # delivering high quality video editing and animation solutions to the | ||
| # world. For more information visit <http://www.openshot.org/>. | ||
| # | ||
| # OpenShot Library (libopenshot) is free software: you can redistribute it | ||
| # and/or modify it under the terms of the GNU Lesser General Public License | ||
| # as published by the Free Software Foundation, either version 3 of the | ||
| # License, or (at your option) any later version. | ||
| # | ||
| # OpenShot Library (libopenshot) is distributed in the hope that it will be | ||
| # useful, but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| # GNU Lesser General Public License for more details. | ||
| # | ||
| # You should have received a copy of the GNU Lesser General Public License | ||
| # along with OpenShot Library. If not, see <http://www.gnu.org/licenses/>. | ||
| ################################################################################ | ||
|
|
||
| ############## PROCESS SUB-DIRECTORIES ############## | ||
| add_subdirectory(super-blur) | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,161 @@ | ||
| ##################### tests/CMakeLists.txt (libopenshot) ###################### | ||
| # @brief CMake build file for libopenshot (used to generate makefiles) | ||
| # @author Jonathan Thomas <[email protected]> | ||
| # | ||
| # @section LICENSE | ||
| # | ||
| # Copyright (c) 2008-2019 OpenShot Studios, LLC | ||
| # <http://www.openshotstudios.com/>. This file is part of | ||
| # OpenShot Library (libopenshot), an open-source project dedicated to | ||
| # delivering high quality video editing and animation solutions to the | ||
| # world. For more information visit <http://www.openshot.org/>. | ||
| # | ||
| # OpenShot Library (libopenshot) is free software: you can redistribute it | ||
| # and/or modify it under the terms of the GNU Lesser General Public License | ||
| # as published by the Free Software Foundation, either version 3 of the | ||
| # License, or (at your option) any later version. | ||
| # | ||
| # OpenShot Library (libopenshot) is distributed in the hope that it will be | ||
| # useful, but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| # GNU Lesser General Public License for more details. | ||
| # | ||
| # You should have received a copy of the GNU Lesser General Public License | ||
| # along with OpenShot Library. If not, see <http://www.gnu.org/licenses/>. | ||
| ################################################################################ | ||
|
|
||
| # Pick up our include directories from the parent context | ||
| include_directories(${OPENSHOT_INCLUDE_DIRS}) | ||
|
|
||
| ################ IMAGE MAGICK ################## | ||
| # Set the Quantum Depth that ImageMagick was built with (default to 16 bits) | ||
| IF (MAGICKCORE_QUANTUM_DEPTH) | ||
| add_definitions( -DMAGICKCORE_QUANTUM_DEPTH=${MAGICKCORE_QUANTUM_DEPTH} ) | ||
| ELSE (MAGICKCORE_QUANTUM_DEPTH) | ||
| add_definitions( -DMAGICKCORE_QUANTUM_DEPTH=16 ) | ||
| ENDIF (MAGICKCORE_QUANTUM_DEPTH) | ||
| IF (MAGICKCORE_HDRI_ENABLE) | ||
| add_definitions( -DMAGICKCORE_HDRI_ENABLE=${MAGICKCORE_HDRI_ENABLE} ) | ||
| ELSE (MAGICKCORE_HDRI_ENABLE) | ||
| add_definitions( -DMAGICKCORE_HDRI_ENABLE=0 ) | ||
| ENDIF (MAGICKCORE_HDRI_ENABLE) | ||
| IF (OPENSHOT_IMAGEMAGICK_COMPATIBILITY) | ||
| add_definitions( -DOPENSHOT_IMAGEMAGICK_COMPATIBILITY=${OPENSHOT_IMAGEMAGICK_COMPATIBILITY} ) | ||
| ELSE (OPENSHOT_IMAGEMAGICK_COMPATIBILITY) | ||
| add_definitions( -DOPENSHOT_IMAGEMAGICK_COMPATIBILITY=0 ) | ||
| ENDIF (OPENSHOT_IMAGEMAGICK_COMPATIBILITY) | ||
|
|
||
| # Find the ImageMagick++ library | ||
| FIND_PACKAGE(ImageMagick COMPONENTS Magick++ MagickWand MagickCore) | ||
| IF (ImageMagick_FOUND) | ||
| # Include ImageMagick++ headers (needed for compile) | ||
| include_directories(${ImageMagick_INCLUDE_DIRS}) | ||
|
|
||
| # define a global var (used in the C++) | ||
| add_definitions( -DUSE_IMAGEMAGICK=1 ) | ||
| SET(CMAKE_SWIG_FLAGS "-DUSE_IMAGEMAGICK=1") | ||
|
|
||
| ENDIF (ImageMagick_FOUND) | ||
|
|
||
| ################### FFMPEG ##################### | ||
| # Find FFmpeg libraries (used for video encoding / decoding) | ||
| FIND_PACKAGE(FFmpeg REQUIRED) | ||
|
|
||
| foreach(ffmpeg_comp AVCODEC AVDEVICE AVFORMAT AVFILTER AVUTIL POSTPROC SWSCALE SWRESAMPLE AVRESAMPLE) | ||
| if(${ffmpeg_comp}_FOUND) | ||
| # Include FFmpeg headers (needed for compile) | ||
| list(APPEND FF_INCLUDES ${${ffmpeg_comp}_INCLUDE_DIRS}) | ||
| add_definitions(${${ffmpeg_comp}_DEFINITIONS}) | ||
| endif() | ||
| endforeach() | ||
| list(REMOVE_DUPLICATES FF_INCLUDES) | ||
| include_directories(${FF_INCLUDES}) | ||
|
|
||
| ################# LIBOPENSHOT-AUDIO ################### | ||
| # Find JUCE-based openshot Audio libraries | ||
| FIND_PACKAGE(OpenShotAudio 0.1.8 REQUIRED) | ||
|
|
||
| # Include Juce headers (needed for compile) | ||
| include_directories(${LIBOPENSHOT_AUDIO_INCLUDE_DIRS}) | ||
|
|
||
| ################# QT5 ################### | ||
| # Find QT5 libraries | ||
| foreach(qt_lib Qt5Widgets Qt5Core Qt5Gui Qt5Multimedia Qt5MultimediaWidgets) | ||
| find_package(${qt_lib} REQUIRED) | ||
| # Header files | ||
| list(APPEND QT_INCLUDES ${${qt_lib}_INCLUDE_DIRS}) | ||
| # Compiler definitions | ||
| add_definitions(${${qt_lib}_DEFINITIONS}) | ||
| # Other CFLAGS | ||
| set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${${qt_lib}_EXECUTABLE_COMPILE_FLAGS}") | ||
| endforeach() | ||
| list(REMOVE_DUPLICATES QT_INCLUDES) | ||
| include_directories(${QT_INCLUDES}) | ||
|
|
||
| # Manually moc Qt files | ||
| qt5_wrap_cpp(MOC_FILES ${QT_HEADER_FILES}) | ||
|
|
||
|
|
||
| ################# BLACKMAGIC DECKLINK ################### | ||
| IF (ENABLE_BLACKMAGIC) | ||
| # Find BlackMagic DeckLinkAPI libraries | ||
| FIND_PACKAGE(BlackMagic) | ||
|
|
||
| IF (BLACKMAGIC_FOUND) | ||
| # Include Blackmagic headers (needed for compile) | ||
| include_directories(${BLACKMAGIC_INCLUDE_DIR}) | ||
| ENDIF (BLACKMAGIC_FOUND) | ||
| ENDIF (ENABLE_BLACKMAGIC) | ||
|
|
||
| ################### OPENMP ##################### | ||
| # Check for OpenMP (used for multi-core processing) | ||
| FIND_PACKAGE(OpenMP) | ||
|
|
||
| if (OPENMP_FOUND) | ||
| set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS} ") | ||
| endif(OPENMP_FOUND) | ||
|
|
||
| ################### ZEROMQ ##################### | ||
| # Find ZeroMQ library (used for socket communication & logging) | ||
| FIND_PACKAGE(ZMQ REQUIRED) | ||
|
|
||
| # Include ZeroMQ headers (needed for compile) | ||
| include_directories(${ZMQ_INCLUDE_DIRS}) | ||
|
|
||
| ################### RESVG ##################### | ||
| # Find resvg library (used for rendering svg files) | ||
| FIND_PACKAGE(RESVG) | ||
|
|
||
| # Include resvg headers (optional SVG library) | ||
| if (RESVG_FOUND) | ||
| include_directories(${RESVG_INCLUDE_DIRS}) | ||
| endif(RESVG_FOUND) | ||
|
|
||
| ################### JSONCPP ##################### | ||
| # Include jsoncpp headers (needed for JSON parsing) | ||
| if (USE_SYSTEM_JSONCPP) | ||
| find_package(JsonCpp REQUIRED) | ||
| include_directories(${JSONCPP_INCLUDE_DIRS}) | ||
| else() | ||
| include_directories("../../thirdparty/jsoncpp") | ||
| endif(USE_SYSTEM_JSONCPP) | ||
|
|
||
| SET ( EFFECT_SOURCE_FILES | ||
| SuperBlur.cpp) | ||
|
|
||
| IF (NOT DISABLE_EXTERNAL_EFFECTS) | ||
ferdnyc marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| # Create shared openshot library | ||
| add_library(libeffectsuperblur SHARED | ||
ferdnyc marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| ${EFFECT_SOURCE_FILES}) | ||
|
|
||
| set(LIB_INSTALL_DIR libeffect${LIB_SUFFIX}) # determine correct lib folder | ||
|
|
||
| add_custom_command( | ||
| TARGET libeffectsuperblur | ||
| POST_BUILD | ||
| COMMAND ${CMAKE_COMMAND} -E copy | ||
| $<TARGET_FILE:libeffectsuperblur> | ||
| ${PROJECT_SOURCE_DIR}/plugins/$<TARGET_FILE_NAME:libeffectsuperblur> | ||
| ) | ||
ferdnyc marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ENDIF (NOT DISABLE_EXTERNAL_EFFECTS) | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.