Commit Graph

64 Commits

Author SHA1 Message Date
Jonathan Thomas
1c2786de35 SCALE_NONE was incorrectly sizing SVG, Image, and Video files. Since OpenShot changes the preview window size during editing, the SCALE_NONE clips should always be scaled to the ratio: preview / timeline... so they stay relative sized to the timeline size.
For example, if an SVG is 500px wide, and the project is 1000px wide... the SVG in SCALE_NONE mode should always be 50% with width of the video, regardless of how small you make the preview window.
2021-08-11 12:10:46 -05:00
Jonathan Thomas
7636a0b165 Switching to QImageReader for parsing a path to a QImage, and allowing the AutoTransform property correctly handle exif metadata (flipping and orientation of images) 2021-02-01 15:57:41 -06:00
Jonathan Thomas
71c6c23ec9 Fixing scope issue and unused var 2021-01-28 15:54:52 -06:00
Jonathan Thomas
ea9e774f1e Fixing a big issue where SVG files are not correctly scaled to larger resolutions, for cases where the default size is smaller than the Timeline size (or preview size). Now SVG files are rescaled/re-rasterized larger when needed, and otherwise cached. 2021-01-28 15:46:39 -06:00
FeRD (Frank Dana)
2f3615f706 Move Exceptions.h includes to .cpp files 2021-01-26 10:52:04 -05:00
FeRD (Frank Dana)
a1e44edad4 Merge branch 'develop' into clip-refactor-keyframes 2020-10-19 16:28:49 -04:00
FeRD (Frank Dana)
f4ae897240 Merge branch 'clip-refactor-keyframes' of https://github.com/OpenShot/libopenshot into clip-refactor-keyframes 2020-10-19 16:26:09 -04:00
Jonathan Thomas
8e0c1b89fa Replacing ARGB32_Premultiplied with Format_RGBA8888_Premultiplied, which still seems to benefit from performance, but keeps the byte order the same as before. win win 2020-10-19 16:22:27 -04:00
Jonathan Thomas
096c2c409d Converting RGB8888 to ARGB32_Premultiplied (for performance reasons) 2020-10-19 16:17:20 -04:00
Jonathan Thomas
8387b124ad Large refactor of Timeline, TimelineBase, ClipBase, and Clip, to allow a Clip access to the parent timeline instance (if available), and thus, certain properties (preview size, timeline FPS, etc...). This allows for a simpler rendering of Clip keyframes (during the Clip::GetFrame method), and a simpler Timeline class, that can change the preview window size dynamically and no longer requires a Singleton Settings class.
- Also removed "crop" from Clip class, as it was never implmeneted correctly, and we have a fully functional "crop" effect when needed
 - Added caching to Clip class, to optimize previewing of cached frames (much faster than previous)
2020-10-19 16:05:01 -04:00
FeRD (Frank Dana)
9050cc72b2 Merge branch 'develop' into new-header-move2 2020-10-19 15:12:28 -04:00
FeRD (Frank Dana)
aa40ea29e0 Update include paths in all source/header files 2020-10-18 07:43:37 -04:00
FeRD (Frank Dana)
6c656dd7f7 QtImageReader: Consolidate ctors 2020-10-17 06:23:44 -04:00
Jonathan Thomas
1dfbb0e771 Merge branch 'develop' into clip-refactor-keyframes
# Conflicts:
#	src/CacheDisk.cpp
#	src/Clip.cpp
#	src/Frame.cpp
#	src/QtHtmlReader.cpp
#	src/QtImageReader.cpp
#	src/QtTextReader.cpp
#	src/effects/Bars.cpp
#	src/effects/Crop.cpp
2020-10-16 15:32:43 -05:00
Jonathan Thomas
8f6c64215e Merge pull request #556 from ferdnyc/use-make-shared
Use std::make_shared to allocate shared ptrs, instead of std::shared_ptr constructors
2020-10-16 14:48:14 -05:00
Jonathan Thomas
6bd7fb7235 Replacing ARGB32_Premultiplied with Format_RGBA8888_Premultiplied, which still seems to benefit from performance, but keeps the byte order the same as before. win win 2020-10-14 03:06:30 -05:00
Jonathan Thomas
94059828d5 Converting RGB8888 to ARGB32_Premultiplied (for performance reasons) 2020-10-13 18:18:10 -05:00
Jonathan Thomas
f9a717ef4b Large refactor of Timeline, TimelineBase, ClipBase, and Clip, to allow a Clip access to the parent timeline instance (if available), and thus, certain properties (preview size, timeline FPS, etc...). This allows for a simpler rendering of Clip keyframes (during the Clip::GetFrame method), and a simpler Timeline class, that can change the preview window size dynamically and no longer requires a Singleton Settings class.
- Also removed "crop" from Clip class, as it was never implmeneted correctly, and we have a fully functional "crop" effect when needed
 - Added caching to Clip class, to optimize previewing of cached frames (much faster than previous)
2020-10-04 16:59:21 -05:00
FeRD (Frank Dana)
bd90b8d6c9 ReaderBase: Deprecate SetClip/GetClip names
- Replacement method names are SetParentClip/GetParentClip
- Old names are retained as deprecated alternates, for now
- libopenshot internal calls (very few) are updated

ReaderBase.cpp: Remove (Set,Get)Clip
2020-09-01 23:05:04 -04:00
FeRD (Frank Dana)
3c2532b4de Use std::make_shared to allocate shared ptrs
std::make_shared does in a single allocation what the constructors
for std::shared_ptr usually take at least 2 allocations to do.
May give us an infinitesimal performance/memory improvement.

https://www.modernescpp.com/index.php/memory-and-performance-overhead-of-smart-pointer
2020-08-20 16:50:12 -04:00
Frank Dana
4fad197fbe Add version gating for Zmq and Qt deprecations (#470)
* ZmqLogger: Avoid deprecated send() in later ZMQ
* QtImageReader: byteCount() deprecated in QT 5.10+
2020-03-23 08:16:02 -04:00
Frank Dana
8ea7449363 Merge branch 'develop' into json-parsing 2020-01-20 15:25:40 -05:00
FeRD (Frank Dana)
48fc7de326 Fix RESVG format in GetFrame 2020-01-11 19:27:53 -05:00
FeRD (Frank Dana)
4f2800664b Change RESVG image format to ARGB32_Pre 2020-01-08 17:00:46 -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