Commit Graph

23 Commits

Author SHA1 Message Date
Jonathan Thomas
2fcb35ddcc Removing throw statements from header files (thanks Peter) 2017-10-26 18:44:35 -05:00
Jonathan Thomas
c95db460d6 Big update! Updating all "long int" frame number types to int64_t, so all 3 OSes will produce the same depth and precision on frame numbers. Also removing variable bitrate support temporarily, since it causes more problems than it solves. 2017-09-28 16:03:01 -05:00
Jonathan Thomas
f12ffe692b Migrating tr1 to std, adding C++11 support to build scripts, fixing crash in FFmpegReader (caused by shared_ptr, buffer, and last_video_frame corruption). Much improved stability with this change. Thanks to Craig and Peter for the help! 2017-08-20 17:37:39 -05: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
e2615c9249 Renaming Layer to Track in JSON properties 2016-08-18 19:45:45 -05:00
Jonathan Thomas
d0b14fe3d3 Updated lots of JSON min/max properties to better reflect reasonable values 2016-08-16 02:12:51 -05:00
Jonathan Thomas
358e0835d2 Added dropdown choices into JSON properties, so a UI can correctly list the options for certain properties. Fixed a bug when deleting all Points from a Keyframe, and added some missing Enums from the Python/Ruby bindings. 2015-10-02 18:22:10 -05:00
Jonathan Thomas
ac7be90544 Fixed a few issues with Color keyframes 2015-10-01 18:51:59 -05: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
8fa2ab71c5 Fixed a few tiny bugs in JSON Properties, and removed some unneeded code related to hashing the current state of an effect. 2015-08-16 19:19:14 -05:00
Jonathan Thomas
c7f0a481cc Added a new class to easily expose the JSON metadata of supported effects in libopenshot. Fixed some bugs related to metadata, and a few bugs in the Mask effect (if initialized without a reader). 2015-08-06 20:01:34 -05:00
Jonathan Thomas
b612f3339d Replaced ImagMagick with QImage on almost all key methods and classes. Reprogrammed all effects and the entire rendering pipeline to use QImage and QTransforms, primarily for increases in speed and stability. libopenshot is more than 10X faster on many of the most CPU heavy tasks. This was a huge change, and still has a few minor issues relating to BlackMagick Decklink and Text rendering.... which should be resolved very soon.
Also, much work has been done on memory management / leak detection, and optimizations with multi-threading... including a new thread cacher class used by the video playback (which is smoother than ever).
2015-06-01 00:20:14 -07:00
Jonathan Thomas
79519dbeab Added JSON Properties to all effects and refactored some of the code into the ClipBase class. 2015-02-26 00:02:06 -06:00
Jonathan Thomas
e135eb5738 Changed license to LGPLv3 for all libopenshot code. 2014-07-11 16:52:14 -05:00
Jonathan Thomas
b224d7d8fa Adjusted ImageMagick code to dynamically calculate the quantum depth, and bitshift between that depth and the 8bit colors for FFmpeg. 2014-07-03 12:26:02 -05:00
Jonathan Thomas
6232a1bd41 Refactored and fixed many include paths (not sure how they worked before). Also, refactored SWIG bindings into separate folders, and added Ruby as the 2nd officially supported language for libopenshot. 2014-04-10 22:38:01 -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
f25f342825 Completed timeline class Json methods, with all child properties... and refactored many unneeded properties away. 2014-01-05 22:37:11 -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
109e88dddc Removed unneeded overloads of Json methods 2013-12-06 18:16:56 -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
95d41f6d6f Added ChromaKey and Negate effects, and integrated them into the build process. 2013-09-29 00:24:58 -05:00