| 
    OpenShot Library | libopenshot
    0.4.0
    
   | 
 
This class represents a clip (used to arrange readers on the timeline) More...
#include <Clip.h>
Public Member Functions | |
| void | AddEffect (openshot::EffectBase *effect) | 
| Add an effect to the clip.  More... | |
| void | AttachToObject (std::string object_id) | 
| Attach clip to Tracked Object or to another Clip.  More... | |
| Clip () | |
| Default Constructor.  More... | |
| Clip (openshot::ReaderBase *new_reader) | |
| Constructor with reader.  More... | |
| Clip (std::string path) | |
| Constructor with filepath (reader is automatically created... by guessing file extensions)  More... | |
| void | Close () override | 
| Close the internal reader.  More... | |
| std::list< openshot::EffectBase * > | Effects () | 
| Return the list of effects on the timeline.  More... | |
| float | End () const override | 
| Get end position (in seconds) of clip (trim end of video), which can be affected by the time curve.  More... | |
| void | End (float value) override | 
| Set end position (in seconds) of clip (trim end of video)  More... | |
| Clip * | GetAttachedClip () const | 
| Return a pointer to the clip this clip is attached to.  More... | |
| std::string | GetAttachedId () const | 
| Get and set the object id that this clip is attached to.  More... | |
| std::shared_ptr< openshot::TrackedObjectBase > | GetAttachedObject () const | 
| Return a pointer to the trackedObject this clip is attached to.  More... | |
| openshot::CacheMemory * | GetCache () override | 
| Get the cache object (always return NULL for this reader)  More... | |
| openshot::EffectBase * | GetEffect (const std::string &id) | 
| Look up an effect by ID.  More... | |
| std::shared_ptr< openshot::Frame > | GetFrame (int64_t clip_frame_number) override | 
| Get an openshot::Frame object for a specific frame number of this clip. The image size and number of samples match the source reader.  More... | |
| std::shared_ptr< openshot::Frame > | GetFrame (std::shared_ptr< openshot::Frame > background_frame, int64_t clip_frame_number) override | 
| Get an openshot::Frame object for a specific frame number of this clip. The image size and number of samples match the background_frame passed in and the timeline (if available).  More... | |
| std::shared_ptr< openshot::Frame > | GetFrame (std::shared_ptr< openshot::Frame > background_frame, int64_t clip_frame_number, openshot::TimelineInfoStruct *options) | 
| Get an openshot::Frame object for a specific frame number of this clip. The image size and number of samples match the background_frame passed in and the timeline (if available).  More... | |
| openshot::Clip * | GetParentClip () | 
| Return the associated ParentClip (if any)  More... | |
| std::shared_ptr< openshot::TrackedObjectBase > | GetParentTrackedObject () | 
| Return the associated Parent Tracked Object (if any)  More... | |
| bool | IsOpen () override | 
| Determine if reader is open or closed.  More... | |
| std::string | Json () const override | 
| Generate JSON string of this object.  More... | |
| Json::Value | JsonValue () const override | 
| Generate Json::Value for this object.  More... | |
| std::string | Name () override | 
| Return the type name of the class.  More... | |
| void | Open () override | 
| Open the internal reader.  More... | |
| void | ParentTimeline (openshot::TimelineBase *new_timeline) override | 
| Set associated Timeline pointer.  More... | |
| std::string | PropertiesJSON (int64_t requested_frame) const override | 
| openshot::ReaderBase * | Reader () | 
| Get the current reader.  More... | |
| void | Reader (openshot::ReaderBase *new_reader) | 
| Set the current reader.  More... | |
| void | RemoveEffect (openshot::EffectBase *effect) | 
| Remove an effect from the clip.  More... | |
| void | SetAttachedClip (Clip *clipObject) | 
| Set the pointer to the clip this clip is attached to.  More... | |
| void | SetAttachedId (std::string value) | 
| Set id of the object id that this clip is attached to.  More... | |
| void | SetAttachedObject (std::shared_ptr< openshot::TrackedObjectBase > trackedObject) | 
| Set the pointer to the trackedObject this clip is attached to.  More... | |
| void | SetJson (const std::string value) override | 
| Load JSON string into this object.  More... | |
| void | SetJsonValue (const Json::Value root) override | 
| Load Json::Value into this object.  More... | |
| virtual | ~Clip () | 
| Destructor.  More... | |
  Public Member Functions inherited from openshot::ClipBase | |
| ClipBase () | |
| Constructor for the base clip.  More... | |
| void | Id (std::string value) | 
| 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) | 
| void | Position (float value) | 
More...  | |
| void | Start (float value) | 
| Set start position (in seconds) of clip (trim start of video)  More... | |
| virtual | ~ClipBase ()=default | 
  Public Member Functions inherited from openshot::ReaderBase | |
| void | DisplayInfo (std::ostream *out=&std::cout) | 
| Display file information in the standard output stream (stdout)  More... | |
| openshot::ClipBase * | ParentClip () | 
| Parent clip object of this reader (which can be unparented and NULL)  More... | |
| void | ParentClip (openshot::ClipBase *new_clip) | 
| Set parent clip object of this reader.  More... | |
| ReaderBase () | |
| Constructor for the base reader, where many things are initialized.  More... | |
| virtual | ~ReaderBase ()=default | 
Public Attributes | |
| openshot::Keyframe | alpha | 
| Curve representing the alpha (1 to 0)  More... | |
| openshot::AnchorType | anchor | 
| The anchor determines what parent a clip should snap to.  More... | |
| openshot::Keyframe | channel_filter | 
| A number representing an audio channel to filter (clears all other channels)  More... | |
| openshot::Keyframe | channel_mapping | 
| A number representing an audio channel to output (only works when filtering a channel)  More... | |
| bool | COMPILED_WITH_CV = true | 
| openshot::FrameDisplayType | display | 
| The format to display the frame number (if any)  More... | |
| openshot::GravityType | gravity | 
| The gravity of a clip determines where it snaps to its parent.  More... | |
| openshot::Keyframe | has_audio | 
| An optional override to determine if this clip has audio (-1=undefined, 0=no, 1=yes)  More... | |
| openshot::Keyframe | has_video | 
| An optional override to determine if this clip has video (-1=undefined, 0=no, 1=yes)  More... | |
| openshot::Keyframe | location_x | 
| Curve representing the relative X position in percent based on the gravity (-1 to 1)  More... | |
| openshot::Keyframe | location_y | 
| Curve representing the relative Y position in percent based on the gravity (-1 to 1)  More... | |
| openshot::VolumeMixType | mixing | 
| What strategy should be followed when mixing audio with other clips.  More... | |
| openshot::Keyframe | origin_x | 
| Curve representing X origin point (0.0=0% (left), 1.0=100% (right))  More... | |
| openshot::Keyframe | origin_y | 
| Curve representing Y origin point (0.0=0% (top), 1.0=100% (bottom))  More... | |
| openshot::Keyframe | perspective_c1_x | 
| Curves representing X for coordinate 1.  More... | |
| openshot::Keyframe | perspective_c1_y | 
| Curves representing Y for coordinate 1.  More... | |
| openshot::Keyframe | perspective_c2_x | 
| Curves representing X for coordinate 2.  More... | |
| openshot::Keyframe | perspective_c2_y | 
| Curves representing Y for coordinate 2.  More... | |
| openshot::Keyframe | perspective_c3_x | 
| Curves representing X for coordinate 3.  More... | |
| openshot::Keyframe | perspective_c3_y | 
| Curves representing Y for coordinate 3.  More... | |
| openshot::Keyframe | perspective_c4_x | 
| Curves representing X for coordinate 4.  More... | |
| openshot::Keyframe | perspective_c4_y | 
| Curves representing Y for coordinate 4.  More... | |
| openshot::Keyframe | rotation | 
| Curve representing the rotation (0 to 360)  More... | |
| openshot::ScaleType | scale | 
| The scale determines how a clip should be resized to fit its parent.  More... | |
| openshot::Keyframe | scale_x | 
| Curve representing the horizontal scaling in percent (0 to 1)  More... | |
| openshot::Keyframe | scale_y | 
| Curve representing the vertical scaling in percent (0 to 1)  More... | |
| openshot::Keyframe | shear_x | 
| Curve representing X shear angle in degrees (-45.0=left, 45.0=right)  More... | |
| openshot::Keyframe | shear_y | 
| Curve representing Y shear angle in degrees (-45.0=down, 45.0=up)  More... | |
| openshot::Keyframe | time | 
| Curve representing the frames over time to play (used for speed and direction of video)  More... | |
| openshot::Keyframe | volume | 
| Curve representing the volume (0 to 1)  More... | |
| openshot::Color | wave_color | 
| Curve representing the color of the audio wave form.  More... | |
  Public Attributes inherited from openshot::ReaderBase | |
| openshot::ReaderInfo | info | 
| Information about the current media file.  More... | |
Protected Member Functions | |
| void | init_reader_rotation () | 
| Update default rotation from reader.  More... | |
| void | init_reader_settings () | 
| Init reader info details.  More... | |
| void | init_settings () | 
| Init default settings for a clip.  More... | |
  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)  More... | |
| 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.  More... | |
Protected Attributes | |
| std::recursive_mutex | getFrameMutex | 
| Mutex for multiple threads.  More... | |
| AudioLocation | previous_location | 
| Previous time-mapped audio location.  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... | |
| std::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... | |
| float | position | 
| The position on the timeline where this clip should start playing.  More... | |
| std::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... | |
| openshot::TimelineBase * | timeline | 
| Pointer to the parent timeline instance (if any)  More... | |
  Protected Attributes inherited from openshot::ReaderBase | |
| openshot::ClipBase * | clip | 
| Pointer to the parent clip instance (if any)  More... | |
| std::recursive_mutex | getFrameMutex | 
| Mutex for multiple threads.  More... | |
This class represents a clip (used to arrange readers on the timeline)
Each image, video, or audio file is represented on a layer as a clip. A clip has many properties that affect how it behaves on the timeline, such as its size, position, transparency, rotation, speed, volume, etc...
| Clip::Clip | ( | std::string | path | ) | 
| Clip::Clip | ( | openshot::ReaderBase * | new_reader | ) | 
| void Clip::AddEffect | ( | openshot::EffectBase * | effect | ) | 
Add an effect to the clip.
| effect | Add an effect to the clip. An effect can modify the audio or video of an openshot::Frame. | 
Definition at line 1132 of file Clip.cpp.
Referenced by SetJsonValue().
| void Clip::AttachToObject | ( | std::string | object_id | ) | 
Attach clip to Tracked Object or to another Clip.
Definition at line 256 of file Clip.cpp.
Referenced by GetParentClip(), GetParentTrackedObject(), and SetJsonValue().
      
  | 
  overridevirtual | 
Close the internal reader.
Implements openshot::ReaderBase.
      
  | 
  inline | 
      
  | 
  override | 
Get end position (in seconds) of clip (trim end of video), which can be affected by the time curve.
Definition at line 371 of file Clip.cpp.
Referenced by openshot::CVObjectDetection::detectObjectsClip(), PropertiesJSON(), CVStabilization::stabilizeClip(), and openshot::CVTracker::trackClip().
      
  | 
  overridevirtual | 
Set end position (in seconds) of clip (trim end of video)
Reimplemented from openshot::ClipBase.
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inlineoverridevirtual | 
Get the cache object (always return NULL for this reader)
Implements openshot::ReaderBase.
| openshot::EffectBase * Clip::GetEffect | ( | const std::string & | id | ) | 
      
  | 
  overridevirtual | 
Get an openshot::Frame object for a specific frame number of this clip. The image size and number of samples match the source reader.
| clip_frame_number | The frame number (starting at 1) of the clip | 
Implements openshot::ClipBase.
Definition at line 406 of file Clip.cpp.
Referenced by openshot::CVObjectDetection::detectObjectsClip(), GetFrame(), CVStabilization::stabilizeClip(), and openshot::CVTracker::trackClip().
      
  | 
  overridevirtual | 
Get an openshot::Frame object for a specific frame number of this clip. The image size and number of samples match the background_frame passed in and the timeline (if available).
A new openshot::Frame objects is returned, based on a copy from the source image, with all keyframes and clip effects rendered/rasterized.
| background_frame | The frame object to use as a background canvas (i.e. an existing Timeline openshot::Frame instance) | 
| clip_frame_number | The frame number (starting at 1) of the clip. The image size and number of samples match the background_frame passed in and the timeline (if available) | 
Implements openshot::ClipBase.
| std::shared_ptr< Frame > Clip::GetFrame | ( | std::shared_ptr< openshot::Frame > | background_frame, | 
| int64_t | clip_frame_number, | ||
| openshot::TimelineInfoStruct * | options | ||
| ) | 
Get an openshot::Frame object for a specific frame number of this clip. The image size and number of samples match the background_frame passed in and the timeline (if available).
A new openshot::Frame objects is returned, based on a copy from the source image, with all keyframes and clip effects rendered/rasterized.
| background_frame | The frame object to use as a background canvas (i.e. an existing Timeline openshot::Frame instance) | 
| clip_frame_number | The frame number (starting at 1) of the clip on the timeline. The image size and number of samples match the timeline. | 
| options | The openshot::TimelineInfoStruct pointer, with more details about this specific timeline clip, such as, if it's a top clip. This info is used to apply global transitions and masks, if needed. | 
| openshot::Clip * Clip::GetParentClip | ( | ) | 
| std::shared_ptr< openshot::TrackedObjectBase > Clip::GetParentTrackedObject | ( | ) | 
      
  | 
  protected | 
Update default rotation from reader.
Definition at line 114 of file Clip.cpp.
Referenced by init_reader_settings().
      
  | 
  protected | 
Init reader info details.
Definition at line 101 of file Clip.cpp.
Referenced by Clip(), init_settings(), and Reader().
      
  | 
  protected | 
      
  | 
  inlineoverridevirtual | 
Determine if reader is open or closed.
Implements openshot::ReaderBase.
      
  | 
  overridevirtual | 
Generate JSON string of this object.
Implements openshot::ClipBase.
      
  | 
  overridevirtual | 
Generate Json::Value for this object.
Implements openshot::ClipBase.
Definition at line 866 of file Clip.cpp.
Referenced by Json().
      
  | 
  inlineoverridevirtual | 
Return the type name of the class.
Implements openshot::ReaderBase.
      
  | 
  overridevirtual | 
Open the internal reader.
Implements openshot::ReaderBase.
Definition at line 335 of file Clip.cpp.
Referenced by Clip(), openshot::CVObjectDetection::detectObjectsClip(), CVStabilization::stabilizeClip(), and openshot::CVTracker::trackClip().
      
  | 
  override | 
Set associated Timeline pointer.
Definition at line 398 of file Clip.cpp.
Referenced by AddEffect(), AttachToObject(), and openshot::Timeline::SetJsonValue().
      
  | 
  overridevirtual | 
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.
| ReaderBase * Clip::Reader | ( | ) | 
| void Clip::Reader | ( | openshot::ReaderBase * | new_reader | ) | 
Set the current reader.
| new_reader | The reader to be used by this clip | 
Definition at line 289 of file Clip.cpp.
Referenced by openshot::CVObjectDetection::detectObjectsClip(), CVStabilization::stabilizeClip(), and openshot::CVTracker::trackClip().
| void Clip::RemoveEffect | ( | openshot::EffectBase * | effect | ) | 
| void Clip::SetAttachedClip | ( | Clip * | clipObject | ) | 
Set the pointer to the clip this clip is attached to.
Definition at line 284 of file Clip.cpp.
Referenced by AttachToObject().
      
  | 
  inline | 
| void Clip::SetAttachedObject | ( | std::shared_ptr< openshot::TrackedObjectBase > | trackedObject | ) | 
Set the pointer to the trackedObject this clip is attached to.
Definition at line 279 of file Clip.cpp.
Referenced by AttachToObject().
      
  | 
  overridevirtual | 
Load JSON string into this object.
Implements openshot::ClipBase.
      
  | 
  overridevirtual | 
Load Json::Value into this object.
Implements openshot::ClipBase.
Definition at line 939 of file Clip.cpp.
Referenced by SetJson(), and openshot::Timeline::SetJsonValue().
| openshot::Keyframe openshot::Clip::alpha | 
Curve representing the alpha (1 to 0)
Definition at line 310 of file Clip.h.
Referenced by init_settings(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| openshot::AnchorType openshot::Clip::anchor | 
The anchor determines what parent a clip should snap to.
Definition at line 169 of file Clip.h.
Referenced by init_settings(), JsonValue(), and SetJsonValue().
| openshot::Keyframe openshot::Clip::channel_filter | 
A number representing an audio channel to filter (clears all other channels)
Definition at line 337 of file Clip.h.
Referenced by init_settings(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| openshot::Keyframe openshot::Clip::channel_mapping | 
A number representing an audio channel to output (only works when filtering a channel)
Definition at line 338 of file Clip.h.
Referenced by init_settings(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| openshot::FrameDisplayType openshot::Clip::display | 
The format to display the frame number (if any)
Definition at line 170 of file Clip.h.
Referenced by init_settings(), JsonValue(), PropertiesJSON(), and SetJsonValue().
      
  | 
  protected | 
| openshot::GravityType openshot::Clip::gravity | 
The gravity of a clip determines where it snaps to its parent.
Definition at line 167 of file Clip.h.
Referenced by init_settings(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| openshot::Keyframe openshot::Clip::has_audio | 
An optional override to determine if this clip has audio (-1=undefined, 0=no, 1=yes)
Definition at line 341 of file Clip.h.
Referenced by init_settings(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| openshot::Keyframe openshot::Clip::has_video | 
An optional override to determine if this clip has video (-1=undefined, 0=no, 1=yes)
Definition at line 342 of file Clip.h.
Referenced by init_settings(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| openshot::Keyframe openshot::Clip::location_x | 
Curve representing the relative X position in percent based on the gravity (-1 to 1)
Definition at line 308 of file Clip.h.
Referenced by init_settings(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| openshot::Keyframe openshot::Clip::location_y | 
Curve representing the relative Y position in percent based on the gravity (-1 to 1)
Definition at line 309 of file Clip.h.
Referenced by init_settings(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| openshot::VolumeMixType openshot::Clip::mixing | 
What strategy should be followed when mixing audio with other clips.
Definition at line 171 of file Clip.h.
Referenced by init_settings(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| openshot::Keyframe openshot::Clip::origin_x | 
Curve representing X origin point (0.0=0% (left), 1.0=100% (right))
Definition at line 316 of file Clip.h.
Referenced by init_settings(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| openshot::Keyframe openshot::Clip::origin_y | 
Curve representing Y origin point (0.0=0% (top), 1.0=100% (bottom))
Definition at line 317 of file Clip.h.
Referenced by init_settings(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| openshot::Keyframe openshot::Clip::perspective_c1_x | 
Curves representing X for coordinate 1.
Definition at line 327 of file Clip.h.
Referenced by init_settings(), JsonValue(), and SetJsonValue().
| openshot::Keyframe openshot::Clip::perspective_c1_y | 
Curves representing Y for coordinate 1.
Definition at line 328 of file Clip.h.
Referenced by init_settings(), JsonValue(), and SetJsonValue().
| openshot::Keyframe openshot::Clip::perspective_c2_x | 
Curves representing X for coordinate 2.
Definition at line 329 of file Clip.h.
Referenced by init_settings(), JsonValue(), and SetJsonValue().
| openshot::Keyframe openshot::Clip::perspective_c2_y | 
Curves representing Y for coordinate 2.
Definition at line 330 of file Clip.h.
Referenced by init_settings(), JsonValue(), and SetJsonValue().
| openshot::Keyframe openshot::Clip::perspective_c3_x | 
Curves representing X for coordinate 3.
Definition at line 331 of file Clip.h.
Referenced by init_settings(), JsonValue(), and SetJsonValue().
| openshot::Keyframe openshot::Clip::perspective_c3_y | 
Curves representing Y for coordinate 3.
Definition at line 332 of file Clip.h.
Referenced by init_settings(), JsonValue(), and SetJsonValue().
| openshot::Keyframe openshot::Clip::perspective_c4_x | 
Curves representing X for coordinate 4.
Definition at line 333 of file Clip.h.
Referenced by init_settings(), JsonValue(), and SetJsonValue().
| openshot::Keyframe openshot::Clip::perspective_c4_y | 
Curves representing Y for coordinate 4.
Definition at line 334 of file Clip.h.
Referenced by init_settings(), JsonValue(), and SetJsonValue().
      
  | 
  protected | 
| openshot::Keyframe openshot::Clip::rotation | 
Curve representing the rotation (0 to 360)
Definition at line 313 of file Clip.h.
Referenced by init_reader_rotation(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| openshot::ScaleType openshot::Clip::scale | 
The scale determines how a clip should be resized to fit its parent.
Definition at line 168 of file Clip.h.
Referenced by init_settings(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| openshot::Keyframe openshot::Clip::scale_x | 
Curve representing the horizontal scaling in percent (0 to 1)
Definition at line 306 of file Clip.h.
Referenced by init_reader_rotation(), init_settings(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| openshot::Keyframe openshot::Clip::scale_y | 
Curve representing the vertical scaling in percent (0 to 1)
Definition at line 307 of file Clip.h.
Referenced by init_reader_rotation(), init_settings(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| openshot::Keyframe openshot::Clip::shear_x | 
Curve representing X shear angle in degrees (-45.0=left, 45.0=right)
Definition at line 314 of file Clip.h.
Referenced by init_settings(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| openshot::Keyframe openshot::Clip::shear_y | 
Curve representing Y shear angle in degrees (-45.0=down, 45.0=up)
Definition at line 315 of file Clip.h.
Referenced by init_settings(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| openshot::Keyframe openshot::Clip::time | 
Curve representing the frames over time to play (used for speed and direction of video)
Definition at line 320 of file Clip.h.
Referenced by End(), openshot::FrameMapper::GetFrame(), init_settings(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| openshot::Keyframe openshot::Clip::volume | 
Curve representing the volume (0 to 1)
Definition at line 321 of file Clip.h.
Referenced by init_settings(), JsonValue(), PropertiesJSON(), and SetJsonValue().
| openshot::Color openshot::Clip::wave_color | 
Curve representing the color of the audio wave form.
Definition at line 324 of file Clip.h.
Referenced by init_settings(), JsonValue(), PropertiesJSON(), and SetJsonValue().
 1.8.17