28 #include <QOpenGLFunctions> 29 #include <QOpenGLShaderProgram> 30 #include <QOpenGLTexture> 35 #include <QGridLayout> 36 #include <QPushButton> 37 #include <QMouseEvent> 38 #include <QXmlStreamReader> 39 #include <QXmlStreamWriter> 60 extern QVector<EffectMeta>
effects;
196 virtual void load(QXmlStreamReader& stream);
197 virtual void custom_load(QXmlStreamReader& stream);
198 virtual void save(QXmlStreamWriter& stream);
221 virtual void process_image(
double timecode, uint8_t* input, uint8_t* output,
int size);
225 virtual void process_audio(
double timecode_start,
double timecode_end, quint8* samples,
int nb_bytes,
int channel_count);
265 virtual void redraw(
double timecode);
virtual void gizmo_draw(double timecode, GLTextureCoords &coords)
Definition: effect.cpp:942
QVector< QVariant > cachedValues
Definition: effect.h:267
float textureTopRightX
Definition: effect.h:147
int vertexBottomLeftY
Definition: effect.h:138
float textureTopRightY
Definition: effect.h:148
QString name
Definition: effect.h:177
void load_from_string(const QByteArray &s)
Definition: effect.cpp:687
int gizmo_count()
Definition: effect.cpp:385
virtual void process_coords(double timecode, GLTextureCoords &coords, int data)
Definition: effect.cpp:901
bool are_gizmos_enabled()
Definition: effect.cpp:994
float textureBottomLeftX
Definition: effect.h:153
int getIterations()
Definition: effect.cpp:847
QImage img
Definition: effect.h:247
EffectInternal
Definition: effect.h:80
void validate_meta_path()
Definition: effect.cpp:755
virtual void custom_load(QXmlStreamReader &stream)
Definition: effect.cpp:653
void open()
Definition: effect.cpp:772
bool is_enabled()
Definition: effect.cpp:526
double log_volume(double linear)
Definition: audio.cpp:244
EffectBlendMode
Definition: effect.h:98
float textureTopLeftY
Definition: effect.h:145
bool enable_superimpose
Definition: effect.h:213
EffectPtr create_effect(ClipPtr c, const EffectMeta *em)
Definition: effect.cpp:72
EffectRow * add_row(const QString &name, bool savable=true, bool keyframable=true)
Definition: effect.cpp:361
qint16 mix_audio_sample(qint16 a, qint16 b)
Definition: effect.cpp:1095
int vertexBottomRightX
Definition: effect.h:140
EffectGizmo * gizmo(int i)
Definition: effect.cpp:381
const EffectMeta * meta
Definition: effect.h:175
bool isOpen
Definition: effect.h:256
float textureBottomRightX
Definition: effect.h:150
float opacity
Definition: effect.h:158
virtual EffectPtr copy(ClipPtr c)
Definition: effect.cpp:857
QWidget * ui
Definition: effect.h:260
virtual void save(QXmlStreamWriter &stream)
Definition: effect.cpp:655
ClipPtr parent_clip
Definition: effect.h:174
int id
Definition: effect.h:176
const EffectMeta * get_internal_meta(int internal_id, int type)
Definition: effect.cpp:106
void move_up()
Definition: effect.cpp:439
QVector< EffectMeta > effects
Definition: effect.cpp:70
QString fragPath
Definition: effect.h:244
bool bound
Definition: effect.h:261
Definition: effectrow.h:37
int blendmode
Definition: effect.h:157
float textureBottomLeftQ
Definition: effect.h:155
EffectKeyframeType
Definition: effect.h:74
QByteArray save_to_string()
Definition: effect.cpp:731
QGridLayout * ui_layout
Definition: effect.h:259
bool enable_shader
Definition: effect.h:211
float textureTopLeftX
Definition: effect.h:144
std::shared_ptr< Clip > ClipPtr
Definition: cacher.h:28
int vertexBottomRightY
Definition: effect.h:141
bool is_open()
Definition: effect.cpp:751
virtual void load(QXmlStreamReader &stream)
Definition: effect.cpp:562
virtual void redraw(double timecode)
Definition: effect.cpp:998
bool enable_coords
Definition: effect.h:212
int iterations
Definition: effect.h:262
float textureTopLeftQ
Definition: effect.h:146
const EffectMeta * get_meta_from_name(const QString &input)
Definition: effect.cpp:1077
int vertexBottomRightZ
Definition: effect.h:142
virtual void startEffect()
Definition: effect.cpp:830
float textureTopRightQ
Definition: effect.h:149
void delete_self()
Definition: effect.cpp:431
EffectRow * row(int i)
Definition: effect.cpp:367
int row_count()
Definition: effect.cpp:371
bool enable_always_update
Definition: effect.h:251
QVector< EffectGizmo * > gizmos
Definition: effect.h:258
void delete_texture()
Definition: effect.cpp:1070
QVector< EffectRow * > rows
Definition: effect.h:257
void gizmo_world_to_screen()
Definition: effect.cpp:971
Definition: effectgizmo.h:41
Effect(ClipPtr c, const EffectMeta *em)
Definition: effect.cpp:115
void gizmo_move(EffectGizmo *sender, int x_movement, int y_movement, double timecode, bool done)
Definition: effect.cpp:944
void show_context_menu(const QPoint &)
Definition: effect.cpp:396
CollapsibleWidget * container
Definition: effect.h:178
void field_changed()
Definition: effect.cpp:391
void set_enabled(bool b)
Definition: effect.cpp:530
int vertexTopLeftZ
Definition: effect.h:133
int get_index_in_clip()
Definition: effect.cpp:515
float textureBottomRightY
Definition: effect.h:151
float textureBottomLeftY
Definition: effect.h:154
~Effect()
Definition: effect.cpp:332
bool valueHasChanged(double timecode)
Definition: effect.cpp:1042
virtual void process_shader(double timecode, GLTextureCoords &, int iteration)
Definition: effect.cpp:864
QOpenGLTexture * texture
Definition: effect.h:248
void close()
Definition: effect.cpp:814
QString script
Definition: effect.h:254
bool enable_image
Definition: effect.h:214
virtual void refresh()
Definition: effect.cpp:389
virtual void endEffect()
Definition: effect.cpp:842
bool is_glsl_linked()
Definition: effect.cpp:826
virtual GLuint process_superimpose(double timecode)
Definition: effect.cpp:903
int vertexTopRightX
Definition: effect.h:134
QOpenGLShaderProgram * glslProgram
Definition: effect.h:242
int vertexTopLeftX
Definition: effect.h:131
void move_down()
Definition: effect.cpp:449
std::shared_ptr< Effect > EffectPtr
Definition: effect.h:48
virtual void process_audio(double timecode_start, double timecode_end, quint8 *samples, int nb_bytes, int channel_count)
Definition: effect.cpp:940
void copy_field_keyframes(EffectPtr e)
Definition: effect.cpp:347
void save_to_file()
Definition: effect.cpp:459
int vertexBottomLeftX
Definition: effect.h:137
int vertexTopRightZ
Definition: effect.h:136
float textureBottomRightQ
Definition: effect.h:152
void setIterations(int i)
Definition: effect.cpp:851
void load_from_file()
Definition: effect.cpp:489
QString vertPath
Definition: effect.h:243
const char * ffmpeg_filter
Definition: effect.h:219
int vertexBottomLeftZ
Definition: effect.h:139
EffectInit()
Definition: effectloaders.cpp:258
EffectGizmo * add_gizmo(int type)
Definition: effect.cpp:375
EffectType
Definition: effect.h:66
int vertexTopLeftY
Definition: effect.h:132
void run()
Definition: effectloaders.cpp:262
int grid_size
Definition: effect.h:129
virtual void process_image(double timecode, uint8_t *input, uint8_t *output, int size)
Definition: effect.cpp:855
int vertexTopRightY
Definition: effect.h:135