OpenShot Library | libopenshot  0.3.2
Classes | Typedefs | Enumerations | Functions | Variables
openshot Namespace Reference

This namespace is the default namespace for all code in the openshot library. More...

Classes

class  AudioBufferSource
 This class is used to expose an AudioBuffer<float> as an AudioSource in JUCE. More...
 
struct  AudioDeviceInfo
 This struct hold information about Audio Devices. More...
 
class  AudioDeviceManagerSingleton
 Singleton wrapper for AudioDeviceManager (to prevent multiple instances). More...
 
class  AudioDevices
 A class which probes the available audio devices. More...
 
struct  AudioLocation
 This struct holds the associated video frame and starting sample # for an audio packet. More...
 
class  AudioPlaybackThread
 The audio playback thread. More...
 
class  AudioReaderSource
 This class is used to expose any ReaderBase derived class as an AudioSource in JUCE. More...
 
class  AudioResampler
 This class is used to resample audio data for many sequential frames. More...
 
struct  AudioWaveformData
 This struct holds the extracted waveform data (both the RMS root-mean-squared average, and the max values) More...
 
class  AudioWaveformer
 This class is used to extra audio data used for generating waveforms. More...
 
class  Bars
 This class draws black bars around your video (from any side), and can be animated with openshot::Keyframe curves over time. More...
 
struct  BBox
 This struct holds the information of a bounding-box. More...
 
class  Blur
 This class adjusts the blur of an image, and can be animated with openshot::Keyframe curves over time. More...
 
class  Brightness
 This class adjusts the brightness and contrast of an image, and can be animated with openshot::Keyframe curves over time. More...
 
class  CacheBase
 All cache managers in libopenshot are based on this CacheBase class. More...
 
class  CacheDisk
 This class is a disk-based cache manager for Frame objects. More...
 
class  CacheMemory
 This class is a memory-based cache manager for Frame objects. More...
 
class  Caption
 This class adds captions/text over a video, based on timestamps. You can also animate some limited aspects, such as words appearing/disappearing. More...
 
class  ChromaKey
 This class removes (i.e. keys out) a color (i.e. greenscreen) More...
 
struct  ChunkLocation
 This struct holds the location of a frame within a chunk. More...
 
class  ChunkNotFound
 Exception when a required chunk is missing. More...
 
class  ChunkReader
 This class reads a special chunk-formatted file, which can be easily shared in a distributed environment. More...
 
class  ChunkWriter
 This class takes any reader and generates a special type of video file, built with chunks of small video and audio data. More...
 
class  Clip
 This class represents a clip (used to arrange readers on the timeline) More...
 
class  ClipBase
 This abstract class is the base class, used by all clips in libopenshot. More...
 
class  ClipProcessingJobs
 
class  Color
 This class represents a color (used on the timeline and clips) More...
 
class  ColorShift
 This class shifts the pixels of an image up, down, left, or right, and can be animated with openshot::Keyframe curves over time. More...
 
struct  CompareClipEffects
 
struct  CompareClipEndFrames
 
struct  CompareClips
 
struct  CompareEffectEndFrames
 Like CompareClipEndFrames, but for effects. More...
 
struct  CompareEffects
 
class  Compressor
 This class adds a compressor into the audio. More...
 
class  Coordinate
 A Cartesian coordinate (X, Y) used in the Keyframe animation system. More...
 
class  CrashHandler
 This class is designed to catch exceptions thrown by libc (SIGABRT, SIGSEGV, SIGILL, SIGFPE) More...
 
class  Crop
 This class crops a frame image (from any side), and can be animated with openshot::Keyframe curves over time. More...
 
struct  CVDetectionData
 
class  CVObjectDetection
 This class runs trought a clip to detect objects and returns the bounding boxes and its properties. More...
 
class  CVTracker
 The tracker class will receive one bounding box provided by the user and then iterate over the clip frames to return the object position in all the frames. More...
 
class  DecklinkError
 Exception when accessing a blackmagic decklink card. More...
 
class  Deinterlace
 This class uses the ImageMagick++ libraries, to de-interlace the image, which removes the EVEN or ODD horizontal lines (which represent different points of time). More...
 
class  Delay
 This class adds a delay into the audio. More...
 
class  Distortion
 This class adds a distortion into the audio. More...
 
class  DummyReader
 This class is used as a simple, dummy reader, which can be very useful when writing unit tests. It can return a single blank frame or it can return custom frame objects which were passed into the constructor with a Cache object. More...
 
class  Echo
 This class adds a echo into the audio. More...
 
class  EffectBase
 This abstract class is the base class, used by all effects in libopenshot. More...
 
class  EffectInfo
 This class returns a listing of all effects supported by libopenshot. More...
 
struct  EffectInfoStruct
 This struct contains info about an effect, such as the name, video or audio effect, etc... More...
 
class  ErrorDecodingAudio
 Exception when decoding audio packet. More...
 
class  ErrorEncodingAudio
 Exception when encoding audio packet. More...
 
class  ErrorEncodingVideo
 Exception when encoding audio packet. More...
 
class  ExceptionBase
 Base exception class with a custom message variable. More...
 
class  Expander
 This class adds a expander (or noise gate) into the audio. More...
 
class  FFmpegReader
 This class uses the FFmpeg libraries, to open video files and audio files, and return openshot::Frame objects for any frame in the file. More...
 
class  FFmpegWriter
 This class uses the FFmpeg libraries, to write and encode video files and audio files. More...
 
struct  Field
 This struct holds a single field (half a frame). More...
 
class  FileExceptionBase
 
class  Fraction
 This class represents a fraction. More...
 
class  Frame
 This class represents a single frame of video (i.e. image & audio data) More...
 
struct  FrameData
 
class  FrameExceptionBase
 
class  FrameMapper
 This class creates a mapping between 2 different frame rates, applying a specific pull-down technique. More...
 
class  Hue
 This class shifts the hue of an image, and can be animated with openshot::Keyframe curves over time. More...
 
class  ImageReader
 This class uses the ImageMagick++ libraries, to open image files, and return openshot::Frame objects containing the image. More...
 
class  ImageWriter
 This class uses the ImageMagick library to write image files (including animated GIFs) More...
 
class  InvalidChannels
 Exception when an invalid # of audio channels are detected. More...
 
class  InvalidCodec
 Exception when no valid codec is found for a file. More...
 
class  InvalidFile
 Exception for files that can not be found or opened. More...
 
class  InvalidFormat
 Exception when no valid format is found for a file. More...
 
class  InvalidJSON
 Exception for invalid JSON. More...
 
class  InvalidJSONKey
 Exception for missing JSON Change key. More...
 
class  InvalidOptions
 Exception when invalid encoding options are used. More...
 
class  InvalidSampleRate
 Exception when invalid sample rate is detected during encoding. More...
 
class  Keyframe
 A Keyframe is a collection of Point instances, which is used to vary a number or property over time. More...
 
struct  MappedFrame
 This struct holds two fields which together make up a complete video frame. More...
 
class  Mask
 This class uses the image libraries to apply alpha (or transparency) masks to any frame. It can also be animated, and used as a powerful Wipe transition. More...
 
class  Negate
 This class uses the ImageMagick++ libraries, to negate image (i.e. negative) More...
 
class  Noise
 This class adds a noise into the audio. More...
 
class  NoStreamsFound
 Exception when no streams are found in the file. More...
 
class  ObjectDetection
 This effect displays all the detected objects on a clip. More...
 
struct  OpenShotVersion
 This struct holds version number information. Use the GetVersion() method to access the current version of libopenshot. More...
 
class  OutOfBoundsFrame
 Exception for frames that are out of bounds. More...
 
class  OutOfBoundsPoint
 Exception for an out of bounds key-frame point. More...
 
class  OutOfMemory
 Exception when memory could not be allocated. More...
 
struct  PacketStatus
 This struct holds the packet counts and end-of-file detection for an openshot::FFmpegReader. More...
 
class  ParametricEQ
 This class adds a equalization into the audio. More...
 
class  Pixelate
 This class pixelates an image, and can be animated with openshot::Keyframe curves over time. More...
 
class  PlayerBase
 This is the base class of all Players in libopenshot. More...
 
class  PlayerPrivate
 The private part of QtPlayer class, which contains an audio thread and video thread, and controls the video timing and audio synchronization code. More...
 
class  Point
 A Point is the basic building block of a key-frame curve. More...
 
class  Profile
 This class loads a special text-based file called a Profile. More...
 
struct  ProfileInfo
 This struct holds profile data, typically loaded from a file. More...
 
class  QtHtmlReader
 This class uses Qt libraries, to create frames with rendered HTML, and return openshot::Frame objects. More...
 
class  QtImageReader
 This class uses the Qt library, to open image files, and return openshot::Frame objects containing the image. More...
 
class  QtPlayer
 This class is used to playback a video from a reader. More...
 
class  QtTextReader
 This class uses Qt libraries, to create frames with "Text", and return openshot::Frame objects. More...
 
class  ReaderBase
 This abstract class is the base class, used by all readers in libopenshot. More...
 
class  ReaderClosed
 Exception when a reader is closed, and a frame is requested. More...
 
struct  ReaderInfo
 This struct contains info about a media file, such as height, width, frames per second, etc... More...
 
class  RendererBase
 This is the base class of all Renderers in libopenshot. More...
 
class  ResampleError
 Exception when resample fails. More...
 
class  Robotization
 This class adds a robotization effect into the audio. More...
 
struct  SampleRange
 This struct holds a the range of samples needed by this frame. More...
 
class  Saturation
 This class adjusts the saturation of color on a frame's image. More...
 
class  Settings
 This class is contains settings used by libopenshot (and can be safely toggled at any point) More...
 
class  Shift
 This class shifts the pixels of an image up, down, left, or right, and can be animated with openshot::Keyframe curves over time. More...
 
class  Stabilizer
 This class stabilizes a video clip to remove undesired shaking and jitter. More...
 
class  STFT
 
class  TextReader
 This class uses the ImageMagick++ libraries, to create frames with "Text", and return openshot::Frame objects. More...
 
class  Timeline
 This class represents a timeline. More...
 
class  TimelineBase
 This class represents a timeline (used for building generic timeline implementations) More...
 
struct  TimelineInfoStruct
 This struct contains info about the current Timeline clip instance. More...
 
class  TooManySeeks
 Exception when too many seek attempts happen. More...
 
class  TrackedObjectBase
 This abstract class is the base class of all Tracked Objects. More...
 
class  TrackedObjectBBox
 This class contains the properties of a tracked object and functions to manipulate it. More...
 
class  Tracker
 This class tracks a given object through the clip, draws a box around it and allow the user to attach another clip (image or video) to the tracked object. More...
 
class  VideoCacheThread
 The video cache class. More...
 
class  VideoPlaybackThread
 The video playback class. More...
 
class  Wave
 This class distorts an image using a wave pattern. More...
 
class  Whisperization
 This class adds a whisperization effect into the audio. More...
 
class  WriterBase
 This abstract class is the base class, used by writers. Writers are types of classes that encode video, audio, and image files. More...
 
class  WriterClosed
 Exception when a writer is closed, and a frame is requested. More...
 
struct  WriterInfo
 This struct contains info about encoding a media file, such as height, width, frames per second, etc... More...
 
class  ZmqLogger
 This class is used for logging and sending those logs over a ZemoMQ socket to a listener. More...
 

Typedefs

using AudioDeviceList = std::vector< std::pair< std::string, std::string > >
 

Enumerations

enum  AnchorType { ANCHOR_CANVAS, ANCHOR_VIEWPORT }
 This enumeration determines what parent a clip should be aligned to. More...
 
enum  ChannelLayout {
  LAYOUT_MONO = AV_CH_LAYOUT_MONO, LAYOUT_STEREO = AV_CH_LAYOUT_STEREO, LAYOUT_2POINT1 = AV_CH_LAYOUT_2POINT1, LAYOUT_2_1 = AV_CH_LAYOUT_2_1,
  LAYOUT_SURROUND = AV_CH_LAYOUT_SURROUND, LAYOUT_3POINT1 = AV_CH_LAYOUT_3POINT1, LAYOUT_4POINT0 = AV_CH_LAYOUT_4POINT0, LAYOUT_4POINT1 = AV_CH_LAYOUT_4POINT1,
  LAYOUT_2_2 = AV_CH_LAYOUT_2_2, LAYOUT_QUAD = AV_CH_LAYOUT_QUAD, LAYOUT_5POINT0 = AV_CH_LAYOUT_5POINT0, LAYOUT_5POINT1 = AV_CH_LAYOUT_5POINT1,
  LAYOUT_5POINT0_BACK = AV_CH_LAYOUT_5POINT0_BACK, LAYOUT_5POINT1_BACK = AV_CH_LAYOUT_5POINT1_BACK, LAYOUT_6POINT0 = AV_CH_LAYOUT_6POINT0, LAYOUT_6POINT0_FRONT = AV_CH_LAYOUT_6POINT0_FRONT,
  LAYOUT_HEXAGONAL = AV_CH_LAYOUT_HEXAGONAL, LAYOUT_6POINT1 = AV_CH_LAYOUT_6POINT1, LAYOUT_6POINT1_BACK = AV_CH_LAYOUT_6POINT1_BACK, LAYOUT_6POINT1_FRONT = AV_CH_LAYOUT_6POINT1_FRONT,
  LAYOUT_7POINT0 = AV_CH_LAYOUT_7POINT0, LAYOUT_7POINT0_FRONT = AV_CH_LAYOUT_7POINT0_FRONT, LAYOUT_7POINT1 = AV_CH_LAYOUT_7POINT1, LAYOUT_7POINT1_WIDE = AV_CH_LAYOUT_7POINT1_WIDE,
  LAYOUT_7POINT1_WIDE_BACK = AV_CH_LAYOUT_7POINT1_WIDE_BACK, LAYOUT_OCTAGONAL = AV_CH_LAYOUT_OCTAGONAL, LAYOUT_STEREO_DOWNMIX = AV_CH_LAYOUT_STEREO_DOWNMIX
}
 This enumeration determines the audio channel layout (such as stereo, mono, 5 point surround, etc...) More...
 
enum  ChromaKeyMethod {
  CHROMAKEY_BASIC, CHROMAKEY_HSVL_H, CHROMAKEY_HSV_S, CHROMAKEY_HSL_S,
  CHROMAKEY_HSV_V, CHROMAKEY_HSL_L, CHROMAKEY_CIE_LCH_L, CHROMAKEY_CIE_LCH_C,
  CHROMAKEY_CIE_LCH_H, CHROMAKEY_CIE_DISTANCE, CHROMAKEY_YCBCR, CHROMAKEY_LAST_METHOD = CHROMAKEY_YCBCR
}
 This enumeration determines the algorithm used by the ChromaKey filter. More...
 
enum  ChunkVersion { THUMBNAIL, PREVIEW, FINAL }
 This enumeration allows the user to choose which version of the chunk they would like (low, medium, or high quality). More...
 
enum  DistortionType {
  HARD_CLIPPING, SOFT_CLIPPING, EXPONENTIAL, FULL_WAVE_RECTIFIER,
  HALF_WAVE_RECTIFIER
}
 This enumeration determines the distortion type of Distortion Effect. More...
 
enum  FFTSize {
  FFT_SIZE_32, FFT_SIZE_64, FFT_SIZE_128, FFT_SIZE_256,
  FFT_SIZE_512, FFT_SIZE_1024, FFT_SIZE_2048, FFT_SIZE_4096,
  FFT_SIZE_8192
}
 This enumeration determines the FFT size. More...
 
enum  FilterType {
  LOW_PASS, HIGH_PASS, LOW_SHELF, HIGH_SHELF,
  BAND_PASS, BAND_STOP, PEAKING_NOTCH
}
 This enumeration determines the filter type of ParametricEQ Effect. More...
 
enum  FrameDisplayType { FRAME_DISPLAY_NONE, FRAME_DISPLAY_CLIP, FRAME_DISPLAY_TIMELINE, FRAME_DISPLAY_BOTH }
 This enumeration determines the display format of the clip's frame number (if any). Useful for debugging. More...
 
enum  GravityType {
  GRAVITY_TOP_LEFT, GRAVITY_TOP, GRAVITY_TOP_RIGHT, GRAVITY_LEFT,
  GRAVITY_CENTER, GRAVITY_RIGHT, GRAVITY_BOTTOM_LEFT, GRAVITY_BOTTOM,
  GRAVITY_BOTTOM_RIGHT
}
 This enumeration determines how clips are aligned to their parent container. More...
 
enum  HandleType { AUTO, MANUAL }
 When BEZIER interpolation is used, the point's left and right handles are used to influence the direction of the curve. More...
 
enum  HopSize { HOP_SIZE_2, HOP_SIZE_4, HOP_SIZE_8 }
 This enumeration determines the hop size. More...
 
enum  InterpolationType { BEZIER, LINEAR, CONSTANT }
 This controls how a Keyframe uses this point to interpolate between two points. More...
 
enum  PlaybackMode { PLAYBACK_PLAY, PLAYBACK_PAUSED, PLAYBACK_LOADING, PLAYBACK_STOPPED }
 This enumeration determines the mode of the video player (i.e. playing, paused, etc...) More...
 
enum  PulldownType { PULLDOWN_CLASSIC, PULLDOWN_ADVANCED, PULLDOWN_NONE }
 This enumeration determines how frame rates are increased or decreased. More...
 
enum  ScaleType { SCALE_CROP, SCALE_FIT, SCALE_STRETCH, SCALE_NONE }
 This enumeration determines how clips are scaled to fit their parent container. More...
 
enum  StreamType { VIDEO_STREAM, AUDIO_STREAM }
 This enumeration designates the type of stream when encoding (video or audio) More...
 
enum  VolumeMixType { VOLUME_MIX_NONE, VOLUME_MIX_AVERAGE, VOLUME_MIX_REDUCE }
 This enumeration determines the strategy when mixing audio with other clips. More...
 
enum  WindowType { RECTANGULAR, BART_LETT, HANN, HAMMING }
 This enumeration determines the window type. More...
 

Functions

OpenShotVersion GetVersion ()
 Get the current version number of libopenshot (major, minor, and build number) More...
 
double InterpolateBetween (Point const &left, Point const &right, double target, double allowed_error)
 Interpolate two points using the right Point's interpolation method. More...
 
double InterpolateBezierCurve (Point const &left, Point const &right, double const target, double const allowed_error)
 Bezier interpolation between two points. More...
 
double InterpolateLinearCurve (Point const &left, Point const &right, double const target)
 Linear interpolation between two points. More...
 
bool IsPointBeforeX (Point const &p, double const x)
 Check if the X coordinate of a given Point is lower than a given value. More...
 
std::shared_ptr< QImage > Magick2QImage (std::shared_ptr< Magick::Image >)
 Convert Magick::Image to QImage. More...
 
template<class numT >
numT operator* (const numT &left, const openshot::Fraction &right)
 Multiplication in the form (numeric_value * openshot_Fraction) More...
 
template<class numT >
numT operator/ (const numT &left, const openshot::Fraction &right)
 Division in the form (numeric_value / openshot_Fraction) More...
 
template<class charT , class traits >
std::basic_ostream< charT, traits > & operator<< (std::basic_ostream< charT, traits > &o, const openshot::Coordinate &co)
 Stream output operator for openshot::Coordinate. More...
 
template<class charT , class traits >
std::basic_ostream< charT, traits > & operator<< (std::basic_ostream< charT, traits > &o, const openshot::Fraction &frac)
 
template<class charT , class traits >
std::basic_ostream< charT, traits > & operator<< (std::basic_ostream< charT, traits > &o, const openshot::Point &p)
 
std::shared_ptr< Magick::Image > QImage2Magick (std::shared_ptr< QImage >)
 Convert QImage to Magick::Image. More...
 
const Json::Value stringToJson (const std::string value)
 

Variables

int close_to_sync = 5
 

Detailed Description

This namespace is the default namespace for all code in the openshot library.

Typedef Documentation

◆ AudioDeviceList

typedef std::vector< std::pair< std::string, std::string > > openshot::AudioDeviceList

Definition at line 42 of file AudioDevices.h.

Enumeration Type Documentation

◆ AnchorType

This enumeration determines what parent a clip should be aligned to.

Enumerator
ANCHOR_CANVAS 

Anchor the clip to the canvas.

ANCHOR_VIEWPORT 

Anchor the clip to the viewport (which can be moved / animated around the canvas)

Definition at line 44 of file Enums.h.

◆ ChannelLayout

This enumeration determines the audio channel layout (such as stereo, mono, 5 point surround, etc...)

When writing video and audio files, you will need to specify the channel layout of the audio stream. libopenshot can convert between many different channel layouts (such as stereo, mono, 5 point surround, etc...)

Enumerator
LAYOUT_MONO 
LAYOUT_STEREO 
LAYOUT_2POINT1 
LAYOUT_2_1 
LAYOUT_SURROUND 
LAYOUT_3POINT1 
LAYOUT_4POINT0 
LAYOUT_4POINT1 
LAYOUT_2_2 
LAYOUT_QUAD 
LAYOUT_5POINT0 
LAYOUT_5POINT1 
LAYOUT_5POINT0_BACK 
LAYOUT_5POINT1_BACK 
LAYOUT_6POINT0 
LAYOUT_6POINT0_FRONT 
LAYOUT_HEXAGONAL 
LAYOUT_6POINT1 
LAYOUT_6POINT1_BACK 
LAYOUT_6POINT1_FRONT 
LAYOUT_7POINT0 
LAYOUT_7POINT0_FRONT 
LAYOUT_7POINT1 
LAYOUT_7POINT1_WIDE 
LAYOUT_7POINT1_WIDE_BACK 
LAYOUT_OCTAGONAL 
LAYOUT_STEREO_DOWNMIX 

Definition at line 28 of file ChannelLayouts.h.

◆ ChromaKeyMethod

This enumeration determines the algorithm used by the ChromaKey filter.

Enumerator
CHROMAKEY_BASIC 

Length of difference between RGB vectors.

CHROMAKEY_HSVL_H 

Difference between HSV/HSL hues.

CHROMAKEY_HSV_S 

Difference between HSV saturations.

CHROMAKEY_HSL_S 

Difference between HSL saturations.

CHROMAKEY_HSV_V 

Difference between HSV values.

CHROMAKEY_HSL_L 

Difference between HSL luminances.

CHROMAKEY_CIE_LCH_L 

Difference between CIE LCH(ab) luminousities.

CHROMAKEY_CIE_LCH_C 

Difference between CIE LCH(ab) chromas.

CHROMAKEY_CIE_LCH_H 

Difference between CIE LCH(ab) hues.

CHROMAKEY_CIE_DISTANCE 

CIEDE2000 perceptual difference.

CHROMAKEY_YCBCR 

YCbCr vector difference of CbCr.

CHROMAKEY_LAST_METHOD 

Definition at line 120 of file Enums.h.

◆ ChunkVersion

This enumeration allows the user to choose which version of the chunk they would like (low, medium, or high quality).

Since chunks contain multiple video streams, this version enumeration allows the user to choose which version of the chunk they would like. For example, if you want a small version with reduced quality, you can choose the THUMBNAIL version. This is used on the ChunkReader constructor.

Enumerator
THUMBNAIL 

The lowest quality stream contained in this chunk file.

PREVIEW 

The medium quality stream contained in this chunk file.

FINAL 

The highest quality stream contained in this chunk file.

Definition at line 49 of file ChunkReader.h.

◆ DistortionType

This enumeration determines the distortion type of Distortion Effect.

Enumerator
HARD_CLIPPING 
SOFT_CLIPPING 
EXPONENTIAL 
FULL_WAVE_RECTIFIER 
HALF_WAVE_RECTIFIER 

Definition at line 69 of file Enums.h.

◆ FFTSize

This enumeration determines the FFT size.

Enumerator
FFT_SIZE_32 
FFT_SIZE_64 
FFT_SIZE_128 
FFT_SIZE_256 
FFT_SIZE_512 
FFT_SIZE_1024 
FFT_SIZE_2048 
FFT_SIZE_4096 
FFT_SIZE_8192 

Definition at line 91 of file Enums.h.

◆ FilterType

This enumeration determines the filter type of ParametricEQ Effect.

Enumerator
LOW_PASS 
HIGH_PASS 
LOW_SHELF 
HIGH_SHELF 
BAND_PASS 
BAND_STOP 
PEAKING_NOTCH 

Definition at line 79 of file Enums.h.

◆ FrameDisplayType

This enumeration determines the display format of the clip's frame number (if any). Useful for debugging.

Enumerator
FRAME_DISPLAY_NONE 

Do not display the frame number.

FRAME_DISPLAY_CLIP 

Display the clip's internal frame number.

FRAME_DISPLAY_TIMELINE 

Display the timeline's frame number.

FRAME_DISPLAY_BOTH 

Display both the clip's and timeline's frame number.

Definition at line 51 of file Enums.h.

◆ GravityType

This enumeration determines how clips are aligned to their parent container.

Enumerator
GRAVITY_TOP_LEFT 

Align clip to the top left of its parent.

GRAVITY_TOP 

Align clip to the top center of its parent.

GRAVITY_TOP_RIGHT 

Align clip to the top right of its parent.

GRAVITY_LEFT 

Align clip to the left of its parent (middle aligned)

GRAVITY_CENTER 

Align clip to the center of its parent (middle aligned)

GRAVITY_RIGHT 

Align clip to the right of its parent (middle aligned)

GRAVITY_BOTTOM_LEFT 

Align clip to the bottom left of its parent.

GRAVITY_BOTTOM 

Align clip to the bottom center of its parent.

GRAVITY_BOTTOM_RIGHT 

Align clip to the bottom right of its parent.

Definition at line 21 of file Enums.h.

◆ HandleType

When BEZIER interpolation is used, the point's left and right handles are used to influence the direction of the curve.

AUTO will try and adjust the handles automatically, to achieve the smoothest curves. MANUAL will leave the handles alone, making it the responsibility of the user to set them.

Enumerator
AUTO 

Automatically adjust the handles to achieve the smoothest curve.

MANUAL 

Do not automatically adjust handles (set them manually)

Definition at line 41 of file Point.h.

◆ HopSize

This enumeration determines the hop size.

Enumerator
HOP_SIZE_2 
HOP_SIZE_4 
HOP_SIZE_8 

Definition at line 105 of file Enums.h.

◆ InterpolationType

This controls how a Keyframe uses this point to interpolate between two points.

Bezier is a smooth curve. Linear is a straight line. Constant is a jump from the previous point to this one.

Enumerator
BEZIER 

Bezier curves are quadratic curves, which create a smooth curve.

LINEAR 

Linear curves are angular, straight lines between two points.

CONSTANT 

Constant curves jump from their previous position to a new one (with no interpolation).

Definition at line 28 of file Point.h.

◆ PlaybackMode

This enumeration determines the mode of the video player (i.e. playing, paused, etc...)

A player can be in one of the following modes, which controls how it behaves.

Enumerator
PLAYBACK_PLAY 

Play the video normally.

PLAYBACK_PAUSED 

Pause the video (holding the last displayed frame)

PLAYBACK_LOADING 

Loading the video (display a loading animation)

PLAYBACK_STOPPED 

Stop playing the video (clear cache, done with player)

Definition at line 26 of file PlayerBase.h.

◆ PulldownType

This enumeration determines how frame rates are increased or decreased.

Pull-down techniques are only needed to remove artificial fields added when converting between 24 fps (film) and television fps (29.97 fps NTSC or 25 fps PAL).

Enumerator
PULLDOWN_CLASSIC 

Classic 2:3:2:3 pull-down.

PULLDOWN_ADVANCED 

Advanced 2:3:3:2 pull-down (minimal dirty frames)

PULLDOWN_NONE 

Do not apply pull-down techniques, just repeat or skip entire frames.

Definition at line 42 of file FrameMapper.h.

◆ ScaleType

This enumeration determines how clips are scaled to fit their parent container.

Enumerator
SCALE_CROP 

Scale the clip until both height and width fill the canvas (cropping the overlap)

SCALE_FIT 

Scale the clip until either height or width fills the canvas (with no cropping)

SCALE_STRETCH 

Scale the clip until both height and width fill the canvas (distort to fit)

SCALE_NONE 

Do not scale the clip.

Definition at line 35 of file Enums.h.

◆ StreamType

This enumeration designates the type of stream when encoding (video or audio)

Enumerator
VIDEO_STREAM 

A video stream (used to determine which type of stream)

AUDIO_STREAM 

An audio stream (used to determine which type of stream)

Definition at line 28 of file FFmpegWriter.h.

◆ VolumeMixType

This enumeration determines the strategy when mixing audio with other clips.

Enumerator
VOLUME_MIX_NONE 

Do not apply any volume mixing adjustments. Just add the samples together.

VOLUME_MIX_AVERAGE 

Evenly divide the overlapping clips volume keyframes, so that the sum does not exceed 100%.

VOLUME_MIX_REDUCE 

Reduce volume by about %25, and then mix (louder, but could cause pops if the sum exceeds 100%)

Definition at line 60 of file Enums.h.

◆ WindowType

This enumeration determines the window type.

Enumerator
RECTANGULAR 
BART_LETT 
HANN 
HAMMING 

Definition at line 112 of file Enums.h.

Function Documentation

◆ GetVersion()

openshot::OpenShotVersion openshot::GetVersion ( )

Get the current version number of libopenshot (major, minor, and build number)

Definition at line 17 of file OpenShotVersion.cpp.

◆ InterpolateBetween()

double openshot::InterpolateBetween ( Point const &  left,
Point const &  right,
double  target,
double  allowed_error 
)

Interpolate two points using the right Point's interpolation method.

Definition at line 80 of file KeyFrame.cpp.

Referenced by openshot::Keyframe::GetValue(), openshot::TrackedObjectBBox::InterpolateBoxes(), and SearchBetweenPoints().

◆ InterpolateBezierCurve()

double openshot::InterpolateBezierCurve ( Point const &  left,
Point const &  right,
double const  target,
double const  allowed_error 
)

Bezier interpolation between two points.

Definition at line 44 of file KeyFrame.cpp.

Referenced by InterpolateBetween().

◆ InterpolateLinearCurve()

double openshot::InterpolateLinearCurve ( Point const &  left,
Point const &  right,
double const  target 
)

Linear interpolation between two points.

Definition at line 36 of file KeyFrame.cpp.

Referenced by InterpolateBetween().

◆ IsPointBeforeX()

bool openshot::IsPointBeforeX ( Point const &  p,
double const  x 
)

Check if the X coordinate of a given Point is lower than a given value.

Definition at line 31 of file KeyFrame.cpp.

Referenced by openshot::Keyframe::AddPoint(), openshot::Keyframe::Contains(), openshot::Keyframe::GetClosestPoint(), and openshot::Keyframe::GetValue().

◆ Magick2QImage()

std::shared_ptr< QImage > openshot::Magick2QImage ( std::shared_ptr< Magick::Image >  image)

Convert Magick::Image to QImage.

Definition at line 46 of file MagickUtilities.cpp.

Referenced by openshot::ImageReader::GetFrame(), and openshot::TextReader::GetFrame().

◆ operator*()

template<class numT >
numT openshot::operator* ( const numT &  left,
const openshot::Fraction right 
)

Multiplication in the form (numeric_value * openshot_Fraction)

Definition at line 95 of file Fraction.h.

◆ operator/()

template<class numT >
numT openshot::operator/ ( const numT &  left,
const openshot::Fraction right 
)

Division in the form (numeric_value / openshot_Fraction)

Definition at line 101 of file Fraction.h.

◆ operator<<() [1/3]

template<class charT , class traits >
std::basic_ostream<charT, traits>& openshot::operator<< ( std::basic_ostream< charT, traits > &  o,
const openshot::Coordinate co 
)

Stream output operator for openshot::Coordinate.

Definition at line 65 of file Coordinate.h.

◆ operator<<() [2/3]

template<class charT , class traits >
std::basic_ostream<charT, traits>& openshot::operator<< ( std::basic_ostream< charT, traits > &  o,
const openshot::Fraction frac 
)

Definition at line 108 of file Fraction.h.

◆ operator<<() [3/3]

template<class charT , class traits >
std::basic_ostream<charT, traits>& openshot::operator<< ( std::basic_ostream< charT, traits > &  o,
const openshot::Point p 
)

Definition at line 114 of file Point.h.

◆ QImage2Magick()

std::shared_ptr< Magick::Image > openshot::QImage2Magick ( std::shared_ptr< QImage >  image)

Convert QImage to Magick::Image.

Definition at line 21 of file MagickUtilities.cpp.

Referenced by openshot::ImageWriter::WriteFrame().

◆ stringToJson()

const Json::Value openshot::stringToJson ( const std::string  value)

Definition at line 16 of file Json.cpp.

Referenced by openshot::Timeline::ApplyJsonDiff(), openshot::CacheMemory::JsonValue(), openshot::CacheDisk::JsonValue(), openshot::Coordinate::SetJson(), openshot::Noise::SetJson(), openshot::Negate::SetJson(), openshot::Color::SetJson(), openshot::Distortion::SetJson(), openshot::ParametricEQ::SetJson(), openshot::Delay::SetJson(), openshot::Whisperization::SetJson(), openshot::Echo::SetJson(), openshot::Robotization::SetJson(), openshot::Deinterlace::SetJson(), openshot::Hue::SetJson(), openshot::Brightness::SetJson(), openshot::Shift::SetJson(), openshot::Tracker::SetJson(), openshot::Compressor::SetJson(), openshot::Expander::SetJson(), openshot::Wave::SetJson(), openshot::Bars::SetJson(), openshot::Mask::SetJson(), openshot::BBox::SetJson(), openshot::Pixelate::SetJson(), openshot::Saturation::SetJson(), openshot::Blur::SetJson(), openshot::ColorShift::SetJson(), openshot::CacheMemory::SetJson(), openshot::Crop::SetJson(), openshot::ImageReader::SetJson(), openshot::WriterBase::SetJson(), openshot::EffectBase::SetJson(), openshot::ChromaKey::SetJson(), openshot::Stabilizer::SetJson(), openshot::Caption::SetJson(), openshot::Point::SetJson(), openshot::CacheDisk::SetJson(), openshot::ObjectDetection::SetJson(), openshot::QtHtmlReader::SetJson(), openshot::CVObjectDetection::SetJson(), openshot::TextReader::SetJson(), openshot::QtTextReader::SetJson(), openshot::Keyframe::SetJson(), CVStabilization::SetJson(), openshot::CVTracker::SetJson(), openshot::QtImageReader::SetJson(), openshot::DummyReader::SetJson(), openshot::ChunkReader::SetJson(), openshot::Profile::SetJson(), openshot::TrackedObjectBBox::SetJson(), openshot::FFmpegReader::SetJson(), openshot::FrameMapper::SetJson(), openshot::Clip::SetJson(), and openshot::Timeline::SetJson().

Variable Documentation

◆ close_to_sync

int openshot::close_to_sync = 5

Definition at line 23 of file PlayerPrivate.cpp.