implemented auto-scaling

This commit is contained in:
itsmattkc
2018-09-24 14:40:58 +10:00
parent 64d6c3a874
commit b88468f9e3
11 changed files with 88 additions and 7 deletions
+3 -1
View File
@@ -3,6 +3,7 @@
#include "effects/effect.h"
#include "effects/transition.h"
#include "io/media.h"
#include "io/config.h"
#include "playback/playback.h"
#include "playback/cacher.h"
#include "panels/project.h"
@@ -30,7 +31,7 @@ Clip::Clip(Sequence* s) :
replaced(false),
texture(NULL),
fbo(NULL),
autoscale(false)
autoscale(config.autoscale_by_default)
{
reset();
}
@@ -51,6 +52,7 @@ Clip* Clip::copy(Sequence* s) {
copy->media = media;
copy->media_type = media_type;
copy->media_stream = media_stream;
copy->autoscale = autoscale;
for (int i=0;i<effects.size();i++) {
copy->effects.append(effects.at(i)->copy(copy));
+16
View File
@@ -10,6 +10,7 @@
#include "panels/panels.h"
#include "panels/project.h"
#include "panels/effectcontrols.h"
#include "panels/viewer.h"
#include "playback/playback.h"
#include "ui/sourcetable.h"
#include "effects/effect.h"
@@ -17,6 +18,7 @@
#include "playback/cacher.h"
#include "effects/transition.h"
#include "ui/labelslider.h"
#include "ui/viewerwidget.h"
QUndoStack undo_stack;
@@ -1318,3 +1320,17 @@ void EffectFieldUndo::redo() {
field->set_current_data(new_val);
}
}
void SetAutoscaleAction::undo() {
for (int i=0;i<clips.size();i++) {
clips.at(i)->autoscale = !clips.at(i)->autoscale;
}
panel_viewer->viewer_widget->update();
}
void SetAutoscaleAction::redo() {
for (int i=0;i<clips.size();i++) {
clips.at(i)->autoscale = !clips.at(i)->autoscale;
}
panel_viewer->viewer_widget->update();
}
+7
View File
@@ -441,4 +441,11 @@ private:
bool done;
};
class SetAutoscaleAction : public QUndoCommand {
public:
void undo();
void redo();
QVector<Clip*> clips;
};
#endif // UNDO_H