Commit Graph

283 Commits

Author SHA1 Message Date
Jonathan Thomas e073ad89f5 Fixed many issues with the QtPlayer and related classes. Now the VideoRenderer can be passed through SWIG and connected to a PyQt application and handle display signals for each frame. Also, refactored some OpenMP settings into its own header. 2014-04-02 16:48:27 -05:00
Jonathan Thomas 6e65c36690 Refactored much of the Qt Player related code. Also, integrated the Qt Player code into Python bindings. This still needs some work, especially with using PyQt widgets instead of C++ Qt Widgets. 2014-03-30 23:21:30 -05:00
Jonathan Thomas 5010f6252a Replaced all copyright and licensing to reflect AGPLv3 license. Also, added a bad ass version header, which is now integrated into CMake as well. A single place to indicate version and ABI/API compatibility. 2014-03-29 18:49:22 -05:00
Jonathan Thomas 4c64fbe92e Started changing license info and copyright notices to AGPL. 2014-03-29 16:07:57 -05:00
Jonathan Thomas bc4e58c601 1) Reduced all openmp to use /2 the available CPUs (for performance reasons)
2) Improved detection of pixel format (enabled GIF support.. although it is still flawed a bit)
3) Improved error reporting when video encoding issues happen
2014-03-29 15:39:43 -05:00
Jonathan Thomas a77de842e4 Added pausing, rewind, fast forward, and playing (and different speeds). Still a bit buggy and experimental with fast forward and rewinding (due to seek bugs in readers). 2014-03-23 01:12:29 -05:00
Jonathan Thomas 2ba83486c9 Made some dramatic improvements to the QtPlayer classes, especially audio / video sync. All of my test files now work correctly, with no audio or video issues! Also, now audio only files also work, and image only files. 2014-03-21 01:25:17 -05:00
Duzy Chan 6464aa091d coordinate video playback with audio frame number 2014-02-14 10:19:50 +08:00
Jonathan Thomas dc05437e4f Added estimated_frame to AudioSourceReader... which estimates what frame is being currently played. 2014-02-13 03:16:18 -06:00
Duzy Chan 54b905c56c QtPlayer: getting frame in audio/video threads safely 2014-02-12 14:55:49 +08:00
Duzy Chan 8d2064ad05 trying to integrate with AudioReaderSource 2014-01-31 16:27:16 +08:00
Jonathan Thomas 74abf40932 Fixed bugs in new AudioReaderSource class. Also fixed a few small issues in the FFmpegReader class. 2014-01-29 00:18:40 -06:00
Jonathan Thomas 4ee7ef9b6e Added experimental AudioBufferSource and refactored lots of audio code. 2014-01-28 17:17:38 -06:00
Jonathan Thomas 118fe9113a Fixed RendererBase to correctly use writePixels, instead of iterating through PixelPackets. Fixed Audio Crash caused by not initializing a JUCE background audio thread. Added an OutOfBoundsFrame exception on the FFmpegReader, when the end-of-stream is detected. 2014-01-28 02:41:15 -06:00
Jonathan Thomas eef341270b Changed some json settings for the timeline, and fixed a regression on the clip class. 2014-01-27 23:31:38 -06:00
Duzy Chan 88aa9689b8 working around audio/video playback 2014-01-27 19:03:46 +08:00
Duzy Chan 7557a3aa37 QtPlayer: displaying the first frame of a reader 2014-01-26 03:35:38 +08:00
Duzy Chan c67c1ae8c8 initial QtPlayer classes 2014-01-25 03:38:38 +08:00
Duzy Chan 25416c61b6 fixed a compilation error caused by <qt5/QtCore/qstring.h> 2014-01-23 13:32:07 +08:00
Jonathan Thomas 6dd5a79177 Added an experimental DrawFrameOnScene method, which takes a raw pointer (as a long) from PyQt5 (i.e. unwrapped by sip), and draws a QBitmap on it. 2014-01-22 01:08:14 -06:00
Jonathan Thomas e4d6c026b7 Forgot to add the new Effects header file. Here it is. 2014-01-10 17:24:40 -06:00
Jonathan Thomas a8389a3b84 Moved effects to a common include file called Effects.h, so all effects could be easily included when needed (such as the timeilne class). 2014-01-10 17:24:12 -06:00
Jonathan Thomas 0571a95201 Fixed Profile to throw exception if an invalid file was provided. 2014-01-10 17:05:20 -06:00
Jonathan Thomas dfe96b638c Added Profile class, which can load profile data from a text file, and generate Json from the profile. 2014-01-09 17:37:04 -06:00
Jonathan Thomas 3c99e53dad Added JSON change method, which accepts a diff / sync JSON array, and applies the changes to a timeline and timeline associated properties and items. Also fixed many bugs on JSON type checking. 2014-01-08 01:43:58 -06:00