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

Reply via email to