Update of /cvsroot/audacity/audacity-src/src
In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv5210

Modified Files:
        Project.cpp Project.h 
Log Message:
Changes to not have tracks on multiple lists.

Index: Project.h
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/Project.h,v
retrieving revision 1.147
retrieving revision 1.148
diff -u -d -r1.147 -r1.148
--- Project.h   14 Mar 2009 02:53:16 -0000      1.147
+++ Project.h   24 Mar 2009 03:54:14 -0000      1.148
@@ -158,8 +158,8 @@
    bool WarnOfLegacyFile( );
 
    // If pNewTrackList is passed in non-NULL, it gets filled with the pointers 
to new tracks.
-   void Import(wxString fileName, TrackList* pNewTrackList = NULL); 
-   
+   void Import(wxString fileName, WaveTrackArray *pTrackArray = NULL); 
+
    void AddImportedTracks(wxString fileName,
                           Track **newTracks, int numTracks);
    bool Save(bool overwrite = true, bool fromSaveAs = false, bool 
bWantSaveCompressed = false);

Index: Project.cpp
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/Project.cpp,v
retrieving revision 1.404
retrieving revision 1.405
diff -u -d -r1.404 -r1.405
--- Project.cpp 23 Mar 2009 23:16:58 -0000      1.404
+++ Project.cpp 24 Mar 2009 03:54:13 -0000      1.405
@@ -387,38 +387,38 @@
          return false;
       }
    }
-   TrackList newTrackList;
-   mProject->Import(strAttr, &newTrackList);
-   if (newTrackList.IsEmpty())
+
+   WaveTrackArray trackArray;
+   mProject->Import(strAttr, &trackArray);
+   if (trackArray.IsEmpty())
       return false;
 
    // Handle other attributes, now that we have the tracks. 
    attrs++; 
    const wxChar** pAttr;
-   TrackListIterator iter(&newTrackList);
    bool bSuccess = true;
-   for (Track* pTrack = iter.First(); (pTrack && bSuccess); pTrack = 
iter.Next())
-      if (pTrack->GetKind() == Track::Wave) 
-      {
-         // Most of the "import" tag attributes are the same as for 
"wavetrack" tags, 
-         // so apply them via WaveTrack::HandleXMLTag().
-         bSuccess = ((WaveTrack*)pTrack)->HandleXMLTag(wxT("wavetrack"), 
attrs);
 
-         // "offset" tag is ignored in WaveTrack::HandleXMLTag except for 
legacy projects, 
-         // so handle it here. 
-         double dblValue;
-         pAttr = attrs;
-         while (*pAttr)
-         {
-            const wxChar *attr = *pAttr++;
-            const wxChar *value = *pAttr++;
-            const wxString strValue = value;
-            if (!wxStrcmp(attr, wxT("offset")) && 
-                  XMLValueChecker::IsGoodString(strValue) && 
-                  Internat::CompatibleToDouble(strValue, &dblValue))
-               pTrack->SetOffset(dblValue);
-         }
+   for (size_t i = 0; i < trackArray.GetCount(); i++)
+   {
+      // Most of the "import" tag attributes are the same as for "wavetrack" 
tags, 
+      // so apply them via WaveTrack::HandleXMLTag().
+      bSuccess = trackArray[i]->HandleXMLTag(wxT("wavetrack"), attrs);
+
+      // "offset" tag is ignored in WaveTrack::HandleXMLTag except for legacy 
projects, 
+      // so handle it here. 
+      double dblValue;
+      pAttr = attrs;
+      while (*pAttr)
+      {
+         const wxChar *attr = *pAttr++;
+         const wxChar *value = *pAttr++;
+         const wxString strValue = value;
+         if (!wxStrcmp(attr, wxT("offset")) && 
+               XMLValueChecker::IsGoodString(strValue) && 
+               Internat::CompatibleToDouble(strValue, &dblValue))
+            trackArray[i]->SetOffset(dblValue);
       }
+   }
    return bSuccess; 
 };
 
@@ -2980,7 +2980,7 @@
 }
 
 // If pNewTrackList is passed in non-NULL, it gets filled with the pointers to 
new tracks.
-void AudacityProject::Import(wxString fileName, TrackList* pNewTrackList /*= 
NULL*/)
+void AudacityProject::Import(wxString fileName, WaveTrackArray* pTrackArray 
/*= NULL*/)
 {
    Track **newTracks;
    int numTracks;
@@ -3018,9 +3018,13 @@
 
    // Have to set up newTrackList before calling AddImportedTracks, 
    // because AddImportedTracks deletes newTracks.
-   if (pNewTrackList)
-      for (int i = 0; i < numTracks; i++)
-         pNewTrackList->Add(newTracks[i]);
+   if (pTrackArray) {
+      for (int i = 0; i < numTracks; i++) {
+         if (newTracks[i]->GetKind() == Track::Wave) {
+            pTrackArray->Add((WaveTrack *)newTracks[i]);
+         }
+      }
+   }
 
    AddImportedTracks(fileName, newTracks, numTracks);
 


------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
Audacity-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/audacity-cvs

Reply via email to