FeRD (Frank Dana)
9f32f5e064
std:: prefixes for ClipBase
2019-08-04 22:43:24 -04:00
Jonathan Thomas
ac8876f810
Removing duplicated destructor definitions and implementations... so our virtual destructors will not break on older toolchains.
2019-06-21 15:57:41 -05:00
Jonathan Thomas
ffb5439a2e
Merge pull request #224 from sparfenyuk/develop
...
Add virtual destructor for abstract classes
2019-06-21 15:47:08 -05:00
FeRD (Frank Dana)
f170fdd009
Update copyright range to current year
2019-06-11 06:48:32 -04:00
FeRD (Frank Dana)
0327c2ab5c
Remove license block from documentation comment
2019-06-09 08:31:04 -04:00
Chris Kirmse
833fcb8e8e
fix a number of memory leaks
...
- some were with libav functions
- same were due to non-virtual destructors
2019-05-08 15:02:33 -07:00
Sergey Parfenyuk
49831a24b0
Add virtual destructor for abstract classes
2019-04-27 12:37:24 +02:00
Jonathan Thomas
7b6eb9c21b
Integration of resvg SVG library (optional during build) ( #185 )
...
* Integration of libresvg SVG library (optional during build)
* Major refactor of max_width and max_height for preview optimization
* Fixed many bugs related to preview resizing, with regards to cached frames
* Updating gitlab CI to find RESVGDIR correctly for windows, and adding svgz support
* Updating cmake findresvg module to search for windows locations first, to prevent an issue on our windows builders and updating some CMake output.
* Removing folder path from resvg header, since it could be installed in different named folders. This is an attempt to fix Windows include issues.
* Making call to AV_FREE_FRAME conditional for non windows systems (because it crashes on Windows for seemingly no reason). Needs more investigation.
2019-01-19 02:18:52 -06:00
Jonathan Thomas
2fcb35ddcc
Removing throw statements from header files (thanks Peter)
2017-10-26 18:44:35 -05:00
Jonathan Thomas
c95db460d6
Big update! Updating all "long int" frame number types to int64_t, so all 3 OSes will produce the same depth and precision on frame numbers. Also removing variable bitrate support temporarily, since it causes more problems than it solves.
2017-09-28 16:03:01 -05: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
559d6a0545
Huge refactor of keyframe point handles (bezier quadratic curves) to use CSS-style syntax. Basically, the left and right handles of a point now use percentages, such as 0.0, 1.0, 0.5, 1.0 (between 0 and 1), and become real coordinates based on the value differences between points (in real time). Also simplified the JSON property creation. Also, many unit tests have been updated, because they were actually generating the incorrect values from before... although only slightly in most cases. Now they have correct values from the default bezier handles.
2016-10-19 02:19:07 -05:00
Jonathan Thomas
7f347eb1ca
Added SetMaxSize for image optimizations in QImageReader and FFmpegReader, which lets the timeline pass down the max size to all clips and readers, so they can optionally optimize the size of images (especially useful for optimizing preview performance). Removed convoluted image scaling code in FFmpegReader, and replaced with simpler version. Also, fixed a few regressions from the new Caching code, primarily a crash when reaching the end of the last clip on the timeline.
2016-09-14 04:11:12 -05:00
Jonathan Thomas
358e0835d2
Added dropdown choices into JSON properties, so a UI can correctly list the options for certain properties. Fixed a bug when deleting all Points from a Keyframe, and added some missing Enums from the Python/Ruby bindings.
2015-10-02 18:22:10 -05:00
Jonathan Thomas
bfa050409c
Improved support for missing frames and invalid PTS (which result in gaps and duplicate frames). Also changed frame number to larger data type, and did some code clean-up and refactoring. Less crashes, and more video support!
2015-08-24 01:05:48 -05:00
Jonathan Thomas
79519dbeab
Added JSON Properties to all effects and refactored some of the code into the ClipBase class.
2015-02-26 00:02:06 -06:00
Jonathan Thomas
e135eb5738
Changed license to LGPLv3 for all libopenshot code.
2014-07-11 16:52:14 -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
eef341270b
Changed some json settings for the timeline, and fixed a regression on the clip class.
2014-01-27 23:31:38 -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
Jonathan Thomas
4af6916338
Fixed polymorphism / inhereted Json methods, and added a new IsOpen() method on all readers. Fixed other misc Json bugs.
2013-12-18 21:55:43 -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
1127a0f3ba
Refactored Clips into a base class called ClipBase. Effects and Clips use this base class, which allows them to be positioned and layered on the timeline. Also fixed a regression in Coordinate, which was not properly setting instance variables.
2013-10-01 15:22:25 -05:00