Jonathan Thomas
e3151d577b
Clean-up and modernization of our cmake build system
...
- Modernized SWIG policy handling for Python, Ruby, and Java without raising the project-wide CMake policy version.
- Switched Python discovery to Python3 on CMake 3.12+, with legacy PythonInterp/PythonLibs fallback for older CMake.
- Removed dead pre-CMake-3.8 SWIG branches.
- Quieted optional babl pkg-config probing.
- Changed FFmpeg probing so avresample is only checked if swresample is unavailable.
- Cleaned Java binding debug configure messages.
- Addressed the SWIG build warnings:
- Added SWIG-only juce::Thread declaration for Python/Ruby/Java.
- Added Python QWidget typecheck precedence.
- Filtered known Ruby binding limitations for multiple inheritance and unexposed Profile operators.
- Suppressed Java-only SWIG categories for unsupported operators/proxy limitations via Java SWIG flags.
2026-05-24 17:31:52 -05:00
Jonathan Thomas
51ee44ab33
Adding new Denoise effect
...
- Adds a new DenoiseImage video effect for reducing luma grain and color speckles with adaptive spatial filtering, conservative temporal blending, motion protection, and brightness response controls.
- Added to openshot-benchmark
- New unit tests
2026-05-05 21:19:26 -05:00
Jonathan Thomas
8ede4d777e
Add Film Grain effect with deterministic, keyframeable controls, profile-scaled grain rendering, bindings, registration, and unit tests. Also update Analog Tape artifact
...
scaling so preview and export sizes stay visually consistent.
2026-04-24 23:06:55 -05:00
Jonathan Thomas
44f92a0387
Improving swig to wrap pointers as PyLong_AsVoidPtr - to avoid Android memory addresses overflowing as an int.
2026-02-02 21:14:01 -06:00
Jonathan Thomas
23b4e748ea
Improving swig bindings for Python, Java, and Ruby for access direct pixel byte array:
...
Example Code Snippets:
Python:
import openshot
r = openshot.FFmpegReader("/home/jonathan/Pictures/ChatGPT Image Mar 27, 2025, 09_50_56 AM.png")
r.Open()
f = r.GetFrame(1)
buf = f.GetPixelsBytes()
w, h = f.GetWidth(), f.GetHeight()
stride = f.GetBytesPerLine()
Ruby:
require "openshot"
r = Openshot::FFmpegReader.new("/home/jonathan/Pictures/ChatGPT Image Mar 27, 2025, 09_50_56 AM.png")
r.Open()
f = r.GetFrame(1)
buf = f.GetPixelsBytes
w = f.GetWidth
h = f.GetHeight
stride = f.GetBytesPerLine
2025-12-22 13:46:41 -06:00
Jonathan Thomas
68d3850efa
Exposing VideoCacheThread to SWIG bindings for Python, Ruby, and Java. This will be called from openshot-qt in Python, to speed up exports.
2025-06-06 15:33:43 -05:00
Jonathan Thomas
d26ef4dcbb
Merge branch 'develop' into lens-flare
2025-05-28 20:34:51 -05:00
Jonathan Thomas
3db2fe14fb
Adding unit tests for Lens Flare effect, and adding effect to Python SWIG bindings
2025-05-28 17:40:47 -05:00
Jonathan Thomas
6a2f4f539f
Adding missing effects to .i swig files
2025-05-25 23:29:50 -05:00
Jonathan Thomas
5cb74f484b
Fixing swig java support to generate a package (org.openshot) and correctly wrap the shared pointers for Frame and Audio buffers.
2024-12-30 23:50:06 -06:00
Jonathan Thomas
c8899963fd
Add experimental support for Java bindings for libopenshot. This generates the *.class and *.java files, and a JNI library (libopenshot-java.so) to invoke the actual C++ openshot library, and a openshotJNI.jar which contains all of these files.
2024-06-08 14:56:30 -05:00