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