timeline: copy waveform when copying

This commit is contained in:
itsmattkc
2021-08-25 12:27:26 -07:00
parent dc66c30357
commit 6bd7bc4cca
4 changed files with 22 additions and 3 deletions
+12 -3
View File
@@ -164,7 +164,7 @@ void AudioVisualWaveform::OverwriteSums(const AudioVisualWaveform &sums, const r
copy_len * sizeof(SamplePerChannel));
}
length_ = qMax(length_, dest + length);
length_ = qMax(length_, dest + ((length.isNull()) ? sums.length() - offset : length));
}
void AudioVisualWaveform::OverwriteSilence(const rational &start, const rational &length)
@@ -233,7 +233,7 @@ void AudioVisualWaveform::Shift(const rational &from, const rational &to)
}
}
length_ += (to-from);
length_ = qMax(rational(0), length_ + (to-from));
}
void AudioVisualWaveform::TrimIn(const rational &length)
@@ -256,7 +256,16 @@ void AudioVisualWaveform::TrimIn(const rational &length)
}
}
length_ -= length;
length_ = qMax(rational(0), length_ - length);
}
AudioVisualWaveform AudioVisualWaveform::Mid(const rational &offset) const
{
AudioVisualWaveform mid = *this;
mid.TrimIn(offset);
return mid;
}
AudioVisualWaveform::Sample AudioVisualWaveform::GetSummaryFromTime(const rational &start, const rational &length) const