Olive
Classes | Typedefs | Enumerations | Functions | Variables
effect.h File Reference
#include <QObject>
#include <QString>
#include <QVector>
#include <QColor>
#include <QOpenGLFunctions>
#include <QOpenGLShaderProgram>
#include <QOpenGLTexture>
#include <QMutex>
#include <QThread>
#include <QLabel>
#include <QWidget>
#include <QGridLayout>
#include <QPushButton>
#include <QMouseEvent>
#include <QXmlStreamReader>
#include <QXmlStreamWriter>
#include "ui/collapsiblewidget.h"
#include "ui/checkboxex.h"
#include "effectfield.h"
#include "effectrow.h"
#include "effectgizmo.h"

Go to the source code of this file.

Classes

struct  EffectMeta
 
struct  GLTextureCoords
 
class  Effect
 
class  EffectInit
 

Typedefs

using ClipPtr = std::shared_ptr< Clip >
 
using EffectPtr = std::shared_ptr< Effect >
 

Enumerations

enum  EffectType {
  EFFECT_TYPE_INVALID, EFFECT_TYPE_VIDEO, EFFECT_TYPE_AUDIO, EFFECT_TYPE_EFFECT,
  EFFECT_TYPE_TRANSITION
}
 
enum  EffectKeyframeType { EFFECT_KEYFRAME_LINEAR, EFFECT_KEYFRAME_BEZIER, EFFECT_KEYFRAME_HOLD }
 
enum  EffectInternal {
  EFFECT_INTERNAL_TRANSFORM, EFFECT_INTERNAL_TEXT, EFFECT_INTERNAL_SOLID, EFFECT_INTERNAL_NOISE,
  EFFECT_INTERNAL_VOLUME, EFFECT_INTERNAL_PAN, EFFECT_INTERNAL_TONE, EFFECT_INTERNAL_SHAKE,
  EFFECT_INTERNAL_TIMECODE, EFFECT_INTERNAL_MASK, EFFECT_INTERNAL_FILLLEFTRIGHT, EFFECT_INTERNAL_VST,
  EFFECT_INTERNAL_CORNERPIN, EFFECT_INTERNAL_FREI0R, EFFECT_INTERNAL_COUNT
}
 
enum  EffectBlendMode {
  BLEND_MODE_ADD, BLEND_MODE_AVERAGE, BLEND_MODE_COLORBURN, BLEND_MODE_COLORDODGE,
  BLEND_MODE_DARKEN, BLEND_MODE_DIFFERENCE, BLEND_MODE_EXCLUSION, BLEND_MODE_GLOW,
  BLEND_MODE_HARDLIGHT, BLEND_MODE_HARDMIX, BLEND_MODE_LIGHTEN, BLEND_MODE_LINEARBURN,
  BLEND_MODE_LINEARDODGE, BLEND_MODE_LINEARLIGHT, BLEND_MODE_MULTIPLY, BLEND_MODE_NEGATION,
  BLEND_MODE_NORMAL, BLEND_MODE_OVERLAY, BLEND_MODE_PHOENIX, BLEND_MODE_PINLIGHT,
  BLEND_MODE_REFLECT, BLEND_MODE_SCREEN, BLEND_MODE_SOFTLIGHT, BLEND_MODE_SUBSTRACT,
  BLEND_MODE_SUBTRACT, BLEND_MODE_VIVIDLIGHT, BLEND_MODE_COUNT
}
 

Functions

double log_volume (double linear)
 
EffectPtr create_effect (ClipPtr c, const EffectMeta *em)
 
const EffectMetaget_internal_meta (int internal_id, int type)
 
const EffectMetaget_meta_from_name (const QString &input)
 
qint16 mix_audio_sample (qint16 a, qint16 b)
 

Variables

QVector< EffectMetaeffects
 

Typedef Documentation

◆ ClipPtr

using ClipPtr = std::shared_ptr<Clip>

◆ EffectPtr

using EffectPtr = std::shared_ptr<Effect>

Enumeration Type Documentation

◆ EffectBlendMode

Enumerator
BLEND_MODE_ADD 
BLEND_MODE_AVERAGE 
BLEND_MODE_COLORBURN 
BLEND_MODE_COLORDODGE 
BLEND_MODE_DARKEN 
BLEND_MODE_DIFFERENCE 
BLEND_MODE_EXCLUSION 
BLEND_MODE_GLOW 
BLEND_MODE_HARDLIGHT 
BLEND_MODE_HARDMIX 
BLEND_MODE_LIGHTEN 
BLEND_MODE_LINEARBURN 
BLEND_MODE_LINEARDODGE 
BLEND_MODE_LINEARLIGHT 
BLEND_MODE_MULTIPLY 
BLEND_MODE_NEGATION 
BLEND_MODE_NORMAL 
BLEND_MODE_OVERLAY 
BLEND_MODE_PHOENIX 
BLEND_MODE_PINLIGHT 
BLEND_MODE_REFLECT 
BLEND_MODE_SCREEN 
BLEND_MODE_SOFTLIGHT 
BLEND_MODE_SUBSTRACT 
BLEND_MODE_SUBTRACT 
BLEND_MODE_VIVIDLIGHT 
BLEND_MODE_COUNT 

◆ EffectInternal

Enumerator
EFFECT_INTERNAL_TRANSFORM 
EFFECT_INTERNAL_TEXT 
EFFECT_INTERNAL_SOLID 
EFFECT_INTERNAL_NOISE 
EFFECT_INTERNAL_VOLUME 
EFFECT_INTERNAL_PAN 
EFFECT_INTERNAL_TONE 
EFFECT_INTERNAL_SHAKE 
EFFECT_INTERNAL_TIMECODE 
EFFECT_INTERNAL_MASK 
EFFECT_INTERNAL_FILLLEFTRIGHT 
EFFECT_INTERNAL_VST 
EFFECT_INTERNAL_CORNERPIN 
EFFECT_INTERNAL_FREI0R 
EFFECT_INTERNAL_COUNT 

◆ EffectKeyframeType

Enumerator
EFFECT_KEYFRAME_LINEAR 
EFFECT_KEYFRAME_BEZIER 
EFFECT_KEYFRAME_HOLD 

◆ EffectType

enum EffectType
Enumerator
EFFECT_TYPE_INVALID 
EFFECT_TYPE_VIDEO 
EFFECT_TYPE_AUDIO 
EFFECT_TYPE_EFFECT 
EFFECT_TYPE_TRANSITION 

Function Documentation

◆ create_effect()

EffectPtr create_effect ( ClipPtr  c,
const EffectMeta em 
)

◆ get_internal_meta()

const EffectMeta* get_internal_meta ( int  internal_id,
int  type 
)

◆ get_meta_from_name()

const EffectMeta* get_meta_from_name ( const QString &  input)

◆ log_volume()

double log_volume ( double  linear)

◆ mix_audio_sample()

qint16 mix_audio_sample ( qint16  a,
qint16  b 
)

Variable Documentation

◆ effects

QVector<EffectMeta> effects