OpenShot Library | libopenshot
0.4.0
|
This class distorts an image using a wave pattern. More...
#include <effects/Wave.h>
Public Member Functions | |
std::shared_ptr< openshot::Frame > | GetFrame (int64_t frame_number) override |
This method is required for all derived classes of ClipBase, and returns a new openshot::Frame object. All Clip keyframes and effects are resolved into pixels. More... | |
std::shared_ptr< openshot::Frame > | GetFrame (std::shared_ptr< openshot::Frame > frame, int64_t frame_number) override |
This method is required for all derived classes of ClipBase, and returns a modified openshot::Frame object. More... | |
std::string | Json () const override |
Generate JSON string of this object. More... | |
Json::Value | JsonValue () const override |
Generate Json::Value for this object. More... | |
std::string | PropertiesJSON (int64_t requested_frame) const override |
void | SetJson (const std::string value) override |
Load JSON string into this object. More... | |
void | SetJsonValue (const Json::Value root) override |
Load Json::Value into this object. More... | |
Wave () | |
Default constructor, useful when using Json to load the effect properties. More... | |
Wave (Keyframe wavelength, Keyframe amplitude, Keyframe multiplier, Keyframe shift_x, Keyframe speed_y) | |
Public Member Functions inherited from openshot::EffectBase | |
Json::Value | BasePropertiesJSON (int64_t requested_frame) const |
Generate JSON object of base properties (recommended to be used by all effects) More... | |
int | constrain (int color_value) |
Constrain a color value from 0 to 255. More... | |
void | DisplayInfo (std::ostream *out=&std::cout) |
Display effect information in the standard output stream (stdout) More... | |
virtual std::string | GetVisibleObjects (int64_t frame_number) const |
Get the indexes and IDs of all visible objects in the given frame. More... | |
void | InitEffectInfo () |
virtual std::string | Json (int64_t requested_frame) const |
Json::Value | JsonInfo () const |
Generate JSON object of meta data / info. More... | |
int | Order () const |
Get the order that this effect should be executed. More... | |
void | Order (int new_order) |
Set the order that this effect should be executed. More... | |
openshot::ClipBase * | ParentClip () |
Parent clip object of this effect (which can be unparented and NULL) More... | |
void | ParentClip (openshot::ClipBase *new_clip) |
Set parent clip object of this effect. More... | |
std::string | ParentClipId () const |
Return the ID of this effect's parent clip. More... | |
virtual void | SetJson (int64_t requested_frame, const std::string value) |
void | SetParentEffect (std::string parentEffect_id) |
Set the parent effect from which this properties will be set to. More... | |
virtual | ~EffectBase ()=default |
Public Member Functions inherited from openshot::ClipBase | |
ClipBase () | |
Constructor for the base clip. More... | |
virtual void | End (float value) |
Set end position (in seconds) of clip (trim end of video) More... | |
void | Id (std::string value) |
void | Layer (int value) |
Set layer of clip on timeline (lower number is covered by higher numbers) More... | |
bool | operator< (ClipBase &a) |
bool | operator<= (ClipBase &a) |
bool | operator> (ClipBase &a) |
bool | operator>= (ClipBase &a) |
void | Position (float value) |
More... | |
void | Start (float value) |
Set start position (in seconds) of clip (trim start of video) More... | |
virtual | ~ClipBase ()=default |
Public Attributes | |
Keyframe | amplitude |
The height of the wave. More... | |
Keyframe | multiplier |
Amount to multiply the wave (make it bigger) More... | |
Keyframe | shift_x |
Amount to shift X-axis. More... | |
Keyframe | speed_y |
Speed of the wave on the Y-axis. More... | |
Keyframe | wavelength |
The length of the wave. More... | |
Public Attributes inherited from openshot::EffectBase | |
EffectInfoStruct | info |
Information about the current effect. More... | |
EffectBase * | parentEffect |
Parent effect (which properties will set this effect properties) More... | |
std::map< int, std::shared_ptr< openshot::TrackedObjectBase > > | trackedObjects |
Map of Tracked Object's by their indices (used by Effects that track objects on clips) More... | |
Additional Inherited Members | |
Protected Member Functions inherited from openshot::ClipBase | |
Json::Value | add_property_choice_json (std::string name, int value, int selected_value) const |
Generate JSON choice for a property (dropdown properties) More... | |
Json::Value | add_property_json (std::string name, float value, std::string type, std::string memo, const Keyframe *keyframe, float min_value, float max_value, bool readonly, int64_t requested_frame) const |
Generate JSON for a property. More... | |
Protected Attributes inherited from openshot::EffectBase | |
openshot::ClipBase * | clip |
Pointer to the parent clip instance (if any) More... | |
Protected Attributes inherited from openshot::ClipBase | |
float | end |
The position in seconds to end playing (used to trim the ending of a clip) More... | |
std::string | id |
ID Property for all derived Clip and Effect classes. More... | |
int | layer |
The layer this clip is on. Lower clips are covered up by higher clips. More... | |
float | position |
The position on the timeline where this clip should start playing. More... | |
std::string | previous_properties |
This string contains the previous JSON properties. More... | |
float | start |
The position in seconds to start playing (used to trim the beginning of a clip) More... | |
openshot::TimelineBase * | timeline |
Pointer to the parent timeline instance (if any) More... | |
This class distorts an image using a wave pattern.
Distoring an image with a wave can be used to simulate analog transmissions, and other effects, and each value of the wave computation can be animated with an openshot::Keyframe curves over time.
Wave::Wave | ( | ) |
Wave::Wave | ( | Keyframe | wavelength, |
Keyframe | amplitude, | ||
Keyframe | multiplier, | ||
Keyframe | shift_x, | ||
Keyframe | speed_y | ||
) |
Constructor which takes 5 curves. The curves will distort the image.
wavelength | The curve to adjust the wavelength (0.0 to 3.0) |
amplitude | The curve to adjust the amplitude (0.0 to 5.0) |
multiplier | The curve to adjust the multiplier (0.0 to 1.0) |
shift_x | The curve to shift pixels along the x-axis (0 to 100) |
speed_y | The curve to adjust the vertical speed (0 to 10) |
|
inlineoverridevirtual |
This method is required for all derived classes of ClipBase, and returns a new openshot::Frame object. All Clip keyframes and effects are resolved into pixels.
frame_number | The frame number (starting at 1) of the clip or effect on the timeline. |
Implements openshot::ClipBase.
Definition at line 68 of file Wave.h.
Referenced by GetFrame().
|
overridevirtual |
This method is required for all derived classes of ClipBase, and returns a modified openshot::Frame object.
The frame object is passed into this method and used as a starting point (pixels and audio). All Clip keyframes and effects are resolved into pixels.
frame | The frame object that needs the clip or effect applied to it |
frame_number | The frame number (starting at 1) of the clip or effect on the timeline. |
Implements openshot::ClipBase.
|
overridevirtual |
Generate JSON string of this object.
Reimplemented from openshot::EffectBase.
|
overridevirtual |
Generate Json::Value for this object.
Reimplemented from openshot::EffectBase.
Definition at line 102 of file Wave.cpp.
Referenced by Json().
|
overridevirtual |
Get all properties for a specific frame (perfect for a UI to display the current state of all properties at any time)
Implements openshot::ClipBase.
|
overridevirtual |
Load JSON string into this object.
Reimplemented from openshot::EffectBase.
|
overridevirtual |
Load Json::Value into this object.
Reimplemented from openshot::EffectBase.
Definition at line 135 of file Wave.cpp.
Referenced by SetJson().
Keyframe openshot::Wave::amplitude |
The height of the wave.
Definition at line 45 of file Wave.h.
Referenced by GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().
Keyframe openshot::Wave::multiplier |
Amount to multiply the wave (make it bigger)
Definition at line 46 of file Wave.h.
Referenced by GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().
Keyframe openshot::Wave::shift_x |
Amount to shift X-axis.
Definition at line 47 of file Wave.h.
Referenced by GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().
Keyframe openshot::Wave::speed_y |
Speed of the wave on the Y-axis.
Definition at line 48 of file Wave.h.
Referenced by GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().
Keyframe openshot::Wave::wavelength |
The length of the wave.
Definition at line 44 of file Wave.h.
Referenced by GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().