made tone effect, doesn't yet work on NULL clips

This commit is contained in:
itsmattkc
2018-09-09 16:36:50 +10:00
parent 779e6b0a24
commit 96802e971a
14 changed files with 141 additions and 41 deletions
+7 -3
View File
@@ -126,13 +126,17 @@ void TimelineHeader::paintEvent(QPaintEvent*) {
QPainter p(this);
p.setPen(Qt::gray);
int interval = 0;
int multiplier = 0;
int multiplier = 0;
do {
multiplier++;
interval = getScreenPointFromFrame(zoom, sequence->frame_rate*multiplier);
interval = getScreenPointFromFrame(zoom, 1*multiplier);
} while (interval < 10);
for (int i=0;i<width();i+=interval) {
p.drawLine(i, 0, i, height());
int drawHeight = height();
if (i%5 > 0) {
drawHeight = drawHeight>>1;
}
p.drawLine(i, 0, i, drawHeight);
}
// draw in/out selection
+19 -9
View File
@@ -26,6 +26,7 @@
#include <QMenu>
#include <QMessageBox>
#include <QtMath>
#include <QScrollBar>
#define MAX_TEXT_WIDTH 20
@@ -542,14 +543,6 @@ void TimelineWidget::mouseReleaseEvent(QMouseEvent *event) {
c->color_b = 64;
c->track = g.track;
Selection s;
s.in = c->timeline_in;
s.out = c->timeline_out;
s.track = c->track;
QVector<Selection> areas;
areas.append(s);
panel_timeline->delete_areas_and_relink(ta, areas);
QVector<Clip*> add;
add.append(c);
ta->add_clips(sequence, add);
@@ -566,11 +559,23 @@ void TimelineWidget::mouseReleaseEvent(QMouseEvent *event) {
ta->add_effect(sequence, clipIndex, VIDEO_SOLID_EFFECT);
break;
case ADD_OBJ_BARS:
c->name = "Bars and Tone";
c->name = "Bars";
ta->add_effect(sequence, clipIndex, VIDEO_SOLID_EFFECT);
break;
case ADD_OBJ_TONE:
c->name = "Tone";
ta->add_effect(sequence, clipIndex, AUDIO_TONE_EFFECT);
break;
}
Selection s;
s.in = c->timeline_in;
s.out = c->timeline_out;
s.track = c->track;
QVector<Selection> areas;
areas.append(s);
panel_timeline->delete_areas_and_relink(ta, areas);
undo_stack.push(ta);
// pretty hacky
@@ -1650,7 +1655,12 @@ void TimelineWidget::redraw_clips() {
if (minimumWidth() != panel_width || clip_pixmap.height() != height() || panel_height != minimumHeight()) {
panel_timeline->ui->headers->setMinimumWidth(panel_width + 100);
setMinimumWidth(panel_width);
int scrollOffset = (panel_height-minimumHeight());
setMinimumHeight(panel_height);
if (bottom_align) {
updateGeometry();
container->verticalScrollBar()->setValue(container->verticalScrollBar()->value()+scrollOffset);
}
clip_pixmap = QPixmap(qMax(width(), panel_width), qMax(height(), panel_height));
}
+2 -1
View File
@@ -14,6 +14,7 @@ struct Sequence;
struct Clip;
class Timeline;
class TimelineAction;
class QScrollArea;
bool same_sign(int a, int b);
@@ -26,7 +27,7 @@ public:
void redraw_clips();
QWidget* container;
QScrollArea* container;
protected:
void paintEvent(QPaintEvent*);
void resizeEvent(QResizeEvent*);
+1 -1
View File
@@ -309,7 +309,7 @@ GLuint ViewerWidget::compose_sequence(Clip* nest, bool render_audio) {
glPopMatrix();
} else {
if (c->media_type == MEDIA_TYPE_FOOTAGE
if ((c->media_type == MEDIA_TYPE_FOOTAGE || c->media_type == MEDIA_TYPE_SOLID)
&& render_audio
&& c->lock.tryLock()) {
// clip is not caching, start caching audio