mirror of
https://github.com/cookiengineer/audacity
synced 2025-07-27 14:09:33 +02:00
Count stereo tracks as one track, not two.
The TrackIterator actually iterates through channels, so we need to skip the linked tracks when counting.
This commit is contained in:
parent
fe2dfca3e0
commit
d6302bc370
@ -1894,17 +1894,34 @@ void TrackPanel::SelectTrack(Track *pTrack, bool selected, bool updateLastPicked
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Counts tracks, counting stereo tracks as one track.
|
||||||
size_t TrackPanel::GetTrackCount(){
|
size_t TrackPanel::GetTrackCount(){
|
||||||
auto tracks = GetTracks();
|
size_t count = 0;
|
||||||
return (size_t)tracks->GetCount();
|
|
||||||
|
TrackListIterator iter(GetTracks());
|
||||||
|
for (Track *t = iter.First(); t; t = iter.Next()) {
|
||||||
|
count += 1;
|
||||||
|
if( t->GetLinked() ){
|
||||||
|
t = iter.Next();
|
||||||
|
if( !t )
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Counts selected tracks, counting stereo tracks as one track.
|
||||||
size_t TrackPanel::GetSelectedTrackCount(){
|
size_t TrackPanel::GetSelectedTrackCount(){
|
||||||
size_t count = 0;
|
size_t count = 0;
|
||||||
|
|
||||||
TrackListIterator iter(GetTracks());
|
TrackListIterator iter(GetTracks());
|
||||||
for (Track *t = iter.First(); t; t = iter.Next()) {
|
for (Track *t = iter.First(); t; t = iter.Next()) {
|
||||||
count += t->GetSelected() ? 1:0;
|
count += t->GetSelected() ? 1:0;
|
||||||
|
if( t->GetLinked() ){
|
||||||
|
t = iter.Next();
|
||||||
|
if( !t )
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user