clip: fix issue with trimming in point of speed adjusted clip

This commit is contained in:
itsmattkc
2022-08-15 18:24:17 -07:00
parent f091ad5a47
commit 4a22bf71e7
2 changed files with 6 additions and 9 deletions
+2 -5
View File
@@ -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);
+4 -4
View File
@@ -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;