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:
@@ -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
|
void TimingData::GetActualBPM( float &fMinBPMOut, float &fMaxBPMOut, float highest ) const
|
||||||
{
|
{
|
||||||
fMinBPMOut = FLT_MAX;
|
fMinBPMOut = FLT_MAX;
|
||||||
|
|||||||
@@ -51,6 +51,8 @@ public:
|
|||||||
TimingData(float fOffset = 0);
|
TimingData(float fOffset = 0);
|
||||||
|
|
||||||
~TimingData();
|
~TimingData();
|
||||||
|
|
||||||
|
TimingData CopyRange(int startRow, int endRow);
|
||||||
/**
|
/**
|
||||||
* @brief Gets the actual BPM of the song,
|
* @brief Gets the actual BPM of the song,
|
||||||
* while respecting a limit.
|
* while respecting a limit.
|
||||||
|
|||||||
Reference in New Issue
Block a user