Update of /cvsroot/audacity/audacity-src/src
In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv28874
Modified Files:
Tag: Audacity_1_3_5-Camp_Jam
Project.cpp
Log Message:
partial implementation of preserving WaveTrack states in Save Compressed Copy
of Project
Index: Project.cpp
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/Project.cpp,v
retrieving revision 1.347.2.4
retrieving revision 1.347.2.5
diff -u -d -r1.347.2.4 -r1.347.2.5
--- Project.cpp 24 Nov 2008 04:13:37 -0000 1.347.2.4
+++ Project.cpp 10 Jan 2009 03:55:59 -0000 1.347.2.5
@@ -2638,14 +2638,28 @@
TrackListIterator iter;
Track* pTrack; // mono or left
- // Remember which tracks were selected, and set them to unselected.
- TrackList wereSelectedWaveTrackList;
+ // Remember which tracks were muted, and set them to unmuted,
+ // because export does a mix-down, and we don't want muted tracks to be
silenced.
+ //
+ // Remember which tracks were selected, and set them to unselected,
+ // because we'll select one at a time for export.
+ //
+ TrackList prevMutedWaveTrackList;
+ TrackList prevSelectedWaveTrackList;
for (pTrack = iter.First(mTracks); pTrack != NULL; pTrack = iter.Next())
{
- if ((pTrack->GetKind() == Track::Wave) && pTrack->GetSelected())
+ if (pTrack->GetKind() == Track::Wave)
{
- wereSelectedWaveTrackList.Add(pTrack);
- pTrack->SetSelected(false);
+ if (pTrack->GetMute())
+ {
+ prevMutedWaveTrackList.Add(pTrack);
+ pTrack->SetMute(false);
+ }
+ if (pTrack->GetSelected())
+ {
+ prevSelectedWaveTrackList.Add(pTrack);
+ pTrack->SetSelected(false);
+ }
}
}
@@ -2680,11 +2694,11 @@
}
}
- // Restore the selection states.
- for (pTrack = iter.First(&wereSelectedWaveTrackList); pTrack != NULL;
pTrack = iter.Next())
- pTrack->SetSelected(false);
-
- //// Write the AUP file.
+ // Restore the mute and selection states.
+ for (pTrack = iter.First(&prevMutedWaveTrackList); pTrack != NULL;
pTrack = iter.Next())
+ pTrack->SetMute(true);
+ for (pTrack = iter.First(&prevSelectedWaveTrackList); pTrack != NULL;
pTrack = iter.Next())
+ pTrack->SetSelected(true);
return bSuccess;
}
------------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It is the best place to buy or sell services for
just about anything Open Source.
http://p.sf.net/sfu/Xq1LFB
_______________________________________________
Audacity-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/audacity-cvs