Commit Graph

109 Commits

Author SHA1 Message Date
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
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
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
Jonathan Thomas
c496ef726a Fixed a SWIG error, where the base classes were not defined first. 2012-11-16 15:38:37 -06:00
Jonathan Thomas
075feffe16 Updated path to opt.h ffmpeg include 2012-11-15 23:53:29 -06:00
Jonathan Thomas
bff37d0072 Added in openMP code to improve performance on the timeline layer merging, which is very CPU intensive. 2012-11-12 17:21:21 -06:00
Jonathan Thomas
5b77abdf27 The timeline classes are finally working correctly, and have the following features:
1) Layers (unlimited # of layers)
2) IN, OUT, and Position (time)
3) X, Y offset
4) Alpha
5) Rotation
6) Transparency + compositing + overlays
2012-11-08 04:35:21 -06:00
Jonathan Thomas
42d7565ba1 Integrated more timeline code, such as compositing layers... but they don't work yet 2012-11-07 17:45:13 -06:00
Jonathan Thomas
170b73a595 Added a new method of getting the Frame* pointer from SWIG 2012-10-31 01:17:12 -05: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
7dd94a02e4 Added code to flush the encoders, and also write the final frame's audio samples 2012-10-28 03:35:50 -05:00
Jonathan Thomas
bf93f6941e Fixed some major issues with the FFmpegWriter, which was not setting the correct PTS values 2012-10-26 17:15:17 -05:00
Jonathan Thomas
5fcead37f2 Added frame counter to writer class, to help generate a valid PTS 2012-10-26 02:11: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
49f8376fb7 Fixed build issue with dummy reader 2012-10-22 22:47:15 -05:00
Jonathan Thomas
612bb25f5f Fixed the FFMpegReader to discard the first audio and video frames it finds after a seek, since they sometimes are missing information. This fixed many issues with the time mapping curves and audio reversing and fast forwarding. 2012-10-22 17:05:34 -05:00
Jonathan Thomas
082efa23cc Fixed more audio sample issues with time mapping 2012-10-21 17:51:37 -05:00
Jonathan Thomas
b74e97c7d2 FIxed some big audio bugs, and finally got the audio reversing correctly working. Now, audio waves are reversed when a time map is moving backwards. There are still some pops and crackles, but I'll fix those later. 2012-10-21 05:29:29 -05:00
Jonathan Thomas
266bd45bde Added delta() to a coordinate, to track the change in unique value on the Y axis. This helps in time mapping, to track how many frames have been skipped. 2012-10-19 22:24:54 -05:00
Jonathan Thomas
3740ca0454 Added some new methods on the keyframe class, and added some unit tests for the keyframes. 2012-10-19 22:11:22 -05:00