Files
oak-editor/project/effect.h
T
2018-06-10 23:39:28 -07:00

42 lines
853 B
C++

#ifndef EFFECT_H
#define EFFECT_H
#include <QObject>
#include <QString>
class QWidget;
class CollapsibleWidget;
struct Clip;
class QXmlStreamReader;
class QXmlStreamWriter;
enum EffectTypes { EFFECT_TYPE_INVALID, EFFECT_TYPE_VIDEO, EFFECT_TYPE_AUDIO };
class Effect : public QObject
{
Q_OBJECT
public:
Effect(Clip* c); // default constructor
int type;
int id;
QString name;
CollapsibleWidget* container;
QWidget* ui;
Clip* parent_clip;
virtual Effect* copy();
virtual void load(QXmlStreamReader* stream);
virtual void save(QXmlStreamWriter* stream);
virtual void process_gl(int* anchor_x, int* anchor_y);
virtual void process_audio(uint8_t* samples, int nb_bytes);
public slots:
void field_changed();
protected:
void setup_effect(int t, int i);
};
#endif // EFFECT_H