diff --git a/app/node/block/clip/clip.cpp b/app/node/block/clip/clip.cpp index 1b8fed631..b94bd0c0e 100644 --- a/app/node/block/clip/clip.cpp +++ b/app/node/block/clip/clip.cpp @@ -92,7 +92,6 @@ void ClipBlock::set_length_and_media_out(const rational &length) if (reverse()) { // Calculate media_in adjustment - rational proposed_media_in = SequenceToMediaTime(this->length() - length, kSTMIgnoreReverse | kSTMIgnoreLoop); set_media_in(proposed_media_in); } @@ -108,11 +107,9 @@ void ClipBlock::set_length_and_media_in(const rational &length) if (!reverse()) { // Calculate media_in adjustment - rational proposed_media_in = SequenceToMediaTime(this->length() - length, kSTMIgnoreSpeed | kSTMIgnoreLoop); + waveform_.TrimIn(SequenceToMediaTime(this->length() - length, kSTMIgnoreSpeed | kSTMIgnoreLoop) - media_in()); - waveform_.TrimIn(proposed_media_in - media_in()); - - set_media_in(proposed_media_in); + set_media_in(SequenceToMediaTime(this->length() - length, kSTMIgnoreLoop)); } else { // Trim waveform out point waveform_.TrimIn(this->length() - length); diff --git a/app/node/block/clip/clip.h b/app/node/block/clip/clip.h index 6b625eb53..c6571d2b1 100644 --- a/app/node/block/clip/clip.h +++ b/app/node/block/clip/clip.h @@ -148,10 +148,10 @@ protected: private: enum SequenceToMediaTimeFlag { - kSTMNone, - kSTMIgnoreReverse, - kSTMIgnoreSpeed, - kSTMIgnoreLoop + kSTMNone = 0x0, + kSTMIgnoreReverse = 0x1, + kSTMIgnoreSpeed = 0x2, + kSTMIgnoreLoop = 0x4 }; rational SequenceToMediaTime(const rational& sequence_time, uint64_t flags = kSTMNone) const;