/** * @file * @brief SWIG configuration for libopenshot (to generate Java SWIG bindings) * @author Jonathan Thomas * * @section LICENSE */ // Copyright (c) 2008-2024 OpenShot Studios, LLC // // SPDX-License-Identifier: LGPL-3.0-or-later %module("threads"=1) openshot /* Suppress warnings about ignored operator= */ %warnfilter(362); /* Don't generate multiple wrappers for functions with default args */ %feature("compactdefaultargs", "1"); /* Enable inline documentation */ %feature("autodoc", "1"); /* Include various SWIG helpers */ %include "typemaps.i" %include "std_string.i" #%include "std_list.i" %include "std_vector.i" %include "std_map.i" %include /* Unhandled STL Exception Handling */ %include /* Include shared pointer code */ %include /* Mark these classes as shared_ptr classes */ #ifdef USE_IMAGEMAGICK %shared_ptr(Magick::Image) #endif %shared_ptr(juce::AudioBuffer) %shared_ptr(openshot::Frame) /* Instantiate the required template specializations */ %template() std::map; #%template() std::pair; %template() std::vector; %template() std::vector; #%template() std::pair; #%template() std::pair; #%template() std::pair; #%template() std::vector>; %template() std::vector>; %{ #include "OpenShotVersion.h" #include "ReaderBase.h" #include "WriterBase.h" #include "AudioDevices.h" #include "AudioWaveformer.h" #include "CacheBase.h" #include "CacheDisk.h" #include "CacheMemory.h" #include "ChannelLayouts.h" #include "ChunkReader.h" #include "ChunkWriter.h" #include "ClipBase.h" #include "Clip.h" #include "Coordinate.h" #include "Color.h" #include "DummyReader.h" #include "EffectBase.h" #include "Effects.h" #include "EffectInfo.h" #include "Enums.h" #include "Exceptions.h" #include "FFmpegReader.h" #include "FFmpegWriter.h" #include "Fraction.h" #include "Frame.h" #include "FrameMapper.h" #include "PlayerBase.h" #include "Point.h" #include "Profiles.h" #include "QtHtmlReader.h" #include "QtImageReader.h" #include "QtPlayer.h" #include "QtTextReader.h" #include "KeyFrame.h" #include "RendererBase.h" #include "Settings.h" #include "TimelineBase.h" #include "Timeline.h" #include "Qt/VideoCacheThread.h" #include "ZmqLogger.h" %} // Prevent SWIG from ever generating a wrapper for juce::Thread’s constructor (or run()) %ignore juce::Thread::Thread; #ifdef USE_IMAGEMAGICK %{ #include "ImageReader.h" #include "ImageWriter.h" #include "TextReader.h" %} #endif /* Wrap std templates (list, vector, etc...) */ #%template(ClipList) std::list; #%template(EffectBaseList) std::list; %template(CoordinateVector) std::vector; %template(PointsVector) std::vector; %template(FieldVector) std::vector; %template(MappedFrameVector) std::vector; %template(MetadataMap) std::map; /* Deprecated */ %template(AudioDeviceInfoVector) std::vector; %include "OpenShotVersion.h" %include "ReaderBase.h" %include "WriterBase.h" %include "AudioDevices.h" %include "AudioWaveformer.h" %include "CacheBase.h" %include "CacheDisk.h" %include "CacheMemory.h" %include "ChannelLayouts.h" %include "ChunkReader.h" %include "ChunkWriter.h" %include "ClipBase.h" %include "Clip.h" %include "Coordinate.h" %include "Color.h" %include "DummyReader.h" %include "EffectBase.h" %include "Effects.h" %include "EffectInfo.h" %include "Enums.h" %include "Exceptions.h" %include "FFmpegReader.h" %include "FFmpegWriter.h" %include "Fraction.h" %include "Frame.h" %include "FrameMapper.h" %include "PlayerBase.h" %include "Point.h" %include "Profiles.h" %include "QtHtmlReader.h" %include "QtImageReader.h" %include "QtPlayer.h" %include "QtTextReader.h" %include "KeyFrame.h" %include "RendererBase.h" %include "Settings.h" %include "TimelineBase.h" %include "Qt/VideoCacheThread.h" %include "Timeline.h" %include "ZmqLogger.h" #ifdef USE_IMAGEMAGICK %include "ImageReader.h" %include "ImageWriter.h" %include "TextReader.h" #endif /* Effects */ %include "effects/Bars.h" %include "effects/Blur.h" %include "effects/Brightness.h" %include "effects/Caption.h" %include "effects/ChromaKey.h" %include "effects/ColorMap.h" %include "effects/ColorShift.h" %include "effects/Crop.h" %include "effects/Deinterlace.h" %include "effects/Hue.h" %include "effects/LensFlare.h" %include "effects/Mask.h" %include "effects/Negate.h" %include "effects/Pixelate.h" %include "effects/Saturation.h" %include "effects/Sharpen.h" %include "effects/Shift.h" %include "effects/SphericalProjection.cpp" %include "effects/Wave.h" #ifdef USE_OPENCV %include "effects/Stabilizer.h" %include "effects/Tracker.h" %include "effects/ObjectDetection.h" %include "effects/Outline.h" #endif