OpenShot Library | libopenshot
0.2.2
|
Go to the documentation of this file.
28 #ifndef OPENSHOT_CLIP_H
29 #define OPENSHOT_CLIP_H
32 #ifndef __JUCE_UNITTEST_JUCEHEADER__
33 #define __JUCE_UNITTEST_JUCEHEADER__
38 #include <QtGui/QImage>
39 #include "JuceLibraryCode/JuceHeader.h"
50 #ifdef USE_IMAGEMAGICK
116 list<EffectBase*> effects;
120 AudioSampleBuffer *audio_cache;
127 int64_t adjust_frame_number_minimum(int64_t frame_number);
130 std::shared_ptr<Frame> apply_effects(std::shared_ptr<Frame> frame);
133 string get_file_extension(
string path);
136 std::shared_ptr<Frame> GetOrCreateFrame(int64_t number);
139 std::shared_ptr<Frame> get_time_mapped_frame(std::shared_ptr<Frame> frame, int64_t frame_number);
142 void init_settings();
145 void init_reader_rotation();
151 void reverse_buffer(juce::AudioSampleBuffer* buffer);
182 list<EffectBase*>
Effects() {
return effects; };
188 std::shared_ptr<Frame> GetFrame(int64_t requested_frame);
202 void End(
float value) { end = value; }
206 void SetJson(
string value);
207 Json::Value JsonValue();
208 void SetJsonValue(Json::Value root);
212 string PropertiesJSON(int64_t requested_frame);
Keyframe perspective_c4_y
Curves representing Y for coordinate 4.
This abstract class is the base class, used by all effects in libopenshot.
Keyframe shear_y
Curve representing Y shear angle in degrees (-45.0=down, 45.0=up)
Keyframe perspective_c2_x
Curves representing X for coordinate 2.
Header file for Fraction class.
Keyframe perspective_c4_x
Curves representing X for coordinate 4.
Keyframe time
Curve representing the frames over time to play (used for speed and direction of video)
This namespace is the default namespace for all code in the openshot library.
Header file for TextReader class.
int Order()
Get the order that this effect should be executed.
This class represents a clip (used to arrange readers on the timeline)
Keyframe scale_x
Curve representing the horizontal scaling in percent (0 to 1)
bool operator()(EffectBase *lhs, EffectBase *rhs)
bool Waveform()
Waveform property.
Header file for AudioResampler class.
FrameDisplayType display
The format to display the frame number (if any)
GravityType
This enumeration determines how clips are aligned to their parent container.
Keyframe crop_y
Curve representing Y offset in percent (-1.0=-100%, 0.0=0%, 1.0=100%)
Header file for EffectBase class.
void Waveform(bool value)
Set the waveform property of this clip.
Header file for the Keyframe class.
Keyframe scale_y
Curve representing the vertical scaling in percent (0 to 1)
Keyframe crop_height
Curve representing height in percent (0.0=0%, 1.0=100%)
This header includes all commonly used effects for libopenshot, for ease-of-use.
Keyframe shear_x
Curve representing X shear angle in degrees (-45.0=left, 45.0=right)
Header file for the FrameMapper class.
This class represents a color (used on the timeline and clips)
Keyframe has_video
An optional override to determine if this clip has video (-1=undefined, 0=no, 1=yes)
Keyframe channel_filter
Audio channel filter and mappings.
This class is used to resample audio data for many sequential frames.
Color wave_color
Curve representing the color of the audio wave form.
Keyframe crop_width
Curve representing width in percent (0.0=0%, 1.0=100%)
Keyframe location_x
Curve representing the relative X position in percent based on the gravity (-1 to 1)
Keyframe perspective_c1_y
Curves representing Y for coordinate 1.
A Keyframe is a collection of Point instances, which is used to vary a number or property over time.
Header file for the EffectInfo class.
Keyframe perspective_c2_y
Curves representing Y for coordinate 2.
list< EffectBase * > Effects()
Return the list of effects on the timeline.
VolumeMixType mixing
What strategy should be followed when mixing audio with other clips.
void End(float value)
Set end position (in seconds) of clip (trim end of video)
ScaleType scale
The scale determines how a clip should be resized to fit it's parent.
Header file for ChunkReader class.
Header file for ReaderBase class.
Keyframe has_audio
Override has_video and has_audio properties of clip (and their readers)
CriticalSection getFrameCriticalSection
Section lock for multiple threads.
GravityType crop_gravity
Cropping needs to have a gravity to determine what side we are cropping.
Keyframe perspective_c3_x
Curves representing X for coordinate 3.
Keyframe channel_mapping
A number representing an audio channel to output (only works when filtering a channel)
Header file for TextReader class.
int Layer()
Get layer of clip on timeline (lower number is covered by higher numbers)
Keyframe crop_x
Curve representing X offset in percent (-1.0=-100%, 0.0=0%, 1.0=100%)
Keyframe location_y
Curve representing the relative Y position in percent based on the gravity (-1 to 1)
This abstract class is the base class, used by all readers in libopenshot.
GravityType gravity
The gravity of a clip determines where it snaps to it's parent.
Header file for Color class.
AnchorType
This enumeration determines what parent a clip should be aligned to.
ScaleType
This enumeration determines how clips are scaled to fit their parent container.
Keyframe rotation
Curve representing the rotation (0 to 360)
AnchorType anchor
The anchor determines what parent a clip should snap to.
Keyframe volume
Curve representing the volume (0 to 1)
Keyframe perspective_c3_y
Curves representing Y for coordinate 3.
Header file for QtImageReader class.
Header file for ImageReader class.
This abstract class is the base class, used by all clips in libopenshot.
Keyframe alpha
Curve representing the alpha (1 to 0)
VolumeMixType
This enumeration determines the strategy when mixing audio with other clips.
Header file for ClipBase class.
float Position()
Get position on timeline (in seconds)
Header file for DummyReader class.
Header file for FFmpegReader class.
Keyframe perspective_c1_x
Curves representing X for coordinate 1.
FrameDisplayType
This enumeration determines the display format of the clip's frame number (if any)....