Commit Graph

16 Commits

Author SHA1 Message Date
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
2fcb35ddcc Removing throw statements from header files (thanks Peter) 2017-10-26 18:44:35 -05:00
Jonathan Thomas
85ac4bf6d2 Updating references to frame number / position to long int, there were still quite a few old "int" declarations, which limits the length of frame number. Also, updated precision of KeyFrames to use double (instead of float) for higher precision, which fixed lots of issues with very long videos (since our FrameMapper used a KeyFrame object to create a map to new frames) 2017-01-24 18:39:17 -06:00
Jonathan Thomas
e135eb5738 Changed license to LGPLv3 for all libopenshot code. 2014-07-11 16:52:14 -05:00
Jonathan Thomas
7f6c50db71 Improved JSON error handling with complex nested JSON objects. 2014-05-16 14:48:25 -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
3c99e53dad Added JSON change method, which accepts a diff / sync JSON array, and applies the changes to a timeline and timeline associated properties and items. Also fixed many bugs on JSON type checking. 2014-01-08 01:43:58 -06:00
Jonathan Thomas
75db2917f1 Removed unneeded Json from Keyframes, Points, and Coordinates... and also optimized a Keyframe with 1 point to use CONSTANT interpolation mode. 2014-01-05 23:28:21 -06:00
Jonathan Thomas
cd7743fb88 Improved Json methods to correct work with swig and inheritance. 2013-12-07 21:09:55 -06:00
Jonathan Thomas
d8da4cb807 Added Json() methods to many methods, for loading and saving properties. 2013-12-06 00:40:26 -06:00
Jonathan Thomas
58090ef5fc Added license and copyright to all files. Improved many examples and documentation. Refactored the Coordinate() object, to move a few properties to methods. 2013-09-12 17:52:10 -05:00
Jonathan Thomas
234201743a Improved more documenation, and switched to @ syntax for doxygen. 2013-09-09 23:32:16 -05:00
Jonathan Thomas
14a61f9c5c Refactored a few methods, added new doxygen format, and improved the copyright, license, and comments & documentation for many classes and methods. 2013-09-08 23:09:54 -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
9d97ecb6d2 Improved the Keyframe and Coordinate classes, to also track the direction and a fraction representing the number of times a frame is repeated. This will allow the time mapping to slow down audio and reverse the waveforms when necessary. 2012-10-19 16:53:18 -05:00
Jonathan Thomas
161e8923af Initial check-in of OpenShot Library 2011-10-11 08:44:27 -05:00