Add a function to copy TimingData over a range.

This is primarily for the editor. Still, it may
have other uses.
This commit is contained in:
Jason Felds
2011-07-26 13:41:41 -04:00
parent 679b81705b
commit 75b3a67e2a
2 changed files with 22 additions and 0 deletions
+20
View File
@@ -17,6 +17,26 @@ TimingData::~TimingData()
{
}
TimingData TimingData::CopyRange(int startRow, int endRow)
{
TimingData tmp;
for (unsigned i = 0; i < NUM_TimingSegmentType; i++)
{
for (unsigned j = 0; j < this->allTimingSegments[i].size(); j++)
{
int row = this->allTimingSegments[i][j]->GetRow();
if (row >= startRow && row < endRow)
{
tmp.AddSegment(static_cast<TimingSegmentType>(i),
this->allTimingSegments[i][j]);
}
}
}
return tmp;
}
void TimingData::GetActualBPM( float &fMinBPMOut, float &fMaxBPMOut, float highest ) const
{
fMinBPMOut = FLT_MAX;
+2
View File
@@ -51,6 +51,8 @@ public:
TimingData(float fOffset = 0);
~TimingData();
TimingData CopyRange(int startRow, int endRow);
/**
* @brief Gets the actual BPM of the song,
* while respecting a limit.