OpenShot Library | libopenshot
0.2.5
|
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... | |
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 () |
Close the internal reader. More... | |
std::list< openshot::EffectBase * > | Effects () |
Return the list of effects on the timeline. More... | |
float | End () const |
Override End() method. More... | |
std::shared_ptr< openshot::Frame > | GetFrame (int64_t requested_frame) |
Get an openshot::Frame object for a specific frame number of this timeline. More... | |
std::string | Json () const override |
Get and Set JSON methods. More... | |
Json::Value | JsonValue () const override |
Generate Json::Value for this object. More... | |
void | Open () |
Open the internal reader. 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 | SetJson (const std::string value) |
Load JSON string into this object. More... | |
void | SetJsonValue (const Json::Value root) |
Load Json::Value into this object. More... | |
virtual | ~Clip () |
Destructor. More... | |
![]() | |
ClipBase () | |
Constructor for the base clip. More... | |
void | Id (std::string value) |
Set basic properties. More... | |
bool | operator< (ClipBase &a) |
bool | operator<= (ClipBase &a) |
bool | operator> (ClipBase &a) |
bool | operator>= (ClipBase &a) |
virtual | ~ClipBase ()=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 |
Audio channel filter and mappings. More... | |
openshot::Keyframe | channel_mapping |
A number representing an audio channel to output (only works when filtering a channel) More... | |
openshot::GravityType | crop_gravity |
Cropping needs to have a gravity to determine what side we are cropping. More... | |
openshot::Keyframe | crop_height |
Curve representing height in percent (0.0=0%, 1.0=100%) More... | |
openshot::Keyframe | crop_width |
Curve representing width in percent (0.0=0%, 1.0=100%) More... | |
openshot::Keyframe | crop_x |
Curve representing X offset in percent (-1.0=-100%, 0.0=0%, 1.0=100%) More... | |
openshot::Keyframe | crop_y |
Curve representing Y offset in percent (-1.0=-100%, 0.0=0%, 1.0=100%) More... | |
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 |
Override has_video and has_audio properties of clip (and their readers) 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 | 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... | |
Protected Attributes | |
juce::CriticalSection | getFrameCriticalSection |
Section lock for multiple threads. More... | |
![]() | |
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... | |
Additional Inherited Members | |
![]() | |
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... | |
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 991 of file Clip.cpp.
Referenced by SetJsonValue().
void Clip::Close | ( | ) |
|
inline |
float Clip::End | ( | ) | const |
std::shared_ptr< Frame > Clip::GetFrame | ( | int64_t | requested_frame | ) |
Get an openshot::Frame object for a specific frame number of this timeline.
requested_frame | The frame number that is requested |
Definition at line 295 of file Clip.cpp.
Referenced by openshot::Timeline::GetFrame().
|
overridevirtual |
|
overridevirtual |
Generate Json::Value for this object.
Implements openshot::ClipBase.
Definition at line 743 of file Clip.cpp.
Referenced by Json().
void Clip::Open | ( | ) |
|
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 219 of file Clip.cpp.
Referenced by openshot::Timeline::ClearAllCache().
void Clip::RemoveEffect | ( | openshot::EffectBase * | effect | ) |
|
virtual |
Load JSON string into this object.
Implements openshot::ClipBase.
|
virtual |
Load Json::Value into this object.
Implements openshot::ClipBase.
Definition at line 815 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 218 of file Clip.h.
Referenced by JsonValue(), PropertiesJSON(), and SetJsonValue().
openshot::AnchorType openshot::Clip::anchor |
The anchor determines what parent a clip should snap to.
Definition at line 145 of file Clip.h.
Referenced by JsonValue(), and SetJsonValue().
openshot::Keyframe openshot::Clip::channel_filter |
Audio channel filter and mappings.
A number representing an audio channel to filter (clears all other channels)
Definition at line 248 of file Clip.h.
Referenced by 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 249 of file Clip.h.
Referenced by JsonValue(), PropertiesJSON(), and SetJsonValue().
openshot::GravityType openshot::Clip::crop_gravity |
openshot::Keyframe openshot::Clip::crop_height |
Curve representing height in percent (0.0=0%, 1.0=100%)
Definition at line 231 of file Clip.h.
Referenced by JsonValue(), PropertiesJSON(), and SetJsonValue().
openshot::Keyframe openshot::Clip::crop_width |
Curve representing width in percent (0.0=0%, 1.0=100%)
Definition at line 230 of file Clip.h.
Referenced by JsonValue(), PropertiesJSON(), and SetJsonValue().
openshot::Keyframe openshot::Clip::crop_x |
Curve representing X offset in percent (-1.0=-100%, 0.0=0%, 1.0=100%)
Definition at line 232 of file Clip.h.
Referenced by JsonValue(), PropertiesJSON(), and SetJsonValue().
openshot::Keyframe openshot::Clip::crop_y |
Curve representing Y offset in percent (-1.0=-100%, 0.0=0%, 1.0=100%)
Definition at line 233 of file Clip.h.
Referenced by JsonValue(), PropertiesJSON(), and SetJsonValue().
openshot::FrameDisplayType openshot::Clip::display |
The format to display the frame number (if any)
Definition at line 146 of file Clip.h.
Referenced by 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 143 of file Clip.h.
Referenced by JsonValue(), PropertiesJSON(), and SetJsonValue().
openshot::Keyframe openshot::Clip::has_audio |
Override has_video and has_audio properties of clip (and their readers)
An optional override to determine if this clip has audio (-1=undefined, 0=no, 1=yes)
Definition at line 252 of file Clip.h.
Referenced by GetFrame(), 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 253 of file Clip.h.
Referenced by GetFrame(), 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 214 of file Clip.h.
Referenced by 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 215 of file Clip.h.
Referenced by JsonValue(), PropertiesJSON(), and SetJsonValue().
openshot::VolumeMixType openshot::Clip::mixing |
What strategy should be followed when mixing audio with other clips.
Definition at line 147 of file Clip.h.
Referenced by JsonValue(), PropertiesJSON(), and SetJsonValue().
openshot::Keyframe openshot::Clip::perspective_c1_x |
Curves representing X for coordinate 1.
Definition at line 238 of file Clip.h.
Referenced by JsonValue(), and SetJsonValue().
openshot::Keyframe openshot::Clip::perspective_c1_y |
Curves representing Y for coordinate 1.
Definition at line 239 of file Clip.h.
Referenced by JsonValue(), and SetJsonValue().
openshot::Keyframe openshot::Clip::perspective_c2_x |
Curves representing X for coordinate 2.
Definition at line 240 of file Clip.h.
Referenced by JsonValue(), and SetJsonValue().
openshot::Keyframe openshot::Clip::perspective_c2_y |
Curves representing Y for coordinate 2.
Definition at line 241 of file Clip.h.
Referenced by JsonValue(), and SetJsonValue().
openshot::Keyframe openshot::Clip::perspective_c3_x |
Curves representing X for coordinate 3.
Definition at line 242 of file Clip.h.
Referenced by JsonValue(), and SetJsonValue().
openshot::Keyframe openshot::Clip::perspective_c3_y |
Curves representing Y for coordinate 3.
Definition at line 243 of file Clip.h.
Referenced by JsonValue(), and SetJsonValue().
openshot::Keyframe openshot::Clip::perspective_c4_x |
Curves representing X for coordinate 4.
Definition at line 244 of file Clip.h.
Referenced by JsonValue(), and SetJsonValue().
openshot::Keyframe openshot::Clip::perspective_c4_y |
Curves representing Y for coordinate 4.
Definition at line 245 of file Clip.h.
Referenced by JsonValue(), and SetJsonValue().
openshot::Keyframe openshot::Clip::rotation |
Curve representing the rotation (0 to 360)
Definition at line 219 of file Clip.h.
Referenced by 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 144 of file Clip.h.
Referenced by JsonValue(), PropertiesJSON(), and SetJsonValue().
openshot::Keyframe openshot::Clip::scale_x |
Curve representing the horizontal scaling in percent (0 to 1)
Definition at line 212 of file Clip.h.
Referenced by JsonValue(), PropertiesJSON(), and SetJsonValue().
openshot::Keyframe openshot::Clip::scale_y |
Curve representing the vertical scaling in percent (0 to 1)
Definition at line 213 of file Clip.h.
Referenced by 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 236 of file Clip.h.
Referenced by 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 237 of file Clip.h.
Referenced by 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 222 of file Clip.h.
Referenced by End(), GetFrame(), JsonValue(), PropertiesJSON(), and SetJsonValue().
openshot::Keyframe openshot::Clip::volume |
Curve representing the volume (0 to 1)
Definition at line 223 of file Clip.h.
Referenced by JsonValue(), PropertiesJSON(), and SetJsonValue().
openshot::Color openshot::Clip::wave_color |
Curve representing the color of the audio wave form.
Definition at line 226 of file Clip.h.
Referenced by JsonValue(), PropertiesJSON(), and SetJsonValue().