OpenShot Library | libopenshot
0.3.3
|
Go to the documentation of this file.
13 #ifndef OPENSHOT_CLIPBASE_H
14 #define OPENSHOT_CLIPBASE_H
44 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;
71 virtual std::shared_ptr<openshot::Frame>
GetFrame(int64_t frame_number) = 0;
82 virtual std::shared_ptr<openshot::Frame>
GetFrame(std::shared_ptr<openshot::Frame> frame, int64_t frame_number) = 0;
85 std::string
Id()
const {
return id; }
89 virtual float End()
const {
return end; }
90 float Duration()
const {
return end -
start; }
94 void Id(std::string value) {
id = value; }
96 void Layer(
int value);
97 void Start(
float value);
98 virtual void End(
float value);
102 virtual std::string
Json()
const = 0;
103 virtual void SetJson(
const std::string value) = 0;
104 virtual Json::Value
JsonValue()
const = 0;
109 virtual std::string
PropertiesJSON(int64_t requested_frame)
const = 0;
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.
Header file for Timeline class.
virtual ~ClipBase()=default
openshot::TimelineBase * timeline
Pointer to the parent timeline instance (if any)
Header file for Point class.
virtual void End(float value)
Set end position (in seconds) of clip (trim end of video)
This namespace is the default namespace for all code in the openshot library.
Json::Value add_property_choice_json(std::string name, int value, int selected_value) const
Generate JSON choice for a property (dropdown properties)
virtual std::string Json() const =0
Generate JSON string of this object.
bool operator>(ClipBase &a)
void Position(float value)
Set the Id of this clip object
Header file for the Keyframe class.
virtual void SetJson(const std::string value)=0
Load JSON string into this object.
virtual void SetJsonValue(const Json::Value root)=0
Load Json::Value into this object.
virtual Json::Value JsonValue() const =0
Generate Json::Value for this object.
float position
The position on the timeline where this clip should start playing.
ClipBase()
Constructor for the base clip.
bool operator<(ClipBase &a)
A Keyframe is a collection of Point instances, which is used to vary a number or property over time.
Header file for CacheMemory class.
bool operator<=(ClipBase &a)
float end
The position in seconds to end playing (used to trim the ending of a clip)
void Start(float value)
Set start position (in seconds) of clip (trim start of video)
Header file for Frame class.
float start
The position in seconds to start playing (used to trim the beginning 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.
virtual std::string PropertiesJSON(int64_t requested_frame) const =0
void Id(std::string value)
This class represents a timeline (used for building generic timeline implementations)
std::string previous_properties
This string contains the previous JSON properties.
virtual std::shared_ptr< openshot::Frame > GetFrame(int64_t frame_number)=0
This method is required for all derived classes of ClipBase, and returns a new openshot::Frame object...
Header file for JSON class.
This abstract class is the base class, used by all clips in libopenshot.
void Layer(int value)
Set layer of clip on timeline (lower number is covered by higher numbers)
bool operator>=(ClipBase &a)