From efbe2d187a1ddfb2e7778e0c38f4f28cff0c6f32 Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Tue, 19 Feb 2019 02:38:21 -0800 Subject: [PATCH] minor clip changes --- panels/timeline.cpp | 64 +++++++++++++++---------------- playback/cacher.cpp | 12 +++--- project/clip.cpp | 22 ++++------- project/clip.h | 4 +- ui/renderfunctions.cpp | 14 +++---- ui/timelinewidget.cpp | 86 +++++++++++++++++++++--------------------- 6 files changed, 96 insertions(+), 106 deletions(-) diff --git a/panels/timeline.cpp b/panels/timeline.cpp index 0b859c642..f61aa966b 100644 --- a/panels/timeline.cpp +++ b/panels/timeline.cpp @@ -378,7 +378,7 @@ void Timeline::add_transition() { ClipPtr c = olive::ActiveSequence->clips.at(i); if (c != nullptr && is_clip_selected(c, true)) { int transition_to_add = (c->track < 0) ? TRANSITION_INTERNAL_CROSSDISSOLVE : TRANSITION_INTERNAL_LINEARFADE; - if (c->get_opening_transition() == nullptr) { + if (c->opening_transition == nullptr) { ca->append(new AddTransitionCommand(c, nullptr, nullptr, @@ -386,7 +386,7 @@ void Timeline::add_transition() { olive::CurrentConfig.default_transition_length)); adding = true; } - if (c->get_closing_transition() == nullptr) { + if (c->closing_transition == nullptr) { ca->append(new AddTransitionCommand(nullptr, c, nullptr, @@ -850,7 +850,7 @@ ClipPtr Timeline::split_clip(ComboAction* ca, bool transitions, int p, long fram if (pre->timeline_in < frame && pre->timeline_out > frame) { // duplicate clip without duplicating its transitions, we'll restore them later - ClipPtr post = ClipPtr(pre->copy(olive::ActiveSequence, false)); + ClipPtr post = ClipPtr(pre->copy(olive::ActiveSequence)); long new_clip_length = frame - pre->timeline_in; @@ -999,15 +999,15 @@ void Timeline::clean_up_selections(QVector& areas) { bool selection_contains_transition(const Selection& s, ClipPtr c, int type) { if (type == kTransitionOpening) { - return c->get_opening_transition() != nullptr - && s.out == c->timeline_in + c->get_opening_transition()->get_true_length() - && ((c->get_opening_transition()->secondary_clip == nullptr && s.in == c->timeline_in) - || (c->get_opening_transition()->secondary_clip != nullptr && s.in == c->timeline_in - c->get_opening_transition()->get_true_length())); + return c->opening_transition != nullptr + && s.out == c->timeline_in + c->opening_transition->get_true_length() + && ((c->opening_transition->secondary_clip == nullptr && s.in == c->timeline_in) + || (c->opening_transition->secondary_clip != nullptr && s.in == c->timeline_in - c->opening_transition->get_true_length())); } else { - return c->get_closing_transition() != nullptr - && s.in == c->timeline_out - c->get_closing_transition()->get_true_length() - && ((c->get_closing_transition()->secondary_clip == nullptr && s.out == c->timeline_out) - || (c->get_closing_transition()->secondary_clip != nullptr && s.out == c->timeline_out + c->get_closing_transition()->get_true_length())); + return c->closing_transition != nullptr + && s.in == c->timeline_out - c->closing_transition->get_true_length() + && ((c->closing_transition->secondary_clip == nullptr && s.out == c->timeline_out) + || (c->closing_transition->secondary_clip != nullptr && s.out == c->timeline_out + c->closing_transition->get_true_length())); } } @@ -1044,22 +1044,22 @@ void Timeline::delete_areas_and_relink(ComboAction* ca, QVector& area // only out point is in deletion area move_clip(ca, c, c->timeline_in, s.in, c->clip_in, c->track); - if (c->get_closing_transition() != nullptr) { - if (s.in < c->timeline_out - c->get_closing_transition()->get_true_length()) { + if (c->closing_transition != nullptr) { + if (s.in < c->timeline_out - c->closing_transition->get_true_length()) { ca->append(new DeleteTransitionCommand(c->closing_transition)); } else { - ca->append(new ModifyTransitionCommand(c->closing_transition, c->get_closing_transition()->get_true_length() - (c->timeline_out - s.in))); + ca->append(new ModifyTransitionCommand(c->closing_transition, c->closing_transition->get_true_length() - (c->timeline_out - s.in))); } } } else if (c->timeline_in < s.out && c->timeline_out > s.out) { // only in point is in deletion area move_clip(ca, c, s.out, c->timeline_out, c->clip_in + (s.out - c->timeline_in), c->track); - if (c->get_opening_transition() != nullptr) { - if (s.out > c->timeline_in + c->get_opening_transition()->get_true_length()) { + if (c->opening_transition != nullptr) { + if (s.out > c->timeline_in + c->opening_transition->get_true_length()) { ca->append(new DeleteTransitionCommand(c->opening_transition)); } else { - ca->append(new ModifyTransitionCommand(c->opening_transition, c->get_opening_transition()->get_true_length() - (s.out - c->timeline_in))); + ca->append(new ModifyTransitionCommand(c->opening_transition, c->opening_transition->get_true_length() - (s.out - c->timeline_in))); } } } @@ -1596,11 +1596,11 @@ bool Timeline::snap_to_timeline(long* l, bool use_playhead, bool use_markers, bo return true; } else if (snap_to_point(c->timeline_out, l)) { return true; - } else if (c->get_opening_transition() != nullptr - && snap_to_point(c->timeline_in + c->get_opening_transition()->get_true_length(), l)) { + } else if (c->opening_transition != nullptr + && snap_to_point(c->timeline_in + c->opening_transition->get_true_length(), l)) { return true; - } else if (c->get_closing_transition() != nullptr - && snap_to_point(c->timeline_out - c->get_closing_transition()->get_true_length(), l)) { + } else if (c->closing_transition != nullptr + && snap_to_point(c->timeline_out - c->closing_transition->get_true_length(), l)) { return true; } else { // try to snap to clip markers @@ -2075,26 +2075,26 @@ void move_clip(ComboAction* ca, ClipPtr c, long iin, long iout, long iclip_in, i if (verify_transitions) { // if this is a shared transition, and the corresponding clip will be moved away somehow - if (c->get_opening_transition() != nullptr - && c->get_opening_transition()->secondary_clip != nullptr - && c->get_opening_transition()->secondary_clip->timeline_out != iin) { + if (c->opening_transition != nullptr + && c->opening_transition->secondary_clip != nullptr + && c->opening_transition->secondary_clip->timeline_out != iin) { // separate transition - ca->append(new SetPointer(reinterpret_cast(&c->get_opening_transition()->secondary_clip), nullptr)); + ca->append(new SetPointer(reinterpret_cast(&c->opening_transition->secondary_clip), nullptr)); ca->append(new AddTransitionCommand(nullptr, - c->get_opening_transition()->secondary_clip, - c->get_opening_transition(), + c->opening_transition->secondary_clip, + c->opening_transition, nullptr, 0)); } - if (c->get_closing_transition() != nullptr - && c->get_closing_transition()->secondary_clip != nullptr - && c->get_closing_transition()->parent_clip->timeline_in != iout) { + if (c->closing_transition != nullptr + && c->closing_transition->secondary_clip != nullptr + && c->closing_transition->parent_clip->timeline_in != iout) { // separate transition - ca->append(new SetPointer(reinterpret_cast(&c->get_closing_transition()->secondary_clip), nullptr)); + ca->append(new SetPointer(reinterpret_cast(&c->closing_transition->secondary_clip), nullptr)); ca->append(new AddTransitionCommand(nullptr, c, - c->get_closing_transition(), + c->closing_transition, nullptr, 0)); } diff --git a/playback/cacher.cpp b/playback/cacher.cpp index 744080115..029d0d1a2 100644 --- a/playback/cacher.cpp +++ b/playback/cacher.cpp @@ -71,28 +71,28 @@ void apply_audio_effects(ClipPtr c, double timecode_start, AVFrame* frame, int n EffectPtr e = c->effects.at(j); if (e->is_enabled()) e->process_audio(timecode_start, timecode_end, frame->data[0], nb_bytes, 2); } - if (c->get_opening_transition() != nullptr) { + if (c->opening_transition != nullptr) { if (c->media != nullptr && c->media->get_type() == MEDIA_TYPE_FOOTAGE) { double transition_start = (c->get_clip_in_with_transition() / c->sequence->frame_rate); - double transition_end = (c->get_clip_in_with_transition() + c->get_opening_transition()->get_length()) / c->sequence->frame_rate; + double transition_end = (c->get_clip_in_with_transition() + c->opening_transition->get_length()) / c->sequence->frame_rate; if (timecode_end < transition_end) { double adjustment = transition_end - transition_start; double adjusted_range_start = (timecode_start - transition_start) / adjustment; double adjusted_range_end = (timecode_end - transition_start) / adjustment; - c->get_opening_transition()->process_audio(adjusted_range_start, adjusted_range_end, frame->data[0], nb_bytes, kTransitionOpening); + c->opening_transition->process_audio(adjusted_range_start, adjusted_range_end, frame->data[0], nb_bytes, kTransitionOpening); } } } - if (c->get_closing_transition() != nullptr) { + if (c->closing_transition != nullptr) { if (c->media != nullptr && c->media->get_type() == MEDIA_TYPE_FOOTAGE) { long length_with_transitions = c->get_timeline_out_with_transition() - c->get_timeline_in_with_transition(); - double transition_start = (c->get_clip_in_with_transition() + length_with_transitions - c->get_closing_transition()->get_length()) / c->sequence->frame_rate; + double transition_start = (c->get_clip_in_with_transition() + length_with_transitions - c->closing_transition->get_length()) / c->sequence->frame_rate; double transition_end = (c->get_clip_in_with_transition() + length_with_transitions) / c->sequence->frame_rate; if (timecode_start > transition_start) { double adjustment = transition_end - transition_start; double adjusted_range_start = (timecode_start - transition_start) / adjustment; double adjusted_range_end = (timecode_end - transition_start) / adjustment; - c->get_closing_transition()->process_audio(adjusted_range_start, adjusted_range_end, frame->data[0], nb_bytes, kTransitionClosing); + c->closing_transition->process_audio(adjusted_range_start, adjusted_range_end, frame->data[0], nb_bytes, kTransitionClosing); } } } diff --git a/project/clip.cpp b/project/clip.cpp index ca333f977..b51ccefcd 100644 --- a/project/clip.cpp +++ b/project/clip.cpp @@ -60,7 +60,7 @@ Clip::Clip(SequencePtr s) : reset(); } -ClipPtr Clip::copy(SequencePtr s, bool duplicate_transitions) { +ClipPtr Clip::copy(SequencePtr s) { ClipPtr copy(new Clip(s)); copy->enabled = enabled; @@ -168,14 +168,6 @@ QVector &Clip::get_markers() { return markers; } -TransitionPtr Clip::get_opening_transition() { - return opening_transition; -} - -TransitionPtr Clip::get_closing_transition() { - return closing_transition; -} - Clip::~Clip() { if (open) { close_clip(ClipPtr(this), true); @@ -186,25 +178,25 @@ Clip::~Clip() { } long Clip::get_clip_in_with_transition() { - if (get_opening_transition() != nullptr && get_opening_transition()->secondary_clip != nullptr) { + if (opening_transition != nullptr && opening_transition->secondary_clip != nullptr) { // we must be the secondary clip, so return (timeline in - length) - return clip_in - get_opening_transition()->get_true_length(); + return clip_in - opening_transition->get_true_length(); } return clip_in; } long Clip::get_timeline_in_with_transition() { - if (get_opening_transition() != nullptr && get_opening_transition()->secondary_clip != nullptr) { + if (opening_transition != nullptr && opening_transition->secondary_clip != nullptr) { // we must be the secondary clip, so return (timeline in - length) - return timeline_in - get_opening_transition()->get_true_length(); + return timeline_in - opening_transition->get_true_length(); } return timeline_in; } long Clip::get_timeline_out_with_transition() { - if (get_closing_transition() != nullptr && get_closing_transition()->secondary_clip != nullptr) { + if (closing_transition != nullptr && closing_transition->secondary_clip != nullptr) { // we must be the primary clip, so return (timeline out + length2) - return timeline_out + get_closing_transition()->get_true_length(); + return timeline_out + closing_transition->get_true_length(); } else { return timeline_out; } diff --git a/project/clip.h b/project/clip.h index 873caad46..d9c0b9458 100644 --- a/project/clip.h +++ b/project/clip.h @@ -51,7 +51,7 @@ class Clip { public: Clip(SequencePtr s); ~Clip(); - ClipPtr copy(SequencePtr s, bool duplicate_transitions = true); + ClipPtr copy(SequencePtr s); void reset_audio(); void reset(); void refresh(); @@ -96,9 +96,7 @@ public: QList effects; QVector linked; TransitionPtr opening_transition; - TransitionPtr get_opening_transition(); TransitionPtr closing_transition; - TransitionPtr get_closing_transition(); // media handling AVFormatContext* formatCtx; diff --git a/ui/renderfunctions.cpp b/ui/renderfunctions.cpp index d6bb29abb..47f0bdbe4 100644 --- a/ui/renderfunctions.cpp +++ b/ui/renderfunctions.cpp @@ -421,18 +421,18 @@ GLuint compose_sequence(ComposeSequenceParams ¶ms) { } // if the clip has an opening transition, process that now - if (c->get_opening_transition() != nullptr) { + if (c->opening_transition != nullptr) { int transition_progress = playhead - c->get_timeline_in_with_transition(); - if (transition_progress < c->get_opening_transition()->get_length()) { - process_effect(c, c->get_opening_transition(), double(transition_progress)/double(c->get_opening_transition()->get_length()), coords, textureID, fbo_switcher, params.texture_failed, kTransitionOpening); + if (transition_progress < c->opening_transition->get_length()) { + process_effect(c, c->opening_transition, double(transition_progress)/double(c->opening_transition->get_length()), coords, textureID, fbo_switcher, params.texture_failed, kTransitionOpening); } } // if the clip has a closing transition, process that now - if (c->get_closing_transition() != nullptr) { - int transition_progress = playhead - (c->get_timeline_out_with_transition() - c->get_closing_transition()->get_length()); - if (transition_progress >= 0 && transition_progress < c->get_closing_transition()->get_length()) { - process_effect(c, c->get_closing_transition(), double(transition_progress)/double(c->get_closing_transition()->get_length()), coords, textureID, fbo_switcher, params.texture_failed, kTransitionClosing); + if (c->closing_transition != nullptr) { + int transition_progress = playhead - (c->get_timeline_out_with_transition() - c->closing_transition->get_length()); + if (transition_progress >= 0 && transition_progress < c->closing_transition->get_length()) { + process_effect(c, c->closing_transition, double(transition_progress)/double(c->closing_transition->get_length()), coords, textureID, fbo_switcher, params.texture_failed, kTransitionClosing); } } diff --git a/ui/timelinewidget.cpp b/ui/timelinewidget.cpp index 1f7901964..671626ad0 100644 --- a/ui/timelinewidget.cpp +++ b/ui/timelinewidget.cpp @@ -698,20 +698,20 @@ void TimelineWidget::mousePressEvent(QMouseEvent *event) { s.track = clip->track; // select the transition only - if (panel_timeline->transition_select == kTransitionOpening && clip->get_opening_transition() != nullptr) { + if (panel_timeline->transition_select == kTransitionOpening && clip->opening_transition != nullptr) { s.in = clip->timeline_in; - if (clip->get_opening_transition()->secondary_clip != nullptr) { - s.in -= clip->get_opening_transition()->get_true_length(); + if (clip->opening_transition->secondary_clip != nullptr) { + s.in -= clip->opening_transition->get_true_length(); } - s.out = clip->timeline_in + clip->get_opening_transition()->get_true_length(); - } else if (panel_timeline->transition_select == kTransitionClosing && clip->get_closing_transition() != nullptr) { - s.in = clip->timeline_out - clip->get_closing_transition()->get_true_length(); + s.out = clip->timeline_in + clip->opening_transition->get_true_length(); + } else if (panel_timeline->transition_select == kTransitionClosing && clip->closing_transition != nullptr) { + s.in = clip->timeline_out - clip->closing_transition->get_true_length(); s.out = clip->timeline_out; - if (clip->get_closing_transition()->secondary_clip != nullptr) { - s.out += clip->get_closing_transition()->get_true_length(); + if (clip->closing_transition->secondary_clip != nullptr) { + s.out += clip->closing_transition->get_true_length(); } } olive::ActiveSequence->selections.append(s); @@ -736,19 +736,19 @@ void TimelineWidget::mousePressEvent(QMouseEvent *event) { if (panel_timeline->tool == TIMELINE_TOOL_POINTER) { if (panel_timeline->transition_select == kTransitionOpening) { // move the selection to only select the transitoin - s.out = clip->timeline_in + clip->get_opening_transition()->get_true_length(); + s.out = clip->timeline_in + clip->opening_transition->get_true_length(); // if the transition is a "shared" transition, adjust the selection to select both sides - if (clip->get_opening_transition()->secondary_clip != nullptr) { - s.in -= clip->get_opening_transition()->get_true_length(); + if (clip->opening_transition->secondary_clip != nullptr) { + s.in -= clip->opening_transition->get_true_length(); } } else if (panel_timeline->transition_select == kTransitionClosing) { // move the selection to only select the transitoin - s.in = clip->timeline_out - clip->get_closing_transition()->get_true_length(); + s.in = clip->timeline_out - clip->closing_transition->get_true_length(); // if the transition is a "shared" transition, adjust the selection to select both sides - if (clip->get_closing_transition()->secondary_clip != nullptr) { - s.out += clip->get_closing_transition()->get_true_length(); + if (clip->closing_transition->secondary_clip != nullptr) { + s.out += clip->closing_transition->get_true_length(); } } } @@ -866,24 +866,24 @@ void make_room_for_transition(ComboAction* ca, // make room for transition if (type == kTransitionOpening) { - if (delete_old_transitions && c->get_opening_transition() != nullptr) { + if (delete_old_transitions && c->opening_transition != nullptr) { ca->append(new DeleteTransitionCommand(c->opening_transition)); } - if (c->get_closing_transition() != nullptr) { + if (c->closing_transition != nullptr) { if (transition_end >= c->timeline_out) { ca->append(new DeleteTransitionCommand(c->closing_transition)); - } else if (transition_end > c->timeline_out - c->get_closing_transition()->get_true_length()) { + } else if (transition_end > c->timeline_out - c->closing_transition->get_true_length()) { ca->append(new ModifyTransitionCommand(c->closing_transition, c->timeline_out - transition_end)); } } } else { - if (delete_old_transitions && c->get_closing_transition() != nullptr) { + if (delete_old_transitions && c->closing_transition != nullptr) { ca->append(new DeleteTransitionCommand(c->closing_transition)); } - if (c->get_opening_transition() != nullptr) { + if (c->opening_transition != nullptr) { if (transition_start <= c->timeline_in) { ca->append(new DeleteTransitionCommand(c->opening_transition)); - } else if (transition_start < c->timeline_in + c->get_opening_transition()->get_true_length()) { + } else if (transition_start < c->timeline_in + c->opening_transition->get_true_length()) { ca->append(new ModifyTransitionCommand(c->opening_transition, transition_start - c->timeline_in)); } } @@ -1259,7 +1259,7 @@ void TimelineWidget::mouseReleaseEvent(QMouseEvent *event) { // if the user was moving a transition - bool is_opening_transition = (g.transition == c->get_opening_transition()); + bool is_opening_transition = (g.transition == c->opening_transition); long new_transition_length = g.out - g.in; if (g.transition->secondary_clip != nullptr) new_transition_length >>= 1; ca->append( @@ -1560,15 +1560,15 @@ void TimelineWidget::init_ghosts() { g.in = g.old_in = c->timeline_in; g.out = g.old_out = c->timeline_out; g.ghost_length = g.old_out - g.old_in; - } else if (g.transition == c->get_opening_transition()) { + } else if (g.transition == c->opening_transition) { g.in = g.old_in = c->get_timeline_in_with_transition(); - g.ghost_length = c->get_opening_transition()->get_length(); + g.ghost_length = c->opening_transition->get_length(); g.out = g.old_out = g.in + g.ghost_length; - } else if (g.transition == c->get_closing_transition()) { + } else if (g.transition == c->closing_transition) { g.out = g.old_out = c->get_timeline_out_with_transition(); - g.ghost_length = c->get_closing_transition()->get_length(); + g.ghost_length = c->closing_transition->get_length(); g.in = g.old_in = g.out - g.ghost_length; - g.clip_in = g.old_clip_in = c->clip_in + c->getLength() - c->get_closing_transition()->get_true_length(); + g.clip_in = g.old_clip_in = c->clip_in + c->getLength() - c->closing_transition->get_true_length(); } // used for trim ops @@ -1896,7 +1896,7 @@ void TimelineWidget::update_ghosts(const QPoint& mouse_pos, bool lock_frame) { g.out = g.old_out + frame_diff; if (g.transition != nullptr - && g.transition == olive::ActiveSequence->clips.at(g.clip)->get_opening_transition()) { + && g.transition == olive::ActiveSequence->clips.at(g.clip)->opening_transition) { g.clip_in = g.old_clip_in + frame_diff; } @@ -2162,7 +2162,7 @@ void TimelineWidget::mouseMoveEvent(QMouseEvent *event) { // check if a transition is selected (prioritize transition selection) // (only the pointer tool supports moving transitions) if (panel_timeline->tool == TIMELINE_TOOL_POINTER - && (c->get_opening_transition() != nullptr || c->get_closing_transition() != nullptr)) { + && (c->opening_transition != nullptr || c->closing_transition != nullptr)) { // check if any selections contain a whole transition for (int j=0;jselections.size();j++) { @@ -2172,13 +2172,13 @@ void TimelineWidget::mouseMoveEvent(QMouseEvent *event) { if (s.track == c->track) { if (selection_contains_transition(s, c, kTransitionOpening)) { - g.transition = c->get_opening_transition(); + g.transition = c->opening_transition; add = true; break; } else if (selection_contains_transition(s, c, kTransitionClosing)) { - g.transition = c->get_closing_transition(); + g.transition = c->closing_transition; add = true; break; @@ -2542,13 +2542,13 @@ void TimelineWidget::mouseMoveEvent(QMouseEvent *event) { tooltip_clip = i; // check if the cursor is specifically hovering over one of the clip's transitions - if (c->get_opening_transition() != nullptr - && panel_timeline->cursor_frame <= c->timeline_in + c->get_opening_transition()->get_true_length()) { + if (c->opening_transition != nullptr + && panel_timeline->cursor_frame <= c->timeline_in + c->opening_transition->get_true_length()) { panel_timeline->transition_select = kTransitionOpening; - } else if (c->get_closing_transition() != nullptr - && panel_timeline->cursor_frame >= c->timeline_out - c->get_closing_transition()->get_true_length()) { + } else if (c->closing_transition != nullptr + && panel_timeline->cursor_frame >= c->timeline_out - c->closing_transition->get_true_length()) { panel_timeline->transition_select = kTransitionClosing; @@ -2596,10 +2596,10 @@ void TimelineWidget::mouseMoveEvent(QMouseEvent *event) { if (panel_timeline->tool == TIMELINE_TOOL_POINTER) { // if the clip has an opening transition - if (c->get_opening_transition() != nullptr) { + if (c->opening_transition != nullptr) { // cache the timeline frame where the transition ends - long transition_point = c->timeline_in + c->get_opening_transition()->get_true_length(); + long transition_point = c->timeline_in + c->opening_transition->get_true_length(); // check if the cursor is hovering around it (within the threshold) if (transition_point > mouse_frame_lower && transition_point < mouse_frame_upper) { @@ -2617,10 +2617,10 @@ void TimelineWidget::mouseMoveEvent(QMouseEvent *event) { } // if the clip has a closing transition - if (c->get_closing_transition() != nullptr) { + if (c->closing_transition != nullptr) { // cache the timeline frame where the transition starts - long transition_point = c->timeline_out - c->get_closing_transition()->get_true_length(); + long transition_point = c->timeline_out - c->closing_transition->get_true_length(); // check if the cursor is hovering around it (within the threshold) if (transition_point > mouse_frame_lower && transition_point < mouse_frame_upper) { @@ -2838,7 +2838,7 @@ void draw_waveform(ClipPtr clip, const FootageStream* ms, long media_length, QPa } void draw_transition(QPainter& p, ClipPtr c, const QRect& clip_rect, QRect& text_rect, int transition_type) { - TransitionPtr t = (transition_type == kTransitionOpening) ? c->get_opening_transition() : c->get_closing_transition(); + TransitionPtr t = (transition_type == kTransitionOpening) ? c->opening_transition : c->closing_transition; if (t != nullptr) { QColor transition_color(255, 0, 0, 16); int transition_width = getScreenPointFromFrame(panel_timeline->zoom, t->get_true_length()); @@ -2988,13 +2988,13 @@ void TimelineWidget::paintEvent(QPaintEvent*) { int thumb_y = p.fontMetrics().height()+olive::timeline::kClipTextPadding+olive::timeline::kClipTextPadding; if (thumb_x < width() && thumb_y < height()) { int space_for_thumb = clip_rect.width()-1; - if (clip->get_opening_transition() != nullptr) { - int ot_width = getScreenPointFromFrame(panel_timeline->zoom, clip->get_opening_transition()->get_true_length()); + if (clip->opening_transition != nullptr) { + int ot_width = getScreenPointFromFrame(panel_timeline->zoom, clip->opening_transition->get_true_length()); thumb_x += ot_width; space_for_thumb -= ot_width; } - if (clip->get_closing_transition() != nullptr) { - space_for_thumb -= getScreenPointFromFrame(panel_timeline->zoom, clip->get_closing_transition()->get_true_length()); + if (clip->closing_transition != nullptr) { + space_for_thumb -= getScreenPointFromFrame(panel_timeline->zoom, clip->closing_transition->get_true_length()); } int thumb_height = clip_rect.height()-thumb_y; int thumb_width = qRound(thumb_height*(double(ms->video_preview.width())/double(ms->video_preview.height())));