Skip to content

Commit 771aca5

Browse files
authored
Merge branch 'develop' into ferdnyc-patch-1
2 parents b5ab663 + 4951bc5 commit 771aca5

File tree

127 files changed

+2922
-2136
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

127 files changed

+2922
-2136
lines changed

.github/labeler.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Add 'build' label to CMake changes
22
build:
3-
- **/CMakeList.txt
3+
- /**/CMakeList.txt
44
- /cmake/**/*.cmake

.gitlab-ci.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ linux-builder:
1717
- export LIBOPENSHOT_AUDIO_DIR=$CI_PROJECT_DIR/build/install-x64
1818
- mkdir -p build; cd build;
1919
- mkdir -p install-x64/python;
20-
- cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -D"CMAKE_INSTALL_PREFIX:PATH=$CI_PROJECT_DIR/build/install-x64" -D"CMAKE_BUILD_TYPE:STRING=Release" ../
20+
- cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -D"CMAKE_INSTALL_PREFIX:PATH=$CI_PROJECT_DIR/build/install-x64" -D"CMAKE_BUILD_TYPE:STRING=Release" -D"USE_SYSTEM_JSONCPP=0" ../
2121
- make
2222
- make install
2323
- make doc
@@ -70,7 +70,6 @@ windows-builder-x64:
7070
- Expand-Archive -Path artifacts.zip -DestinationPath .
7171
- $env:LIBOPENSHOT_AUDIO_DIR = "$CI_PROJECT_DIR\build\install-x64"
7272
- $env:UNITTEST_DIR = "C:\msys64\usr"
73-
- $env:ZMQDIR = "C:\msys64\usr"
7473
- $env:RESVGDIR = "C:\msys64\usr"
7574
- $env:Path = "C:\msys64\mingw64\bin;C:\msys64\mingw64\lib;C:\msys64\usr\lib\cmake\UnitTest++;C:\msys64\home\jonathan\depot_tools;C:\msys64\usr;C:\msys64\usr\lib;" + $env:Path;
7675
- New-Item -ItemType Directory -Force -Path build
@@ -101,7 +100,6 @@ windows-builder-x86:
101100
- $env:LIBOPENSHOT_AUDIO_DIR = "$CI_PROJECT_DIR\build\install-x86"
102101
- $env:UNITTEST_DIR = "C:\msys32\usr"
103102
- $env:RESVGDIR = "C:\msys32\usr"
104-
- $env:ZMQDIR = "C:\msys32\usr"
105103
- $env:Path = "C:\msys32\mingw32\bin;C:\msys32\mingw32\lib;C:\msys32\usr\lib\cmake\UnitTest++;C:\msys32\home\jonathan\depot_tools;C:\msys32\usr;C:\msys32\usr\lib;" + $env:Path;
106104
- New-Item -ItemType Directory -Force -Path build
107105
- New-Item -ItemType Directory -Force -Path build\install-x86\python

.travis.yml

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
language: cpp
2+
compiler: gcc
23

34
# This section uses a rather esoteric (and tricky!) feature of YAML,
45
# &aliases and *anchors, to build package lists out of sublists without
@@ -32,7 +33,7 @@ addons:
3233

3334
matrix:
3435
include:
35-
- name: "FFmpeg 2 (Ubuntu 16.04 Xenial)"
36+
- name: "FFmpeg 2 GCC (Ubuntu 16.04 Xenial)"
3637
env: BUILD_VERSION=ffmpeg2
3738
os: linux
3839
dist: xenial
@@ -44,7 +45,7 @@ matrix:
4445
packages:
4546
- *ff_common
4647

47-
- name: "FFmpeg 3 (Ubuntu 18.04 Bionic)"
48+
- name: "FFmpeg 3 GCC (Ubuntu 18.04 Bionic)"
4849
env: BUILD_VERSION=ffmpeg3
4950
os: linux
5051
dist: bionic
@@ -57,7 +58,7 @@ matrix:
5758
- *ff_common
5859
- qt5-default
5960

60-
- name: "FFmpeg 4 (Ubuntu 18.04 Bionic)"
61+
- name: "FFmpeg 4 GCC (Ubuntu 18.04 Bionic)"
6162
env: BUILD_VERSION=ffmpeg4
6263
os: linux
6364
dist: bionic
@@ -80,6 +81,21 @@ matrix:
8081
- libavresample4
8182
- libswresample3
8283

84+
- name: "FFmpeg 3 Clang (Ubuntu 18.04 Bionic)"
85+
env: BUILD_VERSION=ffmpeg3
86+
os: linux
87+
dist: bionic
88+
compiler: clang
89+
addons:
90+
apt:
91+
sources:
92+
- sourceline: 'ppa:openshot.developers/libopenshot-daily'
93+
- sourceline: 'ppa:beineri/opt-qt-5.12.3-bionic'
94+
packages:
95+
- *ff_common
96+
- qt5-default
97+
- libomp-dev
98+
8399
script:
84100
- mkdir -p build; cd build;
85101
- cmake -DCMAKE_BUILD_TYPE:STRING="Debug" ../

CMakeLists.txt

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -72,13 +72,6 @@ configure_file(include/OpenShotVersion.h.in include/OpenShotVersion.h @ONLY)
7272
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/include/OpenShotVersion.h
7373
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libopenshot)
7474

75-
############### Set up include paths #################
76-
list(APPEND OPENSHOT_INCLUDE_DIRS
77-
${CMAKE_CURRENT_SOURCE_DIR}/include
78-
${CMAKE_CURRENT_SOURCE_DIR}/include/effects
79-
${CMAKE_CURRENT_SOURCE_DIR}/include/Qt
80-
${CMAKE_CURRENT_BINARY_DIR}/include )
81-
8275
#### Enable C++11 (for std::shared_ptr support)
8376
set(CMAKE_CXX_STANDARD 11)
8477
set(CMAKE_CXX_STANDARD_REQUIRED ON)
@@ -88,9 +81,9 @@ IF (WIN32)
8881
SET_PROPERTY(GLOBAL PROPERTY WIN32 "WIN32")
8982
ENDIF(WIN32)
9083

91-
############## FIND ALL QT RELATED HEADERS ##############
92-
set(QT_HEADER_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include/Qt)
93-
FILE(GLOB QT_HEADER_FILES "${QT_HEADER_DIR}/*.h")
84+
include_directories(
85+
${CMAKE_CURRENT_SOURCE_DIR}/include
86+
${CMAKE_CURRENT_BINARY_DIR}/include)
9487

9588
############## PROCESS src/ DIRECTORIES ##############
9689
add_subdirectory(src)
@@ -104,14 +97,14 @@ if (TARGET doc)
10497
message(STATUS "Doxygen found, documentation target enabled")
10598
message("\nTo compile documentation in doc/html, run: 'make doc'")
10699

107-
# Install docs, if the user builds them with `make doc`
108-
install(CODE "MESSAGE(\"Checking for documentation files to install...\")")
109-
install(CODE "MESSAGE(\"(Compile with 'make doc' command, requires Doxygen)\")")
100+
# Install docs, if the user builds them with `make doc`
101+
install(CODE "MESSAGE(\"Checking for documentation files to install...\")")
102+
install(CODE "MESSAGE(\"(Compile with 'make doc' command, requires Doxygen)\")")
110103

111-
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc/html/
112-
DESTINATION ${CMAKE_INSTALL_DOCDIR}/API
113-
MESSAGE_NEVER # Don't spew about file copies
114-
OPTIONAL ) # No error if the docs aren't found
104+
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc/html/
105+
DESTINATION ${CMAKE_INSTALL_DOCDIR}/API
106+
MESSAGE_NEVER # Don't spew about file copies
107+
OPTIONAL ) # No error if the docs aren't found
115108
endif()
116109

117110
############# PROCESS tests/ DIRECTORY ##############

Doxyfile.in

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -340,7 +340,7 @@ AUTOLINK_SUPPORT = YES
340340
# diagrams that involve STL classes more complete and accurate.
341341
# The default value is: NO.
342342

343-
BUILTIN_STL_SUPPORT = NO
343+
BUILTIN_STL_SUPPORT = YES
344344

345345
# If you use Microsoft's C++/CLI language, you should set this option to YES to
346346
# enable parsing support.
@@ -2096,7 +2096,7 @@ INCLUDE_FILE_PATTERNS =
20962096
# recursively expanded use the := operator instead of the = operator.
20972097
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
20982098

2099-
PREDEFINED =
2099+
PREDEFINED = USE_BLACKMAGIC USE_IMAGEMAGICK
21002100

21012101
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
21022102
# tag can be used to specify a list of macro names that should be expanded. The

cmake/Modules/FindFFmpeg.cmake

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,9 +180,16 @@ foreach (_component ${FFmpeg_FIND_COMPONENTS})
180180
endif ()
181181
endforeach ()
182182

183-
# Build the include path with duplicates removed.
183+
# Build the result lists with duplicates removed, in case of repeated
184+
# invocations.
184185
if (FFmpeg_INCLUDE_DIRS)
185186
list(REMOVE_DUPLICATES FFmpeg_INCLUDE_DIRS)
187+
endif()
188+
if (FFmpeg_LIBRARIES)
189+
list(REMOVE_DUPLICATES FFmpeg_LIBRARIES)
190+
endif()
191+
if(FFmpeg_DEFINITIONS)
192+
list(REMOVE_DUPLICATES FFmpeg_DEFINITIONS)
186193
endif ()
187194

188195
# cache the vars.

cmake/Modules/FindZeroMQ.cmake

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH ON)
2+
find_package(PkgConfig)
3+
pkg_check_modules(PC_LIBZMQ QUIET libzmq)
4+
5+
set(ZeroMQ_VERSION ${PC_LIBZMQ_VERSION})
6+
7+
find_path(ZeroMQ_INCLUDE_DIR zmq.h
8+
PATHS ${ZeroMQ_DIR}/include
9+
${PC_LIBZMQ_INCLUDE_DIRS})
10+
11+
find_library(ZeroMQ_LIBRARY
12+
NAMES zmq
13+
PATHS ${ZeroMQ_DIR}/lib
14+
${PC_LIBZMQ_LIBDIR}
15+
${PC_LIBZMQ_LIBRARY_DIRS})
16+
17+
if(ZeroMQ_LIBRARY)
18+
set(ZeroMQ_FOUND ON)
19+
endif()
20+
21+
set ( ZeroMQ_LIBRARIES ${ZeroMQ_LIBRARY} )
22+
set ( ZeroMQ_INCLUDE_DIRS ${ZeroMQ_INCLUDE_DIR} )
23+
24+
if(NOT TARGET libzmq)
25+
add_library(libzmq UNKNOWN IMPORTED)
26+
set_target_properties(libzmq PROPERTIES
27+
IMPORTED_LOCATION ${ZeroMQ_LIBRARIES}
28+
INTERFACE_INCLUDE_DIRECTORIES ${ZeroMQ_INCLUDE_DIRS})
29+
endif()
30+
31+
include ( FindPackageHandleStandardArgs )
32+
# handle the QUIETLY and REQUIRED arguments and set ZMQ_FOUND to TRUE
33+
# if all listed variables are TRUE
34+
find_package_handle_standard_args ( ZeroMQ DEFAULT_MSG ZeroMQ_LIBRARIES ZeroMQ_INCLUDE_DIRS )

include/AudioBufferSource.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,6 @@
4242
#include <iomanip>
4343
#include "JuceHeader.h"
4444

45-
using namespace std;
46-
4745
/// This namespace is the default namespace for all code in the openshot library
4846
namespace openshot
4947
{

include/AudioDeviceInfo.h

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,11 @@
3737
*
3838
* The type and name of the audio device.
3939
*/
40-
struct AudioDeviceInfo
41-
{
42-
string name;
43-
string type;
44-
};
45-
46-
#endif
40+
namespace openshot {
41+
struct AudioDeviceInfo
42+
{
43+
std::string name;
44+
std::string type;
45+
};
46+
}
47+
#endif

include/AudioReaderSource.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,6 @@
4343
#include "ReaderBase.h"
4444
#include "JuceHeader.h"
4545

46-
using namespace std;
47-
4846
/// This namespace is the default namespace for all code in the openshot library
4947
namespace openshot
5048
{

0 commit comments

Comments
 (0)