OpenShot Library | libopenshot
0.2.2
|
Go to the documentation of this file.
28 #ifndef OPENSHOT_TIMELINE_H
29 #define OPENSHOT_TIMELINE_H
33 #include <QtGui/QImage>
34 #include <QtGui/QPainter>
62 if( lhs->Layer() < rhs->Layer() )
return true;
63 if( lhs->Layer() == rhs->Layer() && lhs->Position() <= rhs->Position() )
return true;
72 if( lhs->Layer() < rhs->Layer() )
return true;
73 if( lhs->Layer() == rhs->Layer() && lhs->Position() < rhs->Position() )
return true;
74 if( lhs->Layer() == rhs->Layer() && lhs->Position() == rhs->Position() && lhs->
Order() > rhs->
Order() )
return true;
150 list<Clip*> closing_clips;
151 map<Clip*, Clip*> open_clips;
152 list<EffectBase*> effects;
156 void add_layer(std::shared_ptr<Frame> new_frame,
Clip* source_clip, int64_t clip_frame_number, int64_t timeline_frame_number,
bool is_top_clip,
float max_volume);
159 void apply_mapper_to_clip(
Clip* clip);
162 void apply_json_to_clips(Json::Value change);
163 void apply_json_to_effects(Json::Value change);
164 void apply_json_to_effects(Json::Value change,
EffectBase* existing_effect);
165 void apply_json_to_timeline(Json::Value change);
168 double calculate_time(int64_t number,
Fraction rate);
176 vector<Clip*> find_intersecting_clips(int64_t requested_frame,
int number_of_frames,
bool include);
179 std::shared_ptr<Frame> GetOrCreateFrame(
Clip* clip, int64_t number);
182 std::shared_ptr<Frame> apply_effects(std::shared_ptr<Frame> frame, int64_t timeline_frame_number,
int layer);
185 bool isEqual(
double a,
double b);
194 void update_open_clips(
Clip *clip,
bool does_clip_intersect);
209 void AddClip(
Clip* clip);
216 void ApplyMapperToClips();
225 void ClearAllCache();
228 list<Clip*>
Clips() {
return clips; };
234 list<EffectBase*>
Effects() {
return effects; };
246 std::shared_ptr<Frame> GetFrame(int64_t requested_frame);
260 string Name() {
return "Timeline"; };
264 void SetJson(
string value);
265 Json::Value JsonValue();
266 void SetJsonValue(Json::Value root);
272 void ApplyJsonDiff(
string value);
279 void RemoveClip(
Clip* clip);
This abstract class is the base class, used by all effects in libopenshot.
Header file for Point class.
Header file for Clip class.
Header file for Fraction class.
This namespace is the default namespace for all code in the openshot library.
int Order()
Get the order that this effect should be executed.
This class represents a clip (used to arrange readers on the timeline)
This class represents a fraction.
list< Clip * > Clips()
Return a list of clips on the timeline.
Header file for CacheDisk class.
Header file for EffectBase class.
Header file for the Keyframe class.
All cache managers in libopenshot are based on this CacheBase class.
This header includes all commonly used effects for libopenshot, for ease-of-use.
Header file for CacheBase class.
bool operator()(EffectBase *lhs, EffectBase *rhs)
Header file for the FrameMapper class.
Keyframe viewport_scale
Curve representing the scale of the viewport (0 to 100)
This class represents a color (used on the timeline and clips)
void AutoMapClips(bool auto_map)
Automatically map all clips to the timeline's framerate and samplerate.
A Keyframe is a collection of Point instances, which is used to vary a number or property over time.
Header file for CrashHandler class.
Header file for the EffectInfo class.
This class represents a timeline.
Header file for CacheMemory class.
Keyframe viewport_y
Curve representing the y coordinate for the viewport.
list< EffectBase * > Effects()
Return the list of effects on the timeline.
Header file for Frame class.
string Name()
Return the type name of the class.
Header file for ReaderBase class.
bool operator()(Clip *lhs, Clip *rhs)
Header file for OpenMPUtilities (set some common macros)
This abstract class is the base class, used by all readers in libopenshot.
bool AutoMapClips()
Determine if clips are automatically mapped to the timeline's framerate and samplerate.
Header file for Color class.
ChannelLayout
This enumeration determines the audio channel layout (such as stereo, mono, 5 point surround,...
bool IsOpen()
Determine if reader is open or closed.
CacheBase * GetCache()
Get the cache object used by this reader.
Color color
Background color of timeline canvas.
Keyframe viewport_x
Curve representing the x coordinate for the viewport.