OpenShot Library | libopenshot  0.1.9
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
openshot::ClipBase Class Referenceabstract

This abstract class is the base class, used by all clips in libopenshot. More...

#include <ClipBase.h>

Inheritance diagram for openshot::ClipBase:
openshot::Clip openshot::EffectBase openshot::Blur openshot::Brightness openshot::ChromaKey openshot::Deinterlace openshot::Mask openshot::Negate openshot::Saturation

Public Member Functions

 ClipBase ()
 Constructor for the base clip. More...
 
float Duration ()
 Get the length of this clip (in seconds) More...
 
float End ()
 Get end position (in seconds) of clip (trim end of video) More...
 
void End (float value)
 Set end position (in seconds) of clip (trim end of video) More...
 
string Id ()
 Get basic properties. More...
 
void Id (string value)
 Set basic properties. More...
 
virtual string Json ()=0
 Get and Set JSON methods. More...
 
virtual Json::Value JsonValue ()=0
 Generate Json::JsonValue for this object. More...
 
int Layer ()
 Get layer of clip on timeline (lower number is covered by higher numbers) More...
 
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)
 
float Position ()
 Get position on timeline (in seconds) More...
 
void Position (float value)
 

Set the Id of this clip object

More...
 
virtual string PropertiesJSON (int64_t requested_frame)=0
 
virtual void SetJson (string value)=0
 Load JSON string into this object. More...
 
virtual void SetJsonValue (Json::Value root)=0
 Load Json::JsonValue into this object. More...
 
void SetMaxSize (int width, int height)
 Set Max Image Size (used for performance optimization) More...
 
float Start ()
 Get start position (in seconds) of clip (trim start of video) More...
 
void Start (float value)
 Set start position (in seconds) of clip (trim start of video) More...
 

Protected Member Functions

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

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 abstract class is the base class, used by all clips in libopenshot.

Clips are objects that attach to the timeline and can be layered and positioned together. There are 2 primary types of clips: Effects and Video/Audio Clips.

Definition at line 53 of file ClipBase.h.

Constructor & Destructor Documentation

◆ ClipBase()

openshot::ClipBase::ClipBase ( )
inline

Constructor for the base clip.

Definition at line 73 of file ClipBase.h.

Member Function Documentation

◆ add_property_choice_json()

Json::Value ClipBase::add_property_choice_json ( string  name,
int  value,
int  selected_value 
)
protected

Generate JSON choice for a property (dropdown properties)

Definition at line 101 of file ClipBase.cpp.

◆ add_property_json()

Json::Value ClipBase::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 
)
protected

Generate JSON for a property.

Definition at line 65 of file ClipBase.cpp.

◆ Duration()

float openshot::ClipBase::Duration ( )
inline

Get the length of this clip (in seconds)

Definition at line 87 of file ClipBase.h.

◆ End() [1/2]

float openshot::ClipBase::End ( )
inline

Get end position (in seconds) of clip (trim end of video)

Definition at line 86 of file ClipBase.h.

◆ End() [2/2]

void openshot::ClipBase::End ( float  value)
inline

Set end position (in seconds) of clip (trim end of video)

Definition at line 94 of file ClipBase.h.

◆ Id() [1/2]

string openshot::ClipBase::Id ( )
inline

Get basic properties.

Get the Id of this clip object

Definition at line 82 of file ClipBase.h.

◆ Id() [2/2]

void openshot::ClipBase::Id ( string  value)
inline

Set basic properties.

Definition at line 90 of file ClipBase.h.

◆ Json()

virtual string openshot::ClipBase::Json ( )
pure virtual

◆ JsonValue()

Json::Value ClipBase::JsonValue ( )
pure virtual

◆ Layer() [1/2]

int openshot::ClipBase::Layer ( )
inline

Get layer of clip on timeline (lower number is covered by higher numbers)

Definition at line 84 of file ClipBase.h.

◆ Layer() [2/2]

void openshot::ClipBase::Layer ( int  value)
inline

Set layer of clip on timeline (lower number is covered by higher numbers)

Definition at line 92 of file ClipBase.h.

◆ operator<()

bool openshot::ClipBase::operator< ( ClipBase a)
inline

Definition at line 76 of file ClipBase.h.

◆ operator<=()

bool openshot::ClipBase::operator<= ( ClipBase a)
inline

Definition at line 77 of file ClipBase.h.

◆ operator>()

bool openshot::ClipBase::operator> ( ClipBase a)
inline

Definition at line 78 of file ClipBase.h.

◆ operator>=()

bool openshot::ClipBase::operator>= ( ClipBase a)
inline

Definition at line 79 of file ClipBase.h.

◆ Position() [1/2]

float openshot::ClipBase::Position ( )
inline

Get position on timeline (in seconds)

Definition at line 83 of file ClipBase.h.

◆ Position() [2/2]

void openshot::ClipBase::Position ( float  value)
inline

Set the Id of this clip object

Set position on timeline (in seconds)

Definition at line 91 of file ClipBase.h.

◆ PropertiesJSON()

virtual string openshot::ClipBase::PropertiesJSON ( int64_t  requested_frame)
pure virtual

Get all properties for a specific frame (perfect for a UI to display the current state of all properties at any time)

Implemented in openshot::Clip, openshot::Mask, openshot::Blur, openshot::Brightness, openshot::Saturation, openshot::ChromaKey, openshot::Deinterlace, and openshot::Negate.

◆ SetJson()

virtual void openshot::ClipBase::SetJson ( string  value)
pure virtual

◆ SetJsonValue()

void ClipBase::SetJsonValue ( Json::Value  root)
pure virtual

◆ SetMaxSize()

void openshot::ClipBase::SetMaxSize ( int  width,
int  height 
)
inline

Set Max Image Size (used for performance optimization)

Definition at line 97 of file ClipBase.h.

◆ Start() [1/2]

float openshot::ClipBase::Start ( )
inline

Get start position (in seconds) of clip (trim start of video)

Definition at line 85 of file ClipBase.h.

◆ Start() [2/2]

void openshot::ClipBase::Start ( float  value)
inline

Set start position (in seconds) of clip (trim start of video)

Definition at line 93 of file ClipBase.h.

Member Data Documentation

◆ end

float openshot::ClipBase::end
protected

The position in seconds to end playing (used to trim the ending of a clip)

Definition at line 59 of file ClipBase.h.

◆ id

string openshot::ClipBase::id
protected

ID Property for all derived Clip and Effect classes.

Definition at line 55 of file ClipBase.h.

◆ layer

int openshot::ClipBase::layer
protected

The layer this clip is on. Lower clips are covered up by higher clips.

Definition at line 57 of file ClipBase.h.

◆ max_height

int openshot::ClipBase::max_height
protected

The maximium image height needed by this clip (used for optimizations)

Definition at line 62 of file ClipBase.h.

◆ max_width

int openshot::ClipBase::max_width
protected

The maximum image width needed by this clip (used for optimizations)

Definition at line 61 of file ClipBase.h.

◆ position

float openshot::ClipBase::position
protected

The position on the timeline where this clip should start playing.

Definition at line 56 of file ClipBase.h.

◆ previous_properties

string openshot::ClipBase::previous_properties
protected

This string contains the previous JSON properties.

Definition at line 60 of file ClipBase.h.

◆ start

float openshot::ClipBase::start
protected

The position in seconds to start playing (used to trim the beginning of a clip)

Definition at line 58 of file ClipBase.h.


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