Simplify by removing many std::move of shared_ptr to tracks...
... Don't need them, as we did with std::unique_ptr
This commit is contained in:
parent
a0aa69a248
commit
41175e94cd
|
@ -392,7 +392,7 @@ bool LabelDialog::TransferDataFromWindow()
|
|||
// Create the NEW track and add to track list
|
||||
auto newTrack = mFactory.NewLabelTrack();
|
||||
newTrack->SetName(name);
|
||||
mTracks->Add(std::move(newTrack));
|
||||
mTracks->Add( newTrack );
|
||||
tndx++;
|
||||
}
|
||||
|
||||
|
|
|
@ -188,8 +188,7 @@ void MixAndRender(TrackList *tracks, TrackFactory *trackFactory,
|
|||
return;
|
||||
}
|
||||
else {
|
||||
uLeft = std::move(mixLeft),
|
||||
uRight = std::move(mixRight);
|
||||
uLeft = mixLeft, uRight = mixRight;
|
||||
#if 0
|
||||
int elapsedMS = wxGetElapsedTime();
|
||||
double elapsedTime = elapsedMS * 0.001;
|
||||
|
|
|
@ -4197,7 +4197,7 @@ AudacityProject::AddImportedTracks(const FilePath &fileName,
|
|||
auto first = group.begin()->get();
|
||||
auto nChannels = group.size();
|
||||
for (auto &uNewTrack : group) {
|
||||
auto newTrack = mTracks->Add(std::move(uNewTrack));
|
||||
auto newTrack = mTracks->Add( uNewTrack );
|
||||
results.push_back(newTrack->SharedPointer());
|
||||
}
|
||||
mTracks->GroupChannels(*first, nChannels);
|
||||
|
@ -5226,7 +5226,7 @@ void AudacityProject::OnAudioIOStopRecording()
|
|||
// Make a track with labels for recording errors
|
||||
auto uTrack = GetTrackFactory()->NewLabelTrack();
|
||||
auto pTrack = uTrack.get();
|
||||
GetTracks()->Add( std::move(uTrack) );
|
||||
GetTracks()->Add( uTrack );
|
||||
/* i18n-hint: A name given to a track, appearing as its menu button.
|
||||
The translation should be short or else it will not display well.
|
||||
At most, about 11 Latin characters.
|
||||
|
|
|
@ -706,11 +706,11 @@ auto TrackList::FindLeader( Track *pTrack )
|
|||
void TrackList::Permute(const std::vector<TrackNodePointer> &permutation)
|
||||
{
|
||||
for (const auto iter : permutation) {
|
||||
ListOfTracks::value_type track = std::move(*iter.first);
|
||||
ListOfTracks::value_type track = *iter.first;
|
||||
erase(iter.first);
|
||||
Track *pTrack = track.get();
|
||||
pTrack->SetOwner(mSelf,
|
||||
{ insert(ListOfTracks::end(), std::move(track)), this });
|
||||
{ insert(ListOfTracks::end(), track), this });
|
||||
}
|
||||
auto n = getBegin();
|
||||
RecalcPositions(n);
|
||||
|
@ -805,7 +805,7 @@ void TrackList::GroupChannels(
|
|||
THROW_INCONSISTENCY_EXCEPTION;
|
||||
}
|
||||
|
||||
auto TrackList::Replace(Track * t, ListOfTracks::value_type &&with) ->
|
||||
auto TrackList::Replace(Track * t, const ListOfTracks::value_type &with) ->
|
||||
ListOfTracks::value_type
|
||||
{
|
||||
ListOfTracks::value_type holder;
|
||||
|
@ -813,10 +813,10 @@ auto TrackList::Replace(Track * t, ListOfTracks::value_type &&with) ->
|
|||
auto node = t->GetNode();
|
||||
t->SetOwner({}, {});
|
||||
|
||||
holder = std::move(*node.first);
|
||||
holder = *node.first;
|
||||
|
||||
Track *pTrack = with.get();
|
||||
*node.first = std::move(with);
|
||||
*node.first = with;
|
||||
pTrack->SetOwner(mSelf, node);
|
||||
pTrack->SetId( t->GetId() );
|
||||
RecalcPositions(node);
|
||||
|
@ -835,7 +835,7 @@ TrackNodePointer TrackList::Remove(Track *t)
|
|||
t->SetOwner({}, {});
|
||||
|
||||
if ( !isNull( node ) ) {
|
||||
ListOfTracks::value_type holder = std::move( *node.first );
|
||||
ListOfTracks::value_type holder = *node.first;
|
||||
|
||||
result = getNext( node );
|
||||
erase(node.first);
|
||||
|
@ -973,7 +973,7 @@ void TrackList::SwapNodes(TrackNodePointer s1, TrackNodePointer s2)
|
|||
saved.resize( nn );
|
||||
// Save them in backwards order
|
||||
while( nn-- )
|
||||
saved[nn] = std::move( *s.first ), s.first = erase(s.first);
|
||||
saved[nn] = *s.first, s.first = erase(s.first);
|
||||
};
|
||||
|
||||
doSave( saved1, s1 );
|
||||
|
@ -992,7 +992,7 @@ void TrackList::SwapNodes(TrackNodePointer s1, TrackNodePointer s2)
|
|||
// Insert before s, and reassign s to point at the new node before
|
||||
// old s; which is why we saved pointers in backwards order
|
||||
pTrack->SetOwner(mSelf,
|
||||
s = { insert(s.first, std::move(pointer)), this } );
|
||||
s = { insert(s.first, pointer), this } );
|
||||
};
|
||||
// This does not invalidate s2 even when it equals s1:
|
||||
doInsert( saved2, s1 );
|
||||
|
@ -1216,8 +1216,7 @@ TrackList::RegisterPendingChangedTrack( Updater updater, Track *src )
|
|||
|
||||
void TrackList::RegisterPendingNewTrack( const std::shared_ptr<Track> &pTrack )
|
||||
{
|
||||
auto copy = pTrack;
|
||||
Add<Track>( std::move( copy ) );
|
||||
Add<Track>( pTrack );
|
||||
pTrack->SetId( TrackId{} );
|
||||
}
|
||||
|
||||
|
@ -1290,7 +1289,7 @@ bool TrackList::ApplyPendingTracks()
|
|||
if (pendingTrack) {
|
||||
auto src = FindById( pendingTrack->GetId() );
|
||||
if (src)
|
||||
this->Replace(src, std::move(pendingTrack)), result = true;
|
||||
this->Replace(src, pendingTrack), result = true;
|
||||
else
|
||||
// Perhaps a track marked for pending changes got deleted by
|
||||
// some other action. Recreate it so we don't lose the
|
||||
|
@ -1302,7 +1301,7 @@ bool TrackList::ApplyPendingTracks()
|
|||
// If there are tracks to reinstate, append them to the list.
|
||||
for (auto &pendingTrack : reinstated)
|
||||
if (pendingTrack)
|
||||
this->Add(std::move(pendingTrack)), result = true;
|
||||
this->Add( pendingTrack ), result = true;
|
||||
|
||||
// Put the pending added tracks back into the list, preserving their
|
||||
// positions.
|
||||
|
|
|
@ -1391,7 +1391,8 @@ public:
|
|||
|
||||
/// Replace first track with second track, give back a holder
|
||||
/// Give the replacement the same id as the replaced
|
||||
ListOfTracks::value_type Replace(Track * t, ListOfTracks::value_type &&with);
|
||||
ListOfTracks::value_type Replace(
|
||||
Track * t, const ListOfTracks::value_type &with);
|
||||
|
||||
/// Remove this Track or all children of this TrackList.
|
||||
/// Return an iterator to what followed the removed track.
|
||||
|
|
|
@ -2087,7 +2087,7 @@ Effect::AddedAnalysisTrack::AddedAnalysisTrack(Effect *pEffect, const wxString &
|
|||
mpTrack = pTrack.get();
|
||||
if (!name.empty())
|
||||
pTrack->SetName(name);
|
||||
pEffect->mTracks->Add(std::move(pTrack));
|
||||
pEffect->mTracks->Add( pTrack );
|
||||
}
|
||||
|
||||
Effect::AddedAnalysisTrack::AddedAnalysisTrack(AddedAnalysisTrack &&that)
|
||||
|
@ -2134,7 +2134,7 @@ Effect::ModifiedAnalysisTrack::ModifiedAnalysisTrack
|
|||
// So it's okay that we cast it back to const
|
||||
mpOrigTrack =
|
||||
pEffect->mTracks->Replace(const_cast<LabelTrack*>(pOrigTrack),
|
||||
std::move(newTrack) );
|
||||
newTrack );
|
||||
}
|
||||
|
||||
Effect::ModifiedAnalysisTrack::ModifiedAnalysisTrack(ModifiedAnalysisTrack &&that)
|
||||
|
@ -2156,7 +2156,7 @@ Effect::ModifiedAnalysisTrack::~ModifiedAnalysisTrack()
|
|||
// not committed -- DELETE the label track
|
||||
// mpOrigTrack came from mTracks which we own but expose as const to subclasses
|
||||
// So it's okay that we cast it back to const
|
||||
mpEffect->mTracks->Replace(mpTrack, std::move(mpOrigTrack));
|
||||
mpEffect->mTracks->Replace(mpTrack, mpOrigTrack);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2195,7 +2195,7 @@ void Effect::ReplaceProcessedTracks(const bool bGoodResult)
|
|||
size_t i = 0;
|
||||
|
||||
for (; iterOut != iterEnd; ++i) {
|
||||
ListOfTracks::value_type o = std::move(*iterOut);
|
||||
ListOfTracks::value_type o = *iterOut;
|
||||
// If tracks were removed from mOutputTracks, then there will be
|
||||
// tracks in the map that must be removed from mTracks.
|
||||
while (i < cnt && mOMap[i] != o.get()) {
|
||||
|
@ -2216,19 +2216,18 @@ void Effect::ReplaceProcessedTracks(const bool bGoodResult)
|
|||
if (t == NULL)
|
||||
{
|
||||
// This track is a NEW addition to output tracks; add it to mTracks
|
||||
mTracks->Add(std::move(o));
|
||||
mTracks->Add( o );
|
||||
}
|
||||
else
|
||||
{
|
||||
// Replace mTracks entry with the NEW track
|
||||
auto newTrack = o.get();
|
||||
mTracks->Replace(t, std::move(o));
|
||||
mTracks->Replace(t, o);
|
||||
|
||||
// If the track is a wave track,
|
||||
// Swap the wavecache track the ondemand task uses, since now the NEW
|
||||
// one will be kept in the project
|
||||
if (ODManager::IsInstanceCreated()) {
|
||||
ODManager::Instance()->ReplaceWaveTrack( t, newTrack );
|
||||
ODManager::Instance()->ReplaceWaveTrack( t, o.get() );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2544,12 +2543,12 @@ void Effect::Preview(bool dryOnly)
|
|||
mixLeft->Offset(-mixLeft->GetStartTime());
|
||||
mixLeft->SetSelected(true);
|
||||
mixLeft->SetDisplay(WaveTrack::NoDisplay);
|
||||
auto pLeft = mTracks->Add(std::move(mixLeft));
|
||||
auto pLeft = mTracks->Add( mixLeft );
|
||||
Track *pRight{};
|
||||
if (mixRight) {
|
||||
mixRight->Offset(-mixRight->GetStartTime());
|
||||
mixRight->SetSelected(true);
|
||||
pRight = mTracks->Add(std::move(mixRight));
|
||||
pRight = mTracks->Add( mixRight );
|
||||
}
|
||||
mTracks->GroupChannels(*pLeft, pRight ? 2 : 1);
|
||||
}
|
||||
|
@ -2559,7 +2558,7 @@ void Effect::Preview(bool dryOnly)
|
|||
auto dest = src->Copy(mT0, t1);
|
||||
dest->SetSelected(src->GetSelected());
|
||||
static_cast<WaveTrack*>(dest.get())->SetDisplay(WaveTrack::NoDisplay);
|
||||
mTracks->Add(std::move(dest));
|
||||
mTracks->Add( dest );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -348,7 +348,7 @@ bool EffectEqualization48x::TrackCompare()
|
|||
auto o = aTrack->Duplicate();
|
||||
SecondIMap.push_back(aTrack);
|
||||
SecondIMap.push_back(o.get());
|
||||
SecondOutputTracks.push_back(std::move(o));
|
||||
SecondOutputTracks.push_back( o );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -20,11 +20,11 @@
|
|||
// private helper classes and functions
|
||||
namespace {
|
||||
void FinishCopy
|
||||
(const Track *n, Track::Holder &&dest, TrackList &list)
|
||||
(const Track *n, const Track::Holder &dest, TrackList &list)
|
||||
{
|
||||
Track::FinishCopy( n, dest.get() );
|
||||
if (dest)
|
||||
list.Add(std::move(dest));
|
||||
list.Add( dest );
|
||||
}
|
||||
|
||||
// Handle text paste (into active label), if any. Return true if did paste.
|
||||
|
@ -124,7 +124,7 @@ bool DoPasteNothingSelected(AudacityProject &project)
|
|||
|
||||
pNewTrack->SetSelected(true);
|
||||
if (uNewTrack)
|
||||
FinishCopy(pClip, std::move(uNewTrack), *tracks);
|
||||
FinishCopy(pClip, uNewTrack, *tracks);
|
||||
else
|
||||
Track::FinishCopy(pClip, pNewTrack);
|
||||
}
|
||||
|
@ -303,13 +303,13 @@ void OnCut(const CommandContext &context)
|
|||
// Since portsmf has a built-in cut operator, we use that instead
|
||||
auto dest = n->Cut(selectedRegion.t0(),
|
||||
selectedRegion.t1());
|
||||
FinishCopy(n, std::move(dest), newClipboard);
|
||||
FinishCopy(n, dest, newClipboard);
|
||||
},
|
||||
#endif
|
||||
[&](Track *n) {
|
||||
auto dest = n->Copy(selectedRegion.t0(),
|
||||
selectedRegion.t1());
|
||||
FinishCopy(n, std::move(dest), newClipboard);
|
||||
FinishCopy(n, dest, newClipboard);
|
||||
}
|
||||
);
|
||||
|
||||
|
@ -405,7 +405,7 @@ void OnCopy(const CommandContext &context)
|
|||
for (auto n : tracks->Selected()) {
|
||||
auto dest = n->Copy(selectedRegion.t0(),
|
||||
selectedRegion.t1());
|
||||
FinishCopy(n, std::move(dest), newClipboard);
|
||||
FinishCopy(n, dest, newClipboard);
|
||||
}
|
||||
|
||||
// Survived possibility of exceptions. Commit changes to the clipboard now.
|
||||
|
@ -702,7 +702,7 @@ void OnDuplicate(const CommandContext &context)
|
|||
selectedRegion.t1(), false);
|
||||
dest->Init(*n);
|
||||
dest->SetOffset(wxMax(selectedRegion.t0(), n->GetOffset()));
|
||||
tracks->Add(std::move(dest));
|
||||
tracks->Add( dest );
|
||||
|
||||
// This break is really needed, else we loop infinitely
|
||||
if (n == last)
|
||||
|
@ -733,7 +733,7 @@ void OnSplitCut(const CommandContext &context)
|
|||
selectedRegion.t0(),
|
||||
selectedRegion.t1());
|
||||
if (dest)
|
||||
FinishCopy(n, std::move(dest), newClipboard);
|
||||
FinishCopy(n, dest, newClipboard);
|
||||
},
|
||||
[&](Track *n) {
|
||||
dest = n->Copy(selectedRegion.t0(),
|
||||
|
@ -741,7 +741,7 @@ void OnSplitCut(const CommandContext &context)
|
|||
n->Silence(selectedRegion.t0(),
|
||||
selectedRegion.t1());
|
||||
if (dest)
|
||||
FinishCopy(n, std::move(dest), newClipboard);
|
||||
FinishCopy(n, dest, newClipboard);
|
||||
}
|
||||
);
|
||||
|
||||
|
@ -926,7 +926,7 @@ void OnSplitNew(const CommandContext &context)
|
|||
dest = wt->SplitCut(newt0, newt1);
|
||||
if (dest) {
|
||||
dest->SetOffset(wxMax(newt0, offset));
|
||||
FinishCopy(wt, std::move(dest), *tracks);
|
||||
FinishCopy(wt, dest, *tracks);
|
||||
}
|
||||
}
|
||||
#if 0
|
||||
|
@ -938,7 +938,7 @@ void OnSplitNew(const CommandContext &context)
|
|||
viewInfo.selectedRegion.t1());
|
||||
if (dest) {
|
||||
dest->SetOffset(wxMax(0, n->GetOffset()));
|
||||
FinishCopy(n, std::move(dest), *tracks);
|
||||
FinishCopy(n, dest, *tracks);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -117,7 +117,7 @@ AudacityProject *DoImportMIDI(
|
|||
if (::ImportMIDI(fileName, newTrack.get())) {
|
||||
|
||||
pProject->SelectNone();
|
||||
auto pTrack = tracks->Add(std::move(newTrack));
|
||||
auto pTrack = tracks->Add( newTrack );
|
||||
pTrack->SetSelected(true);
|
||||
|
||||
pProject->PushState(wxString::Format(_("Imported MIDI from '%s'"),
|
||||
|
@ -464,7 +464,7 @@ void OnImportLabels(const CommandContext &context)
|
|||
|
||||
project.SelectNone();
|
||||
newTrack->SetSelected(true);
|
||||
tracks->Add(std::move(newTrack));
|
||||
tracks->Add( newTrack );
|
||||
|
||||
project.PushState(wxString::
|
||||
Format(_("Imported labels from '%s'"), fileName),
|
||||
|
|
|
@ -201,7 +201,7 @@ void EditClipboardByLabel(
|
|||
{
|
||||
Track::FinishCopy( wt, dest.get() );
|
||||
if( !merged )
|
||||
merged = std::move(dest);
|
||||
merged = dest;
|
||||
else
|
||||
{
|
||||
// Paste to the beginning; unless this is the first region,
|
||||
|
@ -227,7 +227,7 @@ void EditClipboardByLabel(
|
|||
regions.at(i + 1).start - region.end);
|
||||
}
|
||||
if( merged )
|
||||
newClipboard.Add( std::move(merged) );
|
||||
newClipboard.Add( merged );
|
||||
}
|
||||
|
||||
// Survived possibility of exceptions. Commit changes to the clipboard now.
|
||||
|
|
|
@ -59,10 +59,10 @@ void DoMixAndRender
|
|||
|
||||
// Add NEW tracks
|
||||
|
||||
auto pNewLeft = tracks->Add(std::move(uNewLeft));
|
||||
auto pNewLeft = tracks->Add( uNewLeft );
|
||||
decltype(pNewLeft) pNewRight{};
|
||||
if (uNewRight)
|
||||
pNewRight = tracks->Add(std::move(uNewRight));
|
||||
pNewRight = tracks->Add( uNewRight );
|
||||
|
||||
// Do this only after adding tracks to the list
|
||||
tracks->GroupChannels(*pNewLeft, pNewRight ? 2 : 1);
|
||||
|
@ -1188,7 +1188,7 @@ void OnScoreAlign(const CommandContext &context)
|
|||
}
|
||||
|
||||
if (result == SA_SUCCESS) {
|
||||
tracks->Replace(nt, std::move(holder));
|
||||
tracks->Replace(nt, holder);
|
||||
project.RedrawProject();
|
||||
AudacityMessageBox(wxString::Format(
|
||||
_("Alignment completed: MIDI from %.2f to %.2f secs, Audio from %.2f to %.2f secs."),
|
||||
|
|
|
@ -1339,7 +1339,7 @@ void ControlToolBar::SetupCutPreviewTracks(double WXUNUSED(playStart), double cu
|
|||
|
||||
auto newTrack = track1->Duplicate();
|
||||
newTrack->Clear(cutStart, cutEnd);
|
||||
cutPreviewTracks->Add(std::move(newTrack));
|
||||
cutPreviewTracks->Add( newTrack );
|
||||
}
|
||||
// use NOTHROW-GUARANTEE:
|
||||
mCutPreviewTracks = cutPreviewTracks;
|
||||
|
|
Loading…
Reference in New Issue