Commit Graph

147 Commits

Author SHA1 Message Date
Jonathan Thomas
bcfbe60a4a initial chunck readers/writers 2013-07-31 12:45:47 -05:00
Jonathan Thomas
5ce6add42f Added gravity to the TextReader, so text can be easily anchored to the corners. 2013-03-06 23:36:28 -06:00
Jonathan Thomas
55aa8225eb Added a demo with the presentation background and waveforms, for the credits. 2013-02-19 01:29:32 -06:00
Jonathan Thomas
124675ce84 Fixed bug in timeline which always reversed audio. Added a new timecurve demo. 2013-02-19 00:51:07 -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
d0556bc33f Fixed a big audio regression, with a buggy isnear() function, which did not take into account the amount of frames between the sample locations. 2013-01-25 02:24:18 -06:00
Jonathan Thomas
ebf3bad263 Increased the number of samples to look for gaps (based on the samples per frame value) 2013-01-13 10:54:53 -06:00
Jonathan Thomas
615be6603d Changed the main() example code 2013-01-12 14:51:59 -06:00
Jonathan Thomas
425ac04b1a Commented out some code, to prevent some regressions on the timeline 2012-12-06 17:58:51 -06:00
Jonathan Thomas
ad81fed72e Added alpha to all FFmpegReader source images, which is needed by the timeline class. Also, added alpha to the AddColor() method. Now even the background of the timeline can be transparent, along with all layers... even the bottom layer. 2012-12-04 02:21:01 -06:00
Jonathan Thomas
b75d8961b8 Cleaned up the Main.cpp test program, and created a nice, simple 3 layer project. 2012-12-03 23:29:30 -06:00
Jonathan Thomas
0d82a4e716 Made Keyframe objects thread safe, by generating the values as Points are added, and the Timeline's Open and Close logic was made thread safe, so a reader is not closed while it's still being accessed on another thread. Also removed some unneeded code and comments. 2012-12-03 22:55:46 -06:00
Jonathan Thomas
a8fa5a91d2 libavcodec version 54 requires a different formula for nb_samples, used in audio encoding. So, I've added in conditional code, so audio works on the newest version of FFmpeg. 2012-12-03 13:03:04 -06:00
Jonathan Thomas
e264d4fcab Fixed a really huge audio issue, related to audio timestamps, gaps, and also mono vs stereo issues. This is the best audio support I've accomplished thus far. =) 2012-12-03 04:51:17 -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
ab4069464a Added curve-based color as the canvas background color (red, green, and blue), so it can be animated now. 2012-11-29 17:28:22 -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
afd9b1d6d3 Fixed more audio issues, and a regression where removing the video channel (with just an audio channel remaining) caused the FPS to be incorrect. 2012-11-21 16:57:21 -06:00
Jonathan Thomas
495ca9dc9e Fixed a big audio bug, where varying timestamp values on low precision audio timebases (i.e. 1/1000) would leave small gaps in the audio wave. Also, fixed a few issues related to sample_rate getting lost between the reader and clip and timeline objects. 2012-11-20 16:22:50 -06:00
Jonathan Thomas
7e51c204f9 Lots of debug code with some experimental audio PTS code, to adjust for small gaps in timestamps. 2012-11-20 10:15:39 -06:00
Jonathan Thomas
547a0dbc63 Improved the flush_encoders method to not raise errors if it encounters errors encoding NULL AVFrames. 2012-11-18 10:45:16 -06:00
Jonathan Thomas
bf05afbfa7 Fixed the flush_encoders method to support older versions of FFmpeg 2012-11-17 03:13:00 -06:00
Jonathan Thomas
729e6fd14c Added in more conditional checks for older versions of FFmpeg, so libopenshot will compile on more platforms. 2012-11-17 01:57:57 -06:00
Jonathan Thomas
298cfb065e Improved the compositing engine to more accurately compare doubles and floats. 2012-11-16 17:29:12 -06:00
Jonathan Thomas
8fb94cc123 Updated the FFmpegWriter to use compiler #IF commands to be compatible with older and newer versions of FFmpeg. This is still a work in progress, but many of the newer commands are now being protected. 2012-11-16 17:15:44 -06:00