Loading...
Searching...
No Matches
openshot::Saturation Class Reference

This class adjusts the saturation of color on a frame's image. More...

`#include <effects/Saturation.h>`

Inheritance diagram for openshot::Saturation:

## 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.
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.
std::string | Json () const override
| Generate JSON string of this object.
Json::Value | JsonValue () const override
| Generate Json::Value for this object.
std::string | PropertiesJSON (int64_t requested_frame) const override
| Saturation ()
| Blank constructor, useful when using Json to load the effect properties.
| Saturation (Keyframe saturation, Keyframe saturation_R, Keyframe saturation_G, Keyframe saturation_B)
void | SetJson (const std::string value) override
| Load JSON string into this object.
void | SetJsonValue (const Json::Value root) override
| Load Json::Value into this object.
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)
int | constrain (int color_value)
| Constrain a color value from 0 to 255.
void | DisplayInfo (std::ostream *out=&std::cout)
| Display effect information in the standard output stream (stdout)
virtual std::string | GetVisibleObjects (int64_t frame_number) const
| Get the indexes and IDs of all visible objects in the given frame.
void | InitEffectInfo ()
virtual std::string | Json (int64_t requested_frame) const
Json::Value | JsonInfo () const
| Generate JSON object of meta data / info.
int | Order () const
| Get the order that this effect should be executed.
void | Order (int new_order)
| Set the order that this effect should be executed.
openshot::ClipBase * | ParentClip ()
| Parent clip object of this effect (which can be unparented and NULL)
void | ParentClip (openshot::ClipBase *new_clip)
| Set parent clip object of this effect.
std::string | ParentClipId () const
| Return the ID of this effect's parent clip.
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.
virtual | ~EffectBase ()=default
Public Member Functions inherited from openshot::ClipBase
| ClipBase ()
| Constructor for the base clip.
float | Duration () const
| Get the length of this clip (in seconds)
virtual float | End () const
| Get end position (in seconds) of clip (trim end of video)
virtual void | End (float value)
| Set end position (in seconds) of clip (trim end of video)
std::string | Id () const
| Get the Id of this clip object.
void | Id (std::string value)
int | Layer () const
| Get layer of clip on timeline (lower number is covered by higher numbers)
void | Layer (int value)
| Set layer of clip on timeline (lower number is covered by higher numbers)
bool | operator< (ClipBase &a)
bool | operator<= (ClipBase &a)
bool | operator> (ClipBase &a)
bool | operator>= (ClipBase &a)
virtual openshot::TimelineBase * | ParentTimeline ()
| Get the associated Timeline pointer (if any)
virtual void | ParentTimeline (openshot::TimelineBase *new_timeline)
| Set associated Timeline pointer.
float | Position () const
| Get position on timeline (in seconds)
void | Position (float value)

> ‍Set the Id of this clip object

float | Start () const
| Get start position (in seconds) of clip (trim start of video)
void | Start (float value)
| Set start position (in seconds) of clip (trim start of video)
virtual | ~ClipBase ()=default

## Public Attributes

Keyframe | saturation
| Overall color saturation: 0.0 = greyscale, 1.0 = normal, 2.0 = double saturation.
Keyframe | saturation_B
| Blue color saturation.
Keyframe | saturation_G
| Green color saturation.
Keyframe | saturation_R
| Red color saturation.
Public Attributes inherited from openshot::EffectBase
EffectInfoStruct | info
| Information about the current effect.
EffectBase * | parentEffect
| Parent effect (which properties will set this effect properties)
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)

## 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)
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.
Protected Attributes inherited from openshot::EffectBase
openshot::ClipBase * | clip
| Pointer to the parent clip instance (if any)
Protected Attributes inherited from openshot::ClipBase
float | end
| The position in seconds to end playing (used to trim the ending of a clip)
std::string | id
| ID Property for all derived Clip and Effect classes.
int | layer
| The layer this clip is on. Lower clips are covered up by higher clips.
float | position
| The position on the timeline where this clip should start playing.
std::string | previous_properties
| This string contains the previous JSON properties.
float | start
| The position in seconds to start playing (used to trim the beginning of a clip)
openshot::TimelineBase * | timeline
| Pointer to the parent timeline instance (if any)

## Detailed Description

This class adjusts the saturation of color on a frame's image.

This can be animated by passing in a Keyframe. Animating the color saturation can create some very cool effects.

Definition at line 42 of file Saturation.h.

## Constructor & Destructor Documentation

## Saturation() [1/2]

Saturation::Saturation | ( |  | ) |

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

Definition at line 19 of file Saturation.cpp.

## Saturation() [2/2]

Saturation::Saturation | ( | Keyframe | saturation,
|  | Keyframe | saturation_R,
|  | Keyframe | saturation_G,
|  | Keyframe | saturation_B
| ) |  |

Default constructor, which takes four curves (one common curve and one curve per color), to adjust the color saturation over time.

Parameters

  saturation | The curve to adjust the saturation of the frame's image (0.0 = greyscale, 1.0 = normal, 2.0 = double saturation)
  saturation_R | The curve to adjust red saturation of the frame's image (0.0 = greyscale, 1.0 = normal, 2.0 = double saturation)
  saturation_G | The curve to adjust green saturation of the frame's image (0.0 = greyscale, 1.0 = normal, 2.0 = double saturation)
  saturation_B | The curve to adjust blue saturation of the frame's image (0.0 = greyscale, 1.0 = normal, 2.0 = double saturation)

Definition at line 25 of file Saturation.cpp.

## Member Function Documentation

## GetFrame() [1/2]

std::shared_ptr< openshot::Frame > openshot::Saturation::GetFrame | ( | int64_t | frame_number | ) |

inline override virtual

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.

Returns
  A new openshot::Frame object

Parameters

  frame_number | The frame number (starting at 1) of the clip or effect on the timeline.

Implements openshot::ClipBase.

Definition at line 71 of file Saturation.h.

Referenced by GetFrame().

## GetFrame() [2/2]

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

override virtual

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.

Returns
  The modified openshot::Frame object

Parameters

  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.

Definition at line 48 of file Saturation.cpp.

## Json()

std::string Saturation::Json | ( |  | ) | const

override virtual

Generate JSON string of this object.

Reimplemented from openshot::EffectBase.

Definition at line 151 of file Saturation.cpp.

## JsonValue()

Json::Value Saturation::JsonValue | ( |  | ) | const

override virtual

Generate Json::Value for this object.

Reimplemented from openshot::EffectBase.

Definition at line 158 of file Saturation.cpp.

Referenced by Json().

## PropertiesJSON()

std::string Saturation::PropertiesJSON | ( | int64_t | requested_frame | ) | const

override 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 207 of file Saturation.cpp.

## SetJson()

void Saturation::SetJson | ( | const std::string | value | ) |

override virtual

Load JSON string into this object.

Reimplemented from openshot::EffectBase.

Definition at line 173 of file Saturation.cpp.

## SetJsonValue()

void Saturation::SetJsonValue | ( | const Json::Value | root | ) |

override virtual

Load Json::Value into this object.

Reimplemented from openshot::EffectBase.

Definition at line 190 of file Saturation.cpp.

Referenced by SetJson().

## Member Data Documentation

## saturation

Keyframe openshot::Saturation::saturation

Overall color saturation: 0.0 = greyscale, 1.0 = normal, 2.0 = double saturation.

Definition at line 49 of file Saturation.h.

Referenced by GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().

## saturation_B

Keyframe openshot::Saturation::saturation_B

Blue color saturation.

Definition at line 52 of file Saturation.h.

Referenced by GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().

## saturation_G

Keyframe openshot::Saturation::saturation_G

Green color saturation.

Definition at line 51 of file Saturation.h.

Referenced by GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().

## saturation_R

Keyframe openshot::Saturation::saturation_R

Red color saturation.

Definition at line 50 of file Saturation.h.

Referenced by GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().

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

- effects/Saturation.h
- effects/Saturation.cpp