write Catalog.xml that contains song and course metadata - useful for importing into other tools

This commit is contained in:
Chris Danford
2004-05-20 08:55:26 +00:00
parent 2dc648220c
commit a85f967e69
7 changed files with 147 additions and 41 deletions
+55
View File
@@ -0,0 +1,55 @@
#include "global.h"
/*
-----------------------------------------------------------------------------
Class: CatalogXml
Desc: See header.
Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved.
Chris Danford
-----------------------------------------------------------------------------
*/
#include "CatalogXml.h"
#include "SongManager.h"
#include "song.h"
#include "Steps.h"
const CString CATALOG_XML = "Catalog.xml";
void SaveCatalogXml( CString sDir )
{
CString fn = sDir + CATALOG_XML;
XNode xml;
xml.name = "Catalog";
vector<Song*> vpSongs = SONGMAN->GetAllSongs();
for( unsigned i=0; i<vpSongs.size(); i++ )
{
Song* pSong = vpSongs[i];
SongID songID;
songID.FromSong( pSong );
XNode* pSongNode = songID.CreateNode();
xml.AppendChild( pSongNode );
vector<Steps*> vpSteps = pSong->GetAllSteps();
for( unsigned j=0; j<vpSteps.size(); j++ )
{
Steps* pSteps = vpSteps[j];
if( pSteps->IsAutogen() )
continue;
StepsID stepsID;
stepsID.FromSteps( pSteps );
pSongNode->AppendChild( stepsID.CreateNode() );
}
}
bool bSaved = xml.SaveToFile(fn);
}