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)
b6da6b9659
add DONT_SET_USING_JUCE_NAMESPACE to tests
2019-10-27 03:54:36 -04:00
FeRD (Frank Dana)
f170fdd009
Update copyright range to current year
2019-06-11 06:48:32 -04:00
FeRD (Frank Dana)
0327c2ab5c
Remove license block from documentation comment
2019-06-09 08:31:04 -04:00
Jonathan Thomas
8f385c112a
Improved Keyframe Performance ( #197 )
...
* Refactor of Coorindate and Keyframe optimized for performance (much faster than previously). Also refactored FrameMapper to not use a Keyframe, and to only process frame mapping when needed... speeding up Json loading of project files.
* Fixing FrameMapper linear calculation to match existing Keyframe calculation
* Fixing Keyframe to pass original unit tests, and correctly calculate the Keyframe repeat fractions and deltas.
* Small refactor of time mapped logic in Clip.cpp
2019-03-06 15:35:03 -06:00
Jonathan Thomas
559d6a0545
Huge refactor of keyframe point handles (bezier quadratic curves) to use CSS-style syntax. Basically, the left and right handles of a point now use percentages, such as 0.0, 1.0, 0.5, 1.0 (between 0 and 1), and become real coordinates based on the value differences between points (in real time). Also simplified the JSON property creation. Also, many unit tests have been updated, because they were actually generating the incorrect values from before... although only slightly in most cases. Now they have correct values from the default bezier handles.
2016-10-19 02:19:07 -05:00
Jonathan Thomas
1743558f99
Improved image caching logic, to better estimate max image sizes possible, based on clip scale and keyframe settings... so we are always dealing with the smallest possible frame sizes for performance (without losing quality)
2016-09-17 17:14:27 -05:00
Jonathan Thomas
f00ea5c4e2
Reverting logging code in unittests
2016-09-08 22:26:14 -05:00
Jonathan Thomas
badb1450d2
Adding additional logging to unittests, to help find an issue on certain systems
2016-09-08 02:33:24 -05:00
Jonathan Thomas
90db687598
Fixed bug in RemovePoint, and improved the AddPoint KeyFrame method to remove a previous, duplicate point (based on co.X value).
2015-12-15 18:12:24 -06:00
Jonathan Thomas
bfa050409c
Improved support for missing frames and invalid PTS (which result in gaps and duplicate frames). Also changed frame number to larger data type, and did some code clean-up and refactoring. Less crashes, and more video support!
2015-08-24 01:05:48 -05:00
Jonathan Thomas
e2ee3d01f2
Added the ability to scale and flip keyframes, making it easy to reverse an effect or transition, and resize transitions without having to manually reset the keyframes X coordinates.
2015-03-13 23:19:55 -05:00
Jonathan Thomas
61ed19250e
Fixed bug determing the closest keyframe point to another point. Added additional unit tests. Added new method to get the # of Points in a keyframe.
2015-02-22 01:04:54 -06:00
Jonathan Thomas
e135eb5738
Changed license to LGPLv3 for all libopenshot code.
2014-07-11 16:52:14 -05:00
Jonathan Thomas
5010f6252a
Replaced all copyright and licensing to reflect AGPLv3 license. Also, added a bad ass version header, which is now integrated into CMake as well. A single place to indicate version and ABI/API compatibility.
2014-03-29 18:49:22 -05:00
Jonathan Thomas
97a4f903c2
Added copyright and licensing to the rest of the source code in libopenshot, including the CMake build scripts, the SWIG configuration file, and even updated copyright in the README files. All files are now correctly attributed and protected now.
2013-09-12 23:41:49 -05:00
Jonathan Thomas
266bd45bde
Added delta() to a coordinate, to track the change in unique value on the Y axis. This helps in time mapping, to track how many frames have been skipped.
2012-10-19 22:24:54 -05:00
Jonathan Thomas
3740ca0454
Added some new methods on the keyframe class, and added some unit tests for the keyframes.
2012-10-19 22:11:22 -05:00
Jonathan Thomas
4bd6db527e
Renamed some of the basic clip property getters and setters, and added some simpler ways to get the value of and add points to a key frame.
2012-10-04 15:07:29 -05:00
Jonathan Thomas
161e8923af
Initial check-in of OpenShot Library
2011-10-11 08:44:27 -05:00