Commit Graph

119 Commits

Author SHA1 Message Date
Jonathan Thomas
2b41ad9938 More experimental critial sections trying to prevent race conditions on high CPU core systems 2017-11-11 17:16:56 -06:00
Jonathan Thomas
30c0d48f56 Fixing regression (I think) with rotation origin. Things should always rotate around the center of an object (until I add in keyframable origin points) 2017-11-08 03:36:01 -06:00
Jonathan Thomas
2fcb35ddcc Removing throw statements from header files (thanks Peter) 2017-10-26 18:44:35 -05:00
Jonathan Thomas
f0f1b92777 Reducing # of scale operations to 1 per layer on the timeline. 2017-10-26 18:15:16 -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
b094ac8469 Fixing issue with incorrect image size caches, which results in blurry/smudgy scaling on certain things. 2017-07-27 02:25:20 -05:00
Jonathan Thomas
4e3dd937e2 Fixing audio pops when stacking multiple clips with different offsets (pretty big issue for some people, just depending on your source framerates and position/start of clips). 2017-07-16 23:58:16 -05:00
Jonathan Thomas
8f236200cc Fixing another small issue when changing profiles 2017-05-26 01:08:20 -05:00
Jonathan Thomas
e899cbf39a Fixing Timeline::SetJSON to use a lock, and reopen the reader if already open. This fixes an issue when trying to open another project while the current project is being accessed (i.e. during playback). 2017-05-18 17:04:34 -05:00
Jonathan Thomas
c89ad78e38 Adding additional lock on ClearAllCache method, to prevent crash 2017-05-18 02:48:00 -05:00
Jonathan Thomas
57dc7bc43a Fixing broken gravity for GRAVITY_BOTTOM_LEFT 2017-03-26 12:49:27 -05:00
Jonathan Thomas
97ec6298ff Adding frame number display options to a clip, which can be super useful when debugging issues. Options include: None, Clip, Timeline, or Both. Also improving missing frame detection, to have less false positives (i.e. flickering 1st frame) 2017-03-15 02:06:53 -05:00
Jonathan Thomas
905fbf42ec Allow Timeline to use smaller frame/image sizes based on MaxSize (huge performance gain for previewing videos) 2017-03-14 11:42:05 -05:00
Jonathan Thomas
210d00c81f Fixing big regression finding the correct starting frame for a clip... oops. 2017-03-11 00:51:43 -06:00
Jonathan Thomas
ec65ca39b3 Fixing invalid cache after editing effect in a clip, and frame accuracy (converting timestamps into frame numbers). This makes frame by frame editing much better. 2017-03-10 00:51:08 -06:00
Jonathan Thomas
bd85f1144d Adding a lock when updating the JSON of a Timeline (or remapping it), so nobody can request frames while everything is changing. Seems much more stable during live preview. 2017-03-05 04:34:32 -06:00
Jonathan Thomas
dc25576fab Removing transform handles, since I will instead implement that in Python rather this library. Also, refactoring a bit of the clip transforms, to keep the rotation center correct. 2017-02-04 22:01:06 -06:00
Nelson Ho
c9b74ec96d Added fixes for audio sample distribution to clean up missing or extra audio samples that were at frame boundaries 2017-01-06 20:48:47 -05:00
Jonathan Thomas
5b7e94bb31 Fixing incorrect placement of a selection handle. 2016-12-29 18:01:20 -06:00
Jonathan Thomas
066d4818a3 Only apply effects for valid frame objects 2016-12-15 03:18:26 -06:00
Jonathan Thomas
d79994a780 New cross platform exception handler for libopenshot! Logs basic stacktrace on segmentation fault. This will be a huge help in finding bugs and crashes. 2016-11-03 02:19:48 -05:00
Jonathan Thomas
d2b3651d87 Fixing crash when FrameMapper sometimes returns a blank Frame objects. Not sure why that is possible, but now it fails gracefully. Also, extending the cache clearing code on timeline +/- 1 more frame, to be sure we clear frames that have changed. 2016-09-19 22:27:36 -05:00
Jonathan Thomas
33bba65cfd Adding transform selection handles to a clip, which doesn't have much of a purpose yet, but it renders the rectangle handles for a clip (will soon be tied into the UI). Finally implemented shearing as a basic clip transform, which can be keyframed and animated. Refactored the timeline code where we do matrix transformations (QTransform), to simplify it. 2016-09-16 00:12:17 -05:00
Jonathan Thomas
2b5db8dc5c Fixing regression from new caching system, to ignore removing frames from certain JSON changes, for example, deletions (i.e. removing a clip/transition). 2016-09-15 17:43:46 -05:00