Jonathan Thomas
6be7540852
Fixed a bug with time mapping for animations and videos without audio.
2015-12-31 04:17:54 -06:00
Jonathan Thomas
b7de1a885b
Fixed some big issues with time mapping and thread safety. Lots and lots of crashes were fixed related to this. Mostly dealing with an incorrectly sized AudioSampleBuffer when trying to combine multiple frames.
2015-12-28 02:41:32 -06:00
Jonathan Thomas
55684663da
Added wave_color to Clip's JSON properties. Also fixed a bug with adding effects from a JSON diff. Made the background color of a wave visualization transparent, and made the wave graphic come before the effects are processed, which allows the wave to be faded, animated, etc...
2015-11-25 23:54:10 -06:00
Jonathan Thomas
3731b22317
Added a new effect: Blur. It has the ability to box blur, horizontal and vertical blur, and gaussian blur. All of these settings are keyframeable and can be animated.
2015-11-09 00:12:21 -06: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
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
45f31bbabf
Added 2 new effects: Brightness and Contrast, and Saturation. Both effects implement keyframe curves, and can be animated.
2015-08-16 22:58:07 -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
88e65fecef
Cleaned up timeline class a bit, and refactored some OpenMP multi-threading support. The timeline GetFrame() method can not fully support OpenMP at the moment, due to nested parallel regions in some conditional ImageMagick function calls. Also better protected the openshot::Clip.GetFrame() call.
2015-03-15 02:28:28 -05:00
Jonathan Thomas
b07936e3b2
Added effects processing to a clip, so clips can carry their own independent effects... rather than depend on the timeline. This still needs some refactoring though.
2015-03-14 01:36:13 -05:00
Jonathan Thomas
591cfbdb5a
Fixed some major issues with the frame mapper. openshot::FrameMapper is now fully multi-threaded. Fixed a bug in calculating the # of samples on a frame (to always be evenly divisible by the # of channels).
2015-03-08 21:42:53 -05: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
57fbf357f6
Increased debug output precision. Fixed rounding bug on timeline when finding a clips actual frame number. Fixed bug with a clips JSON properties output.
2015-02-24 23:59:26 -06: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
b976b8220b
Added new properties to the clip JSON properties method, to enable more rich control of a clips properties. Fixed some defaults on Points that still used X=0.
2015-02-21 03:10:38 -06:00
Jonathan Thomas
1d1a608a5c
Added GetColorHex() function to the openshot::Color class, which returns a Hex string of a color at any frame number. Added new "hash" and "changed" properties to the openshot::Clip Properties JSON method, to help a UI determine if something has changed in the property values. Lastly, added new unit tests for both classes.
2015-02-17 00:21:57 -06:00
Jonathan Thomas
511cef4522
Fixed a small bug on the Clip constructor... which was crashing on MacOS.
2015-02-11 21:59:13 -06:00
Jonathan Thomas
10adb2cc0b
Added new JSON properites to the clip object... to better integrate UI interfaces for clips.
2015-02-11 00:23:25 -06:00
Jonathan Thomas
5145abdacb
Added new clip method that returns all properties for a given frame in JSON.
2015-02-09 22:41:42 -06:00
Jonathan Thomas
bb9849c60a
Fixed some serious issues with the Timeline class, improved the Timeline unit tests to cover more of the code, and fixed a bug with the Clip class... which removed the Reader during closing.
2015-02-07 18:06:11 -06:00
Jonathan Thomas
e5b272294f
Update documentation and examples
2015-02-05 00:11:55 -06:00
Jonathan Thomas
3227d59f15
Improved Cmake scripts to better support Windows, and fixed a large memory leak because *reader was not being deleting after being created in Clip objects.
2014-07-25 23:32:12 -05:00
Jonathan Thomas
e135eb5738
Changed license to LGPLv3 for all libopenshot code.
2014-07-11 16:52:14 -05:00