openshot::Wave Class Reference

This class distorts an image using a wave pattern. More...

`#include <Wave.h>`

Inheritance diagram for openshot::Wave:

## Public Member Functions

std::shared_ptr< Frame > | GetFrame (std::shared_ptr< Frame > frame, int64_t frame_number)
| This method is required for all derived classes of EffectBase, and returns a modified openshot::Frame object. More...
string | Json ()
| Get and Set JSON methods. More...
Json::Value | JsonValue ()
| Generate Json::JsonValue for this object. More...
string | PropertiesJSON (int64_t requested_frame)
void | SetJson (string value)
| Load JSON string into this object. More...
void | SetJsonValue (Json::Value root)
| Load Json::JsonValue into this object. More...
| Wave ()
| Blank 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
int | constrain (int color_value)
| Constrain a color value from 0 to 255. More...
void | DisplayInfo ()
| Display effect information in the standard output stream (stdout) More...
void | InitEffectInfo ()
Json::Value | JsonInfo ()
| Generate JSON object of meta data / info. More...
int | Order ()
| 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...
Public Member Functions inherited from openshot::ClipBase
| ClipBase ()
| Constructor for the base clip. More...
void | Id (string value)
| Set basic properties. More...
bool | operator< (ClipBase &a)
bool | operator<= (ClipBase &a)
bool | operator> (ClipBase &a)
bool | operator>= (ClipBase &a)
void | SetMaxSize (int width, int height)
| Set Max Image Size (used for performance optimization) More...

## 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...

## Additional Inherited Members

Protected Member Functions inherited from openshot::ClipBase
Json::Value | add_property_choice_json (string name, int value, int selected_value)
| Generate JSON choice for a property (dropdown properties) More...
Json::Value | add_property_json (string name, float value, string type, string memo, Keyframe *keyframe, float min_value, float max_value, bool readonly, int64_t requested_frame)
| Generate JSON for a property. 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...
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...
int | max_height
| The maximium image height needed by this clip (used for optimizations) More...
int | max_width
| The maximum image width needed by this clip (used for optimizations) More...
float | position
| The position on the timeline where this clip should start playing. More...
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...

## Detailed Description

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.

Definition at line 51 of file Wave.h.

## Constructor & Destructor Documentation

## Wave() [1/2]

Wave::Wave | ( |  | ) |

Blank constructor, useful when using Json to load the effect properties.

Definition at line 33 of file Wave.cpp.

## Wave() [2/2]

Wave::Wave | ( | Keyframe | wavelength,
|  | Keyframe | amplitude,
|  | Keyframe | multiplier,
|  | Keyframe | shift_x,
|  | Keyframe | speed_y
| ) |  |

Default constructor, which takes 5 curves. The curves will distort the image.

Parameters

  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)

Definition at line 39 of file Wave.cpp.

## Member Function Documentation

## GetFrame()

std::shared_ptr< Frame > Wave::GetFrame | ( | std::shared_ptr< Frame > | frame,
|  | int64_t | frame_number
| ) |  |

virtual

This method is required for all derived classes of EffectBase, and returns a modified openshot::Frame object.

The frame object is passed into this method, and a frame_number is passed in which tells the effect which settings to use from it's keyframes (starting at 1).

Returns
  The modified openshot::Frame object

Parameters

  frame | The frame object that needs the effect applied to it
  frame_number | The frame number (starting at 1) of the effect on the timeline.

Implements openshot::EffectBase.

Definition at line 63 of file Wave.cpp.

## Json()

string Wave::Json | ( |  | ) |

virtual

Get and Set JSON methods.

Generate JSON string of this object

Implements openshot::EffectBase.

Definition at line 113 of file Wave.cpp.

## JsonValue()

Json::Value Wave::JsonValue | ( |  | ) |

virtual

Generate Json::JsonValue for this object.

Implements openshot::EffectBase.

Definition at line 120 of file Wave.cpp.

## PropertiesJSON()

string Wave::PropertiesJSON | ( | int64_t | requested_frame | ) |

virtual

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.

Definition at line 178 of file Wave.cpp.

## SetJson()

void Wave::SetJson | ( | string | value | ) |

virtual

Load JSON string into this object.

Implements openshot::EffectBase.

Definition at line 136 of file Wave.cpp.

## SetJsonValue()

void Wave::SetJsonValue | ( | Json::Value | root | ) |

virtual

Load Json::JsonValue into this object.

Implements openshot::EffectBase.

Definition at line 159 of file Wave.cpp.

## Member Data Documentation

## amplitude

Keyframe openshot::Wave::amplitude

The height of the wave.

Definition at line 61 of file Wave.h.

## multiplier

Keyframe openshot::Wave::multiplier

Amount to multiply the wave (make it bigger)

Definition at line 62 of file Wave.h.

## shift_x

Keyframe openshot::Wave::shift_x

Amount to shift X-axis.

Definition at line 63 of file Wave.h.

## speed_y

Keyframe openshot::Wave::speed_y

Speed of the wave on the Y-axis.

Definition at line 64 of file Wave.h.

## wavelength

Keyframe openshot::Wave::wavelength

The length of the wave.

Definition at line 60 of file Wave.h.

The documentation for this class was generated from the following files:

- Wave.h
- Wave.cpp