Olive
Public Slots | Public Member Functions | Public Attributes | 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 ShakeEffect SolidEffect TextEffect TimecodeEffect ToneEffect TransformEffect Transition VoidEffect VolumeEffect VSTHost

Public Slots

void field_changed ()
 

Public Member Functions

 Effect (ClipPtr c, const EffectMeta *em)
 
 ~Effect ()
 
EffectRowadd_row (const QString &name, bool savable=true, bool keyframable=true)
 
EffectRowrow (int i)
 
int row_count ()
 
EffectGizmoadd_gizmo (int type)
 
EffectGizmogizmo (int i)
 
int gizmo_count ()
 
bool is_enabled ()
 
void set_enabled (bool b)
 
virtual void refresh ()
 
virtual EffectPtr copy (ClipPtr 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 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 ()
 

Public Attributes

ClipPtr parent_clip
 
const EffectMetameta
 
int id
 
QString name
 
CollapsibleWidgetcontainer
 
bool enable_shader
 
bool enable_coords
 
bool enable_superimpose
 
bool enable_image
 
const char * ffmpeg_filter
 

Protected Attributes

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

Private Slots

void show_context_menu (const QPoint &)
 
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 ()
 
int get_index_in_clip ()
 
void validate_meta_path ()
 

Private Attributes

QString script
 
bool isOpen
 
QVector< EffectRow * > rows
 
QVector< EffectGizmo * > gizmos
 
QGridLayout * ui_layout
 
QWidget * ui
 
bool bound
 
int iterations
 
QVector< QVariant > cachedValues
 

Constructor & Destructor Documentation

◆ Effect()

Effect::Effect ( ClipPtr  c,
const EffectMeta em 
)

◆ ~Effect()

Effect::~Effect ( )

Member Function Documentation

◆ add_gizmo()

EffectGizmo * Effect::add_gizmo ( int  type)

◆ add_row()

EffectRow * Effect::add_row ( const QString &  name,
bool  savable = true,
bool  keyframable = true 
)

◆ are_gizmos_enabled()

bool Effect::are_gizmos_enabled ( )

◆ close()

void Effect::close ( )

◆ copy()

EffectPtr Effect::copy ( ClipPtr  c)
virtual

Reimplemented in VoidEffect.

◆ copy_field_keyframes()

void Effect::copy_field_keyframes ( EffectPtr  e)

◆ custom_load()

void Effect::custom_load ( QXmlStreamReader &  stream)
virtual

Reimplemented in VSTHost.

◆ delete_self

void Effect::delete_self ( )
privateslot

◆ delete_texture()

void Effect::delete_texture ( )
private

◆ endEffect()

void Effect::endEffect ( )
virtual

◆ field_changed

void Effect::field_changed ( )
slot

◆ get_index_in_clip()

int Effect::get_index_in_clip ( )
private

◆ getIterations()

int Effect::getIterations ( )

◆ gizmo()

EffectGizmo * Effect::gizmo ( int  i)

◆ gizmo_count()

int Effect::gizmo_count ( )

◆ gizmo_draw()

void Effect::gizmo_draw ( double  timecode,
GLTextureCoords coords 
)
virtual

Reimplemented in TransformEffect, and CornerPinEffect.

◆ gizmo_move()

void Effect::gizmo_move ( EffectGizmo sender,
int  x_movement,
int  y_movement,
double  timecode,
bool  done 
)

◆ gizmo_world_to_screen()

void Effect::gizmo_world_to_screen ( )

◆ is_enabled()

bool Effect::is_enabled ( )

◆ is_glsl_linked()

bool Effect::is_glsl_linked ( )

◆ is_open()

bool Effect::is_open ( )

◆ load()

void Effect::load ( QXmlStreamReader &  stream)
virtual

Reimplemented in VoidEffect.

◆ load_from_file

void Effect::load_from_file ( )
privateslot

◆ load_from_string()

void Effect::load_from_string ( const QByteArray &  s)

◆ move_down

void Effect::move_down ( )
privateslot

◆ move_up

void Effect::move_up ( )
privateslot

◆ open()

void Effect::open ( )

◆ process_audio()

void Effect::process_audio ( double  timecode_start,
double  timecode_end,
quint8 *  samples,
int  nb_bytes,
int  channel_count 
)
virtual

◆ process_coords()

void Effect::process_coords ( double  timecode,
GLTextureCoords coords,
int  data 
)
virtual

◆ process_image()

void Effect::process_image ( double  timecode,
uint8_t *  input,
uint8_t *  output,
int  size 
)
virtual

Reimplemented in Frei0rEffect.

◆ process_shader()

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

Reimplemented in CornerPinEffect.

◆ process_superimpose()

GLuint Effect::process_superimpose ( double  timecode)
virtual

◆ redraw()

void Effect::redraw ( double  timecode)
privatevirtual

Reimplemented in TextEffect, TimecodeEffect, and SolidEffect.

◆ refresh()

void Effect::refresh ( )
virtual

Reimplemented in Frei0rEffect, and TransformEffect.

◆ row()

EffectRow * Effect::row ( int  i)

◆ row_count()

int Effect::row_count ( )

◆ save()

void Effect::save ( QXmlStreamWriter &  stream)
virtual

Reimplemented in Transition, VSTHost, and VoidEffect.

◆ save_to_file

void Effect::save_to_file ( )
privateslot

◆ save_to_string()

QByteArray Effect::save_to_string ( )

◆ set_enabled()

void Effect::set_enabled ( bool  b)

◆ setIterations()

void Effect::setIterations ( int  i)

◆ show_context_menu

void Effect::show_context_menu ( const QPoint &  pos)
privateslot

◆ startEffect()

void Effect::startEffect ( )
virtual

◆ validate_meta_path()

void Effect::validate_meta_path ( )
private

◆ valueHasChanged()

bool Effect::valueHasChanged ( double  timecode)
private

Member Data Documentation

◆ bound

bool Effect::bound
private

◆ cachedValues

QVector<QVariant> Effect::cachedValues
private

◆ container

CollapsibleWidget* Effect::container

◆ enable_always_update

bool Effect::enable_always_update
protected

◆ enable_coords

bool Effect::enable_coords

◆ enable_image

bool Effect::enable_image

◆ enable_shader

bool Effect::enable_shader

◆ enable_superimpose

bool Effect::enable_superimpose

◆ ffmpeg_filter

const char* Effect::ffmpeg_filter

◆ fragPath

QString Effect::fragPath
protected

◆ gizmos

QVector<EffectGizmo*> Effect::gizmos
private

◆ glslProgram

QOpenGLShaderProgram* Effect::glslProgram
protected

◆ id

int Effect::id

◆ img

QImage Effect::img
protected

◆ isOpen

bool Effect::isOpen
private

◆ iterations

int Effect::iterations
private

◆ meta

const EffectMeta* Effect::meta

◆ name

QString Effect::name

◆ parent_clip

ClipPtr Effect::parent_clip

◆ rows

QVector<EffectRow*> Effect::rows
private

◆ script

QString Effect::script
private

◆ texture

QOpenGLTexture* Effect::texture
protected

◆ ui

QWidget* Effect::ui
private

◆ ui_layout

QGridLayout* Effect::ui_layout
private

◆ vertPath

QString Effect::vertPath
protected

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