本文整理汇总了C++中WaveTrack::GetEnvelope方法的典型用法代码示例。如果您正苦于以下问题:C++ WaveTrack::GetEnvelope方法的具体用法?C++ WaveTrack::GetEnvelope怎么用?C++ WaveTrack::GetEnvelope使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WaveTrack
的用法示例。
在下文中一共展示了WaveTrack::GetEnvelope方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Copy
bool WaveTrack::Copy(double t0, double t1, Track **dest)
{
if (t1 < t0)
return false;
sampleCount s0, s1;
TimeToSamplesClip(t0, &s0);
TimeToSamplesClip(t1, &s1);
WaveTrack *newTrack = new WaveTrack(mDirManager);
newTrack->Init(*this);
delete newTrack->mSequence;
newTrack->mSequence = NULL;
if (!mSequence->Copy(s0, s1, &newTrack->mSequence)) {
// Error
*dest = NULL;
delete newTrack;
return false;
}
newTrack->GetEnvelope()->CopyFrom(GetEnvelope(), t0, t1);
*dest = newTrack;
MarkChanged();
return true;
}
示例2: Cut
bool WaveTrack::Cut(double t0, double t1, Track **dest)
{
bool success;
sampleCount s0, s1;
WaveTrack *newTrack;
if (t1 < t0)
return false;
TimeToSamplesClip(t0, &s0);
TimeToSamplesClip(t1, &s1);
newTrack = new WaveTrack(mDirManager);
delete newTrack->mSequence;
newTrack->mSequence = NULL;
success = mSequence->Copy(s0, s1, &newTrack->mSequence);
if (success)
success = mSequence->Delete(s0, s1-s0);
if (!success) {
*dest = NULL;
delete newTrack;
return false;
}
newTrack->GetEnvelope()->CopyFrom(GetEnvelope(), t0, t1);
mEnvelope->CollapseRegion(t0, t1);
*dest = newTrack;
MarkChanged();
return true;
}