Commit Graph

50 Commits

Author SHA1 Message Date
Jonathan Thomas
13bd272ead Adding new settings class to be used for changing realtime settings used by libopenshot, such as scaling mode for preview vs final render, or hardware decode, etc... 2019-01-09 16:50:40 -06:00
Jonathan Thomas
f12ffe692b Migrating tr1 to std, adding C++11 support to build scripts, fixing crash in FFmpegReader (caused by shared_ptr, buffer, and last_video_frame corruption). Much improved stability with this change. Thanks to Craig and Peter for the help! 2017-08-20 17:37:39 -05:00
Jonathan Thomas
c53c9364f3 Added new CacheDisk class, which caches frames to the hard drive, dramatically speeding up preview speeds, at the expense of IO operations. New unittests for caching framework. Fixed a few bugs with Frame constructor, which was causing invalid # width & height. Integrated JSON into the cache framework, to quickly share the state of the cache (including ranges of cached frame numbers). Fixed a bug where some Timeline frames could have no audio samples. 2016-09-07 00:40:01 -05:00
Jonathan Thomas
89fb86453e Refactoring/renaming Cache to CacheMemory. 2016-08-31 23:57:06 -05:00
Jonathan Thomas
723bd24e5c Adding new dependency: libzmq (ZeroMQ). Adding a new debug logging class powered by sockets and ZeroMQ, to allow a threadsafe way to communicate debug messages to a client application (i.e. openshot-qt). Also, removing unneeded Sleep.h functions. There will be lots more code utilizing ZeroMQ soon. 2016-04-04 23:09:18 -05:00
Jonathan Thomas
45f1b8c5ac Making ImageMagick completely optional. This will simplify packaging on Windows and Mac. Also, reprogrammed Display, DisplayWaveform, Save, and Thumbnail methods, which are much faster now (using Qt). 2016-02-23 00:27:03 -06:00
Jonathan Thomas
c7f0a481cc Added a new class to easily expose the JSON metadata of supported effects in libopenshot. Fixed some bugs related to metadata, and a few bugs in the Mask effect (if initialized without a reader). 2015-08-06 20:01:34 -05:00
Jonathan Thomas
b612f3339d Replaced ImagMagick with QImage on almost all key methods and classes. Reprogrammed all effects and the entire rendering pipeline to use QImage and QTransforms, primarily for increases in speed and stability. libopenshot is more than 10X faster on many of the most CPU heavy tasks. This was a huge change, and still has a few minor issues relating to BlackMagick Decklink and Text rendering.... which should be resolved very soon.
Also, much work has been done on memory management / leak detection, and optimizations with multi-threading... including a new thread cacher class used by the video playback (which is smoother than ever).
2015-06-01 00:20:14 -07:00
Jonathan Thomas
7e8ab6f5bf Added new ChannelLayouts classe, which allows encoding video files in different channel layouts (mono, stereo, surround, etc...) 2015-02-05 00:11:11 -06:00
Jonathan Thomas
e135eb5738 Changed license to LGPLv3 for all libopenshot code. 2014-07-11 16:52:14 -05:00
Jonathan Thomas
39a67529fa Removed partially implemented SDL player. 2014-06-20 15:05:24 -05:00
Jonathan Thomas
579237d614 Renaming Profile.h due to conflicts with ImageMagick. Mac builds are working again now. 2014-04-11 00:28:29 -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
4ee7ef9b6e Added experimental AudioBufferSource and refactored lots of audio code. 2014-01-28 17:17:38 -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
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
e2f5ca8a69 Removed Framerate class, since its functionality is already represented in the Fraction class. Also, corrected a few unittests, and updated some documentation. 2014-01-05 23:12:56 -06:00
Jonathan Thomas
cd7743fb88 Improved Json methods to correct work with swig and inheritance. 2013-12-07 21:09:55 -06:00
Jonathan Thomas
d8da4cb807 Added Json() methods to many methods, for loading and saving properties. 2013-12-06 00:40:26 -06:00
Jonathan Thomas
781e70fe03 Updated build scripts to work with Qt5 on Mac, and also successfully tested on Ubuntu 13.10. 2013-11-25 00:48:49 -06:00
Jonathan Thomas
d8175effdf Added Qt video player example code, although it is not working yet. 2013-11-11 17:42:31 -06:00
Jonathan Thomas
cdde046ca4 Added PlayerBase, SDLPlayer, and QtPlayer. This forms the basis for the Player classes in libopenshot. 2013-11-06 23:17:35 -06:00
Jonathan Thomas
1bdea062d6 Added Deinterlace effect. Refactored Wipe effect into Mask effect (which is a more appropriate name). Added an example interlaced.png file. Improved the Mask to accept a 'reader', which can be used for more elaborate wipe animations. 2013-10-18 12:38:09 -05:00
Jonathan Thomas
44681e34d5 Added Wipe effect, which powers all transitions in libopenshot 2013-10-10 17:50:54 -05:00
Jonathan Thomas
642bfc659d Completed the effects integration into the Timeline class. An effect is limited to a single layer on the timeline, but can affect many clips (based on it's position and duration) 2013-10-06 18:11:33 -05:00