Commit Graph

122 Commits

Author SHA1 Message Date
Jonathan Thomas
04e4f63ea8 Calculate max volume of all overlapping clips, and scale clip volume to fit within the 100%, to prevent popping 2018-06-11 12:02:21 -07:00
Jonathan Thomas
bc5607910d Fixing audio pops due to resampling (this fixes a bunch of audio popping-related bugs). Now Frame objects track their own max_audio_sample_count, as we add audio data... so we have an accurate bounds on each frame. 2018-05-30 03:20:31 -05:00
Jonathan Thomas
371dd73fe5 Update and apply frame mapper on any clip changes, to keep timeline offsets in sync (i.e. avoid audio popping due to slight misalignments of clips on the timeline). Also, avoid mixing audio for clips with no volume or disabled audio. 2018-01-06 01:55:42 -06:00
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