Jonathan Thomas
179d091005
Moved AppendDebugMessage to ZmqLogger, and updated 100+ references to use this new function. Removed debug var from readers/writers, and moved it to ZmqLogger.Enable(true/false). This allows debug output from all classes and functions, without any duplicate code. Also added some additional debug output for video playback and audio readers.
2016-04-21 01:39:17 -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
1e76b0b6e9
Smoother translation of scaled images, and much smoother aliasing of edges of scaling (i.e. zooming in / out, panning across)
2016-02-03 00:43:27 -06:00
Jonathan Thomas
054175ddaa
Fixed some audio popping issues related to audio buffer size and also resampling issues inside the FrameMapper class. Also made the Timeline more hardened, if a reader returns an error requesting a frame.
2016-01-30 17:12:41 -06:00
Jonathan Thomas
43fd4fccb1
Fixing an audio popping / video frame flashing issue with the Timeline calculating the incorrect frame from a Clip. Now the timeline correctly rounds the time diff, and determines the correct frame.
2016-01-30 02:10:40 -06:00
Jonathan Thomas
d48ce2068e
Refactored some audio thread code, and improved performance of timeline (by removing a 'omp ordered' statement that doesn't seem needed). Also added some performance improvements in Clip and FrameMapper classes (if the frame is the same as the source frame... just use the source frame)
2016-01-18 15:20:55 -06:00
Jonathan Thomas
e2573e8144
Flipping alpha channel values. It was brought to my attention that the meaning of alpha was opposite of what was being used. So, sorry if this breaks some things, but better to get it fixed quickly, and for the value to make sense.
2016-01-16 21:53:07 -06:00
Jonathan Thomas
55c23066a9
Fixed a bug which caused some timeline properties to not be set correctly when applying Json diffs.
2016-01-10 16:50:54 -06:00
Jonathan Thomas
0604069da2
FIxed an issue with audio only files with no default height/width set. Also added improved performance when mixing many audio only files (skipping the image processing)
2016-01-09 15:50:53 -06:00
Jonathan Thomas
13362393c5
Fixed many more regressions with audio files not passing cover art to the next frame correctly. Seeking issues, and many related issues to detecting missing frames improved. Also fixed a deadlock in certain seeking cases.
2016-01-05 01:59:50 -06:00
Jonathan Thomas
b7de1a885b
Fixed some big issues with time mapping and thread safety. Lots and lots of crashes were fixed related to this. Mostly dealing with an incorrectly sized AudioSampleBuffer when trying to combine multiple frames.
2015-12-28 02:41:32 -06:00
Jonathan Thomas
55684663da
Added wave_color to Clip's JSON properties. Also fixed a bug with adding effects from a JSON diff. Made the background color of a wave visualization transparent, and made the wave graphic come before the effects are processed, which allows the wave to be faded, animated, etc...
2015-11-25 23:54:10 -06:00
Jonathan Thomas
fbc719b11f
Many Windows related fixes and tweaks. Also fixed some issues with newer versions of CMake and Swig files.
2015-08-24 23:49:45 -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
c345ae07b7
Fixed the ApplyJsonDiff function to support effects inside clips, which gets a bit tricky.
2015-08-07 23:11:03 -05:00
Jonathan Thomas
41dceadd1f
Removed Cache::Exists method, which created all sorts of havoc when being called in quick succession (basically a frame might exist a split second before calling Cache::GetFrame, but then be missing when GetFrame is called).
...
Next Syntax:
frame = Cache::GetFrame(...)
if frame:
....
Also, fixed some issues with MP3 files having the wrong video length detected, and a few other minor issues.
2015-08-05 23:40:58 -05:00
Jonathan Thomas
c5cddc9765
Updated ApplyJSonDIFF to accept some base Timeline properties
2015-06-04 17:28:39 -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
88e65fecef
Cleaned up timeline class a bit, and refactored some OpenMP multi-threading support. The timeline GetFrame() method can not fully support OpenMP at the moment, due to nested parallel regions in some conditional ImageMagick function calls. Also better protected the openshot::Clip.GetFrame() call.
2015-03-15 02:28:28 -05:00
Jonathan Thomas
b07936e3b2
Added effects processing to a clip, so clips can carry their own independent effects... rather than depend on the timeline. This still needs some refactoring though.
2015-03-14 01:36:13 -05:00
Jonathan Thomas
1c3b1f5691
Timeline now supports overlapping clips, and will process them from bottom to top. Only the top layer gets effects applied, which enables overlapping transitions.
2015-02-26 02:31:36 -06:00
Jonathan Thomas
6937d89bfd
Fixed some issues with the Mask effect: correctly serialize the reader property, and correctly load the reader. Added additional debug info for the Timeline class.
2015-02-25 17:39:59 -06:00
Jonathan Thomas
57fbf357f6
Increased debug output precision. Fixed rounding bug on timeline when finding a clips actual frame number. Fixed bug with a clips JSON properties output.
2015-02-24 23:59:26 -06:00
Jonathan Thomas
0df6439103
Changed default keyframes to set a value on X=1 instead of 0. Fixed Timelines composite function to correctly apply alpha channels to the 1st layer of a frame.
2015-02-21 00:12:21 -06:00
Jonathan Thomas
d44604295a
Added virtual pixel handling to all openshot::Frame images. Fixed timeline to correctly distort (had to disable multi-threaded support for now). Fixed correct origin handling or rotations and scaling. Added lots of debug support into the timeline. Fixed a bug where readers with different # of audio channels would crash the timeline.
2015-02-19 15:59:57 -06:00