Jonathan Thomas
8b3167a99a
Adding ability for a Clip to auto-detect and instantiate a Timeline Reader from the *.osp file type. Added new Timeline constructor, to auto load UTF-8 JSON file, and regex convert all paths to absolute. Fixed a dead lock issue when a Timeline loads another Timeline.
2020-03-09 16:49:06 -05:00
FeRD (Frank Dana)
22bf6edfba
Enhance Json data handling
...
- Parsing from string to Json::Value is now done by utility function
openshot::stringToJson() in Json.cpp, all SetJson() methods call it.
- Expand use of const member functions and args where appropriate.
- Use std::to_string() to format int/float values as strings.
- Correct mentions of nonexistent Json::JsonValue type in docstrings
2019-12-27 08:51:51 -05:00
FeRD (Frank Dana)
352fd6629a
Remaining std:: prefixes
2019-08-04 23:51:02 -04:00
FeRD (Frank Dana)
e49039d568
std:: prefixes for Timeline.h/.cpp
2019-08-04 22:23:06 -04:00
Frank Dana
8f42a9ff07
Fix tabs-vs-spaces indent in Timeline.h
2019-06-26 02:07:02 -04:00
Chris Kirmse
572875b8d7
Merge remote-tracking branch 'upstream/develop' into develop
2019-06-24 10:00:22 -07: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
Jonathan Thomas
968e472c73
Tweak how Timeline manages the cache object (sometimes itself, and sometimes by the user if they call SetCache)
2019-05-13 17:11:40 -05:00
Chris Kirmse
d5a29500a5
change freeing of frame_mappers allocated in Timeline
...
- each class is now responsible to free whatever it allocates
- all tests passed on my machine with ffmpeg 3.2
- Clip is now more careful about freeing a reader if it allocated it as well
2019-05-09 10:51:40 -07: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
Chris Kirmse
650d3ec820
fix grammar error with possessive its and update sample for audio parameter
2019-03-14 09:26:56 -07: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
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
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
8f236200cc
Fixing another small issue when changing profiles
2017-05-26 01:08:20 -05: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
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
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
a3ef86a695
Fixed some big performance issues (some which were causing crashes) in effects (Brightness and Saturation), and created a factory class for effects, to reduce redundent code.
2016-08-16 22:40:51 -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
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