- 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
This changes the type of the private `path` variable to QString
internally (which we were converting it to for a bunch of operations
anyway), and uses QString's more robust string-manipulation and
comparison methods to ensure that only filenames that _end in_ an
.svg/.svgz extension (case-insensitively) are recognized as SVG files.
Previously, a filename such as "Title.svg.png" would be interpreted as
an SVG file.
The change in QString type is purely internal, all of the class's
interfaces remain the same, and accept `std::string path`. We simply
convert it to/from QString at opposite places in the code, now.
* 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.
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).