Commit Graph

186 Commits

Author SHA1 Message Date
Daniel Jour
89479bb01a Keyframe tests: Add test about large segment, including performance
This new test makes sure that a large segment is handled correctly and
also with reasonable performance.  The timeout of 10ms is still
relatively slow (on a mid-class laptop it takes 0.001ms currently) but
the test shouldn't fail when e.g. the build machine is under (mild to
heavy) load.
2019-12-06 01:35:31 +01:00
Daniel Jour
504fd0e3fa KeyFrame_Tests.cpp: Correct usage for CHECK_EQUAL
It's CHECK_EQUAL(expected, actual), not the other way around!
2019-11-24 21:12:33 +01:00
Daniel Jour
86c1df211a Update Keyframe test curve values; new curves are smoother
The curves generated by the new code are much smoother than the old
curves and align much better with what (at least gnuplot) says are the
"correct curves".  Some values therefore needed updating.
2019-11-24 21:00:37 +01:00
Daniel Jour
bd82403969 KeyFrame_Tests: Additional tests to correctly capture old behaviour 2019-11-22 22:34:22 +01:00
Daniel Jour
504ea0c1ff Make Keyframe::Values and Keyframe::Points vectors private
The Values vector should only be accessed from the outside through the
GetValue() function.  The Points vector should only be accessed using
the AddPoint(), RemovePoint(), .. functions.

This helps maintain internal invariants (e.g. keeping Points sorted)
and allows for future removal / lazy evaluation of Values.

The size() of the vectors had been accessed from various parts of the
code; the GetLength() (for Values) and GetCount() (for Points) member
functions provide access to this information and are already part of
the public API.
2019-11-19 23:43:28 +01:00
FeRD (Frank Dana)
750677c0c5 CMake: Manage sources and includes better
- Switch to AUTOMOC for Qt classes
- Eliminate globbing of source subdirs
- Call `include_directories()` in top-level CMakeLists
- Make header files PUBLIC library sources
- Make other sources PRIVATE
2019-11-04 03:59:34 -05:00
FeRD (Frank Dana)
dad3cad621 CMake: Switch to targets for Qt modules 2019-11-04 03:31:16 -05:00
Frank Dana
5c40094c08 Merge branch 'develop' into zmq-targets 2019-11-01 14:42:08 -04:00
Frank Dana
04724cfcd7 Merge branch 'develop' into zmq-targets 2019-10-30 05:01:24 -04:00
Frank Dana
2560409bb5 Merge branch 'develop' into system-jsoncpp 2019-10-30 03:24:32 -04:00
Jonathan Thomas
2a1fe80ee9 Merge pull request #352 from ferdnyc/clang-iwyu-fixes
Add fixes for Clang/IWYU building, correct juce:: namespacing
2019-10-29 14:03:57 -05:00
Jonathan Thomas
a3eb92e623 Merge pull request #340 from OpenShot/ffmpeg-targets
FFmpeg: Create and use targets in CMake build
2019-10-29 13:43:06 -05:00
FeRD (Frank Dana)
b6da6b9659 add DONT_SET_USING_JUCE_NAMESPACE to tests 2019-10-27 03:54:36 -04:00
FeRD (Frank Dana)
a1034046a2 ZeroMQ: Use IMPORTED targets
- Adopt FindZeroMQ.cmake from cppzmq, and use its `libzmq` target
- Also use `cppzmq` target, if created
2019-10-26 07:24:28 -04:00
FeRD (Frank Dana)
645946458b DISABLE_TESTS covers entire tests/ dir 2019-10-26 07:22:01 -04:00
Frank Dana
13e68c368e Merge branch 'develop' into ffmpeg-targets 2019-10-25 02:03:10 -04:00
Frank Dana
d99bba83b4 Merge branch 'develop' into system-jsoncpp 2019-10-22 20:33:39 -04:00
Jonathan Thomas
3f5370a84c Merge pull request #330 from ferdnyc/enable-make-test
Re-enable 'make test' when possible (requires CMake 3.11+)
2019-10-22 18:49:23 -05:00
Jonathan Thomas
bf82289dc1 Merge pull request #339 from ferdnyc/tests-tolerance
tests: Add tolerance to pixel value checks
2019-10-22 18:35:19 -05:00
Jonathan Thomas
144d52d480 Merge pull request #329 from ferdnyc/cppzmq-detect
CMakeLists: Also detect cppzmq headers
2019-10-22 18:32:26 -05:00
Jonathan Thomas
5a2fe8b47c Merge pull request #344 from ferdnyc/openmp-required
CMake: REQUIRE OpenMP, use (or create) targets for dependency propagation
2019-10-22 17:21:43 -05:00
Frank Dana
ca885d59e0 Merge pull request #315 from ferdnyc/exception-default-args
Exceptions: Make (most) file_path args optional
2019-10-11 21:46:43 -04:00
FeRD (Frank Dana)
d768c89ad7 Merge branch 'develop' into openmp-required 2019-10-08 16:33:35 -04:00
FeRD (Frank Dana)
582a76a8a7 CMake: REQUIRE OpenMP, use (or create) targets
OpenMP is now REQUIRED as the build will fail if it's not available.
This PR updates the `find_package`, and creates the necessary targets
for older CMake versions (3.9+ will do it automatically).

The targets are then made PUBLIC dependencies of the openshot
target, which causes the OpenMP configs to automatically propagate.
The redundant OpenMP detection is removed from test/CMakeLists.txt.

The detection code comes verbatim from this post, which also credits
Modern CMake: https://iscinumpy.gitlab.io/post/omp-on-high-sierra/
2019-10-08 16:30:10 -04:00
FeRD (Frank Dana)
7a9567e7ab Reverse JsonCpp logic, prefer system-installed 2019-10-03 02:50:39 -04:00