Commit Graph

37 Commits

Author SHA1 Message Date
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
6cac382773 Fixed most build warnings on Mac OS X 2013-06-09 01:08:23 -05:00
Jonathan Thomas
6171abfe1a Added a Sleep.h header, which defines an OS specific sleep metho. 2013-06-06 12:12:08 -05:00
Jonathan Thomas
4a4d9e2a34 Improved the timeline compositing performance, fixed some blackmagic bugs, and finally have an actual chromakey demo working! 2013-02-10 21:16:46 -06:00
Jonathan Thomas
f04e821f0d Refactored blackmagic capture example into DecklinkCapture.cpp, and added it into libopenshot. Also, added a new, Main_Blackmagic.cpp example program, which invokes the DecklinkCapture.cpp class.
Also, built in a 20 frame buffer into the DecklinkCapture.cpp class, to discard old frames, to keep the memory from filling up.
2013-02-06 02:09:21 -06:00
Jonathan Thomas
fbf169a7fa Added a simple chroma key method to a frame object, and added multi-threaded optimizations to the black magic capture code. 2013-01-26 23:02:21 -06:00
Jonathan Thomas
b8d4b0b73d Fixed a big bug with the Swig wrapper, to correctly match the typemap of the tr1::shared_ptr, and then removed the GetFrameObject method, since it's no longer needed. 2013-01-12 12:45:55 -06:00
Jonathan Thomas
8606ec2a6e Added wave_color attribute to the clip object, which now allows the audio wave form to animate it's color along a curve over time. Combined with the timeline background color curve, some cool combinations can be made! 2012-11-29 23:11:50 -06:00
Jonathan Thomas
d3ef1fac13 Refactored the audio waveform generation into the Timeline class. Added the ability to set the volume, and the ability to mix layers of audio samples together. Also, made the waveform's have a transparent background, so they can be layered on top of other layers. 2012-11-29 16:32:48 -06:00
Jonathan Thomas
7fe9008cad Added a new "smooth" slow motion, using the time map fraction to dissolve the next frame into the current one. 2012-10-29 01:47:39 -05:00
Jonathan Thomas
a0b24c61f0 Fixed a huge memory leak related to cache objects, and incorrect frame sizes. It was caching way too many frames, and creating all sorts of issues. 2012-10-26 00:27:44 -05:00
Jonathan Thomas
5e5ca2a55c Fixed a big bug on frame rate mapping, due to incorrect # of samples being copied into the new frame. Also, implemented interalacing support, and full pulldown support (in the frame mapper). 2012-10-18 02:58:09 -05:00
Jonathan Thomas
129a2fccd7 Many experimental changes, including a new FrameMapper that is based on FileReaderBase, and lots of debug code. 2012-10-17 09:57:02 -05:00
Jonathan Thomas
b647ff77c8 Fixed a regression with audio files and seeking, added a few new methods, and more accurately detect the End() of clips. 2012-10-14 02:36:05 -05:00
Jonathan Thomas
a601bcef2d Another huge refactor and lots of big fixes! Time mapping now works... mostly. The jumpy / glitchy images have been solved by copying the AVFrame into an AVPicture, which does not get clobbered on the next decode.
Also, added a new frame number overaly (in the top, left part of the image), and a new AddColor() method, to change the size and color of the frame's image...

Padded the end of the FFmpegWriter / WriteTrailer() method, to avoid having a codec ignore the last many frames.
2012-10-12 00:54:53 -05:00
Jonathan Thomas
217c54a5ae Major refactor to the cache object (again)! It now uses bytes to determine how many frames to keep. 2012-10-11 17:30:32 -05:00
Jonathan Thomas
780a702f5d Added a Rotate() method to a Frame object. Added new methods on a clip to translate frame numbers (FrameMapper and Time Curves). Now, the Timeline, Clip, and Readers are all working with animation curves. Pretty cool! 2012-10-10 02:36:53 -05:00
Jonathan Thomas
63529bd158 Added a new experimental overlay method to a frame, which composites images from multiple frames, and adds the result to the bottom right side of the image. 2012-08-29 16:07:47 -05:00
Jonathan Thomas
b3cf902f22 Added a new ImageReader class, which uses ImageMagick++ to read image files, and produce openshot::Frame objects. 2012-08-29 15:29:15 -05:00
Jonathan Thomas
1ec7128a09 Fixed a huge bug where the FFmpegWriter was not scaling colors to 8 bit, and that would crash on certain colors being used in an image. Also, added a new, experimental waveform visualization to the encoder. 2012-08-22 17:31:12 -05:00
Jonathan Thomas
be802dafb0 Added experimental AddEffect method to the frame object, to apply image effects 2012-08-11 21:13:05 -05:00
Jonathan Thomas
72d6553f75 Added the ability to specify the image type and scale of any frame when calling the Save() method on a frame. This makes it easy to save any frame as any image type at any size image... very useful indeed. 2012-08-05 16:43:09 -05:00
Jonathan Thomas
67dba0cd67 Fixed the audio resampling by adding a new class called AudioResampler, which maintains state between calls to the JUCE resampler. Maintaining state allows JUCE to remove the discontinuities between the frames, and removes all the pops and crackles.
This is a major commit, and changes many things, including build scripts, new classes, and how the encoder works.
2012-08-05 15:17:37 -05:00
Jonathan Thomas
efb38cc9d8 Added in JUCE audio resampling, and have lots of resampling debug code still in place. 2012-07-30 02:37:19 -05:00