本文整理汇总了C++中Part::end方法的典型用法代码示例。如果您正苦于以下问题:C++ Part::end方法的具体用法?C++ Part::end怎么用?C++ Part::end使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Part
的用法示例。
在下文中一共展示了Part::end方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: reduceParts
void Demidify::reduceParts(Song *song, size_t trackNo)
{
if (verbose >= 2)
out << " | | +- Trying to compact Parts (there are "
<< (*song)[trackNo]->size() << ")...\n";
size_t pos = 0;
size_t partsCompacted = 0;
while (pos < (*song)[trackNo]->size()-1)
{
Part *first = (*(*song)[trackNo])[pos];
Part *second = (*(*song)[trackNo])[pos+1];
if (first->phrase()->title() == second->phrase()->title())
{
if (!first->repeat())
{
first->setRepeat(second->start() - first->start());
(*song)[trackNo]->remove(second);
first->setEnd(second->end());
delete second;
++partsCompacted;
continue;
}
else
{
Clock startTime = first->start();
Clock repeat = first->repeat();
while(startTime+repeat <= second->start()) startTime += repeat;
if (startTime != second->start())
{
++pos;
continue;
}
if (second->end() - second->start() > repeat)
{
++pos;
continue;
}
(*song)[trackNo]->remove(second);
first->setEnd(second->end());
delete second;
++partsCompacted;
}
}
else
{
++pos;
}
}
if (verbose >= 2)
out << " | | | +- compacted " << partsCompacted
<< " Parts\n";
}
示例2: display
void display(Song *s)
{
for (int n = 0; n < s->size(); ++n)
{
Track *t = s->track(n);
cout << "-- ";
for (int m = 0; m < t->size(); ++m)
{
Part *p = (*t)[m];
cout << "|"<<p->phrase()->title();
cout << ","<<p->start()<<"-"<<p->end();
cout <<"| ";
}
cout << "\n";
}
}