mirror of
https://github.com/cookiengineer/audacity
synced 2025-11-23 17:30:17 +01:00
Define new virtual functions Track::GetIntervals (const and non-const)
This commit is contained in:
@@ -84,6 +84,28 @@ LabelTrack::LabelTrack(const LabelTrack &orig) :
|
||||
}
|
||||
}
|
||||
|
||||
template< typename Container >
|
||||
static Container MakeIntervals(const LabelArray &labels)
|
||||
{
|
||||
Container result;
|
||||
size_t ii = 0;
|
||||
for (const auto &label : labels)
|
||||
result.emplace_back(
|
||||
label.getT0(), label.getT1(),
|
||||
std::make_unique<LabelTrack::IntervalData>( ii++ ) );
|
||||
return result;
|
||||
}
|
||||
|
||||
auto LabelTrack::GetIntervals() const -> ConstIntervals
|
||||
{
|
||||
return MakeIntervals<ConstIntervals>(mLabels);
|
||||
}
|
||||
|
||||
auto LabelTrack::GetIntervals() -> Intervals
|
||||
{
|
||||
return MakeIntervals<Intervals>(mLabels);
|
||||
}
|
||||
|
||||
void LabelTrack::SetLabel( size_t iLabel, const LabelStruct &newLabel )
|
||||
{
|
||||
if( iLabel >= mLabels.size() ) {
|
||||
|
||||
Reference in New Issue
Block a user