Commit Graph

36 Commits

Author SHA1 Message Date
Jonathan Thomas
cbed47ea5f Changed / Refactored many enums and structs, to better standardize the naming of everything. Improved some more descriptions and briefs. 2013-09-10 12:59:06 -05:00
Jonathan Thomas
234201743a Improved more documenation, and switched to @ syntax for doxygen. 2013-09-09 23:32:16 -05:00
Jonathan Thomas
a97f170738 Improved documentation, mainpage, and added some examples on ChunkReader and ChunkWriter. 2013-09-09 17:06:07 -05:00
Jonathan Thomas
c244657a11 Renamed FileReaderBase and FileWriterBase to ReaderBase and WriterBase, since they are not specifically related to files. 2013-09-08 16:40:57 -05:00
Jonathan Thomas
a42e257521 Many small improvements, bug fixes, and build system fixes for newer systems that have both qt4 and qt5. 2013-09-08 16:08:56 -05:00
Jonathan Thomas
1e2d93721d Improved ChunkWriter to create chunk folder and write JSON meta data 2013-08-27 13:37:00 -05: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
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
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
Jonathan Thomas
33f12a70dd Fixed some FrameMapper unit tests that were broken. 2012-10-19 21:55:01 -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
a57b81a734 Added a new DummyReader, which can be given any framerate, samplerate, width, height, etc... and used in unit tests, such as the FrameMap unit tests. 2012-10-16 16:45:31 -05:00
Jonathan Thomas
acca789def Fixed errors in the Cache unit tests. 2012-10-15 13:46:11 -05:00
Jonathan Thomas
0bab75acc8 Started working on the FrameMapper, to correctly map audio samples to the target framerate. 2012-10-14 23:24:27 -05:00
Jonathan Thomas
48bef6b566 Removed some unneeded methods, due to the previous refactor involving shared_ptr objects. They no longer require some special overloads which "delete" the objects in the cache. 2012-10-14 21:09:22 -05:00
Jonathan Thomas
617088cebf Yet another huge refactor, to use shared_ptr objects instead of actual pointers, due to the difficulties in managing the lifecycle of pointers between the timeline, clip, and readers. Seems to work great, and solves all sorts of bugs. =) 2012-10-14 03:43:52 -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
b7792b04d8 Added new method to adjust the min value of a valid frame number, added a new unlimited cache option, and fixed a bug which was preventing the timeline from calling GetFrame correctly. Now timelines, clips, and readers are working together nicely. 2012-10-10 15:21:33 -05:00
Jonathan Thomas
60e645da61 Added a FrameRate() method to the timeline, to get or set the fps. Also, added a unit test for that, and refactored some header files to be alphabetical. 2012-10-10 01:07:47 -05:00
Jonathan Thomas
1d89fd140a A big refactor of the Open() method on Readers, and the constructor of Readers. All resource consuming code has been moved into the Open() methods, so the Clips and Timeline can control them better. 2012-10-09 01:45:34 -05:00
Jonathan Thomas
87d12254ef Added Open() to the reader base class, so all readers need to have that method now. This is to allow the timeline to better control Clips and Readers. 2012-10-08 16:22:18 -05:00
Jonathan Thomas
6d790d2670 Overloaded Clip comparison operators, to use the Position() of clips for sorthing routines. Also, added the AddClip method, to add clips to a timeline (and sort them by position). 2012-10-05 17:05:33 -05:00
Jonathan Thomas
a417fef1fd Made the Timeline class inherit from FileReaderBase, which means the Timeline is really just a fancy ready class now. Also, added new unit tests for the Clip and Timeline classes. 2012-10-05 01:58:27 -05:00