Olive
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Public Types | Public Slots | Signals | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Private Slots | Private Member Functions | Private Attributes | List of all members
Effect Class Reference

#include <effect.h>

Inheritance diagram for Effect:
AudioNoiseEffect CornerPinEffect FillLeftRightEffect Frei0rEffect PanEffect RichTextEffect ShakeEffect SolidEffect TextEffect TimecodeEffect ToneEffect TransformEffect Transition VoidEffect VolumeEffect VSTHost

Public Types

enum  VideoEffectFlags { ShaderFlag = 0x1, CoordsFlag = 0x2, SuperimposeFlag = 0x4, ImageFlag = 0x8 }
 

Public Slots

void FieldChanged ()
 
void SetEnabled (bool b)
 
void SetExpanded (bool e)
 

Signals

void EnabledChanged (bool)
 

Public Member Functions

 Effect (Clip *c, const EffectMeta *em)
 
 ~Effect ()
 
void AddRow (EffectRow *row)
 
EffectRowrow (int i)
 
int row_count ()
 
EffectGizmoadd_gizmo (int type)
 
EffectGizmogizmo (int i)
 
int gizmo_count ()
 
bool IsEnabled ()
 
bool IsExpanded ()
 
virtual void refresh ()
 
virtual EffectPtr copy (Clip *c)
 
void copy_field_keyframes (EffectPtr e)
 
virtual void load (QXmlStreamReader &stream)
 
virtual void custom_load (QXmlStreamReader &stream)
 
virtual void save (QXmlStreamWriter &stream)
 
void load_from_string (const QByteArray &s)
 
QByteArray save_to_string ()
 
bool is_open ()
 
void open ()
 
void close ()
 
bool is_glsl_linked ()
 
virtual void startEffect ()
 
virtual void endEffect ()
 
int Flags ()
 
void SetFlags (int flags)
 
int getIterations ()
 
void setIterations (int i)
 
virtual void process_image (double timecode, uint8_t *input, uint8_t *output, int size)
 
virtual void process_shader (double timecode, GLTextureCoords &, int iteration)
 
virtual void process_coords (double timecode, GLTextureCoords &coords, int data)
 
virtual GLuint process_superimpose (double timecode)
 
virtual void process_audio (double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)
 
virtual void gizmo_draw (double timecode, GLTextureCoords &coords)
 
void gizmo_move (EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)
 
void gizmo_world_to_screen ()
 
bool are_gizmos_enabled ()
 
template<typename T >
randomNumber ()
 

Static Public Member Functions

static EffectPtr Create (Clip *c, const EffectMeta *em)
 
static const EffectMetaGetInternalMeta (int internal_id, int type)
 

Public Attributes

Clipparent_clip
 
const EffectMetameta
 
int id
 
QString name
 
const char * ffmpeg_filter
 

Protected Member Functions

virtual bool AlwaysUpdate ()
 

Protected Attributes

QOpenGLShaderProgram * glslProgram
 
QString vertPath
 
QString fragPath
 
QImage img
 
QOpenGLTexture * texture
 

Private Slots

void delete_self ()
 
void move_up ()
 
void move_down ()
 
void save_to_file ()
 
void load_from_file ()
 

Private Member Functions

virtual void redraw (double timecode)
 
bool valueHasChanged (double timecode)
 
void delete_texture ()
 
void validate_meta_path ()
 

Private Attributes

bool isOpen
 
QVector< EffectRow * > rows
 
QVector< EffectGizmo * > gizmos
 
bool bound
 
int iterations
 
bool enabled_
 
bool expanded_
 
int flags_
 
QVector< KeyframeDataChange * > gizmo_dragging_actions_
 
QVector< QVariant > cachedValues
 

Member Enumeration Documentation

Enumerator
ShaderFlag 
CoordsFlag 
SuperimposeFlag 
ImageFlag 

Constructor & Destructor Documentation

Effect::Effect ( Clip c,
const EffectMeta em 
)
Effect::~Effect ( )

Member Function Documentation

EffectGizmo * Effect::add_gizmo ( int  type)
void Effect::AddRow ( EffectRow row)
bool Effect::AlwaysUpdate ( )
protectedvirtual

Reimplemented in TimecodeEffect, and RichTextEffect.

bool Effect::are_gizmos_enabled ( )
void Effect::close ( )
EffectPtr Effect::copy ( Clip c)
virtual

Reimplemented in VoidEffect.

void Effect::copy_field_keyframes ( EffectPtr  e)
EffectPtr Effect::Create ( Clip c,
const EffectMeta em 
)
static
void Effect::custom_load ( QXmlStreamReader &  stream)
virtual

Reimplemented in VSTHost.

void Effect::delete_self ( )
privateslot
void Effect::delete_texture ( )
private
void Effect::EnabledChanged ( bool  )
signal
void Effect::endEffect ( )
virtual
void Effect::FieldChanged ( )
slot
int Effect::Flags ( )
const EffectMeta * Effect::GetInternalMeta ( int  internal_id,
int  type 
)
static
int Effect::getIterations ( )
EffectGizmo * Effect::gizmo ( int  i)
int Effect::gizmo_count ( )
void Effect::gizmo_draw ( double  timecode,
GLTextureCoords coords 
)
virtual

Reimplemented in TransformEffect, and CornerPinEffect.

void Effect::gizmo_move ( EffectGizmo sender,
int  x_movement,
int  y_movement,
double  timecode,
bool  done 
)
void Effect::gizmo_world_to_screen ( )
bool Effect::is_glsl_linked ( )
bool Effect::is_open ( )
bool Effect::IsEnabled ( )
bool Effect::IsExpanded ( )
void Effect::load ( QXmlStreamReader &  stream)
virtual

Reimplemented in VoidEffect.

void Effect::load_from_file ( )
privateslot
void Effect::load_from_string ( const QByteArray &  s)
void Effect::move_down ( )
privateslot
void Effect::move_up ( )
privateslot
void Effect::open ( )
void Effect::process_audio ( double  timecode_start,
double  timecode_end,
quint8 *  samples,
int  nb_bytes,
int  channel_count 
)
virtual
void Effect::process_coords ( double  timecode,
GLTextureCoords coords,
int  data 
)
virtual
void Effect::process_image ( double  timecode,
uint8_t *  input,
uint8_t *  output,
int  size 
)
virtual

Reimplemented in Frei0rEffect.

void Effect::process_shader ( double  timecode,
GLTextureCoords ,
int  iteration 
)
virtual

Reimplemented in CornerPinEffect.

GLuint Effect::process_superimpose ( double  timecode)
virtual
template<typename T >
T Effect::randomNumber ( )
inline
void Effect::redraw ( double  timecode)
privatevirtual
void Effect::refresh ( )
virtual

Reimplemented in Frei0rEffect, and TransformEffect.

EffectRow * Effect::row ( int  i)
int Effect::row_count ( )
void Effect::save ( QXmlStreamWriter &  stream)
virtual

Reimplemented in Transition, VSTHost, and VoidEffect.

void Effect::save_to_file ( )
privateslot
QByteArray Effect::save_to_string ( )
void Effect::SetEnabled ( bool  b)
slot
void Effect::SetExpanded ( bool  e)
slot
void Effect::SetFlags ( int  flags)
void Effect::setIterations ( int  i)
void Effect::startEffect ( )
virtual
void Effect::validate_meta_path ( )
private
bool Effect::valueHasChanged ( double  timecode)
private

Member Data Documentation

bool Effect::bound
private
QVector<QVariant> Effect::cachedValues
private
bool Effect::enabled_
private
bool Effect::expanded_
private
const char* Effect::ffmpeg_filter
int Effect::flags_
private
QString Effect::fragPath
protected
QVector<KeyframeDataChange*> Effect::gizmo_dragging_actions_
private
QVector<EffectGizmo*> Effect::gizmos
private
QOpenGLShaderProgram* Effect::glslProgram
protected
int Effect::id
QImage Effect::img
protected
bool Effect::isOpen
private
int Effect::iterations
private
const EffectMeta* Effect::meta
QString Effect::name
Clip* Effect::parent_clip
QVector<EffectRow*> Effect::rows
private
QOpenGLTexture* Effect::texture
protected
QString Effect::vertPath
protected

The documentation for this class was generated from the following files: