Commit Graph

254 Commits

Author SHA1 Message Date
Jonathan Thomas
891766ed29 Added new GetQImage method to get a Qt QImage object from an openshot:Frame object. Also refactored the video playback code to use this new method. 2015-03-16 13:59:11 -05: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
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
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
db4a5a7948 Fixed some more multi-threading issues with Audio Processing, including a bug with the frames auto-size-increasing JUCE container. 2015-03-07 17:07:37 -06:00
Jonathan Thomas
c27e4a1426 Added new method to frame, to change the size of the audio container. Fixed audio resampling inside the FrameMapper. Fixed many memory leaks related to AVFrames (still have a few more). 2015-03-01 22:36:39 -06:00
Jonathan Thomas
ea9885f9a9 Laying the ground work for audio mapping (resampling and changing channel layouts) for the openshot::FrameMapper. This is important for use with the Timeline, that all clips have a common frame rate, sample rate, and channel layout. 2015-02-26 17:33:09 -06:00
Jonathan Thomas
1c3b1f5691 Timeline now supports overlapping clips, and will process them from bottom to top. Only the top layer gets effects applied, which enables overlapping transitions. 2015-02-26 02:31:36 -06: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
6937d89bfd Fixed some issues with the Mask effect: correctly serialize the reader property, and correctly load the reader. Added additional debug info for the Timeline class. 2015-02-25 17:39:59 -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
0df6439103 Changed default keyframes to set a value on X=1 instead of 0. Fixed Timelines composite function to correctly apply alpha channels to the 1st layer of a frame. 2015-02-21 00:12:21 -06:00
Jonathan Thomas
86561aed22 Fixed a huge bug when closing a reader and re-opening it. Added some new unit tests to test for that bug, as well as check the ordering of layers and effects. Improved opening and closing of openshot::Clip->Reader() to better support multiple threads. 2015-02-19 01:03:22 -06:00
Jonathan Thomas
efa37ea410 Fixed timeline clip sorting to correctly sequence and mix the various layers and clips. 2015-02-18 17:15:03 -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
44d5cf866a Bumped version to 0.0.4, SO version to 2 2015-02-13 00:59:33 -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
e5b272294f Update documentation and examples 2015-02-05 00:11:55 -06:00
Jonathan Thomas
7e8ab6f5bf Added new ChannelLayouts classe, which allows encoding video files in different channel layouts (mono, stereo, surround, etc...) 2015-02-05 00:11:11 -06:00
Jonathan Thomas
bf73482244 Fixed some build errors and updated the Blackmagic DeckLink classes. 2015-02-05 00:08:38 -06:00
Jonathan Thomas
ff60450f4f Completely rewrote audio encoding API (old one was depreciated)
Integrated new debug output, which makes troubleshooting issues much easier
Simplified the Writer API calls (some methods now get automatically called if needed). Now a few simple methods can write an entire video file.
2015-02-05 00:06:07 -06:00