diff --git a/app/node/block/clip/clip.cpp b/app/node/block/clip/clip.cpp index c61003ab9..4e5cfdb81 100644 --- a/app/node/block/clip/clip.cpp +++ b/app/node/block/clip/clip.cpp @@ -142,6 +142,10 @@ rational ClipBlock::SequenceToMediaTime(const rational &sequence_time, bool igno rational media_time = sequence_time; + if (reverse() && !ignore_reverse) { + media_time = length() - media_time; + } + if (!ignore_speed) { double speed_value = speed(); if (qIsNull(speed_value)) { @@ -153,10 +157,6 @@ rational ClipBlock::SequenceToMediaTime(const rational &sequence_time, bool igno } } - if (reverse() && !ignore_reverse) { - media_time = length() - media_time; - } - media_time += media_in(); return media_time; @@ -171,10 +171,6 @@ rational ClipBlock::MediaToSequenceTime(const rational &media_time) const rational sequence_time = media_time - media_in(); - if (reverse()) { - sequence_time = length() - sequence_time; - } - double speed_value = speed(); if (qIsNull(speed_value)) { // I don't know what to return here yet... @@ -184,6 +180,10 @@ rational ClipBlock::MediaToSequenceTime(const rational &media_time) const sequence_time = rational::fromDouble(sequence_time.toDouble() / speed_value); } + if (reverse()) { + sequence_time = length() - sequence_time; + } + return sequence_time; }