private void saveProjectFile(List <AnnoTier> annoTiers, List <MediaBox> mediaBoxes, List <SignalTrack> signalTracks, string filepath) { string workdir = Path.GetDirectoryName(filepath); StreamWriter sw = new StreamWriter(filepath, false, System.Text.Encoding.Default); sw.WriteLine("<nova version=\"1\">"); sw.WriteLine("\t<medias>"); if (mediaList != null) { foreach (MediaBox box in mediaBoxes) { if (box.Media.GetFilepath() != null) { sw.WriteLine("\t\t<media>" + FileTools.GetRelativePath(box.Media.GetFilepath(), workdir) + "</media>"); } } } sw.WriteLine("\t</medias>"); sw.WriteLine("\t<signals>"); if (signalTracks != null) { foreach (SignalTrack st in signalTracks) { if (st.Signal.FilePath != null) { sw.WriteLine("\t\t<signal bg=\"" + st.Background + "\" fg=\"" + st.SignalColor + "\">" + FileTools.GetRelativePath(st.Signal.FilePath, workdir) + "</signal>"); } } } sw.WriteLine("\t</signals>"); if (DatabaseHandler.IsConnected && DatabaseHandler.IsDatabase && DatabaseHandler.IsSession) { sw.WriteLine("\t<tiers database=\"" + DatabaseHandler.DatabaseName + "\">"); } else { sw.WriteLine("\t<tiers>"); } foreach (AnnoTier t in annoTiers) { if (t.AnnoList.Source.HasFile) { sw.WriteLine("\t\t<tier>" + FileTools.GetRelativePath(t.AnnoList.Path, workdir) + "</tier>"); } else if (t.AnnoList.Source.HasDatabase) { sw.WriteLine("\t\t<tier>" + t.AnnoList.Path + "</tier>"); } } sw.WriteLine("\t</tiers>"); sw.WriteLine("</nova>"); sw.Close(); }
private void saveProject(List <AnnoTier> annoTiers, MediaList mediaList, List <ISignalTrack> signalTracks, string filepath) { string workdir = Path.GetDirectoryName(filepath); StreamWriter sw = new StreamWriter(filepath, false, System.Text.Encoding.Default); sw.WriteLine("<nova version=\"1\">"); sw.WriteLine("\t<medias>"); if (mediaList != null) { foreach (IMedia t in mediaList.Medias) { if (t.GetFilepath() != null) { sw.WriteLine("\t\t<media>" + FileTools.GetRelativePath(t.GetFilepath(), workdir) + "</media>"); } } } sw.WriteLine("\t</medias>"); sw.WriteLine("\t<signals>"); if (signalTracks != null) { foreach (SignalTrack st in signalTracks) { if (st.Signal.FilePath != null) { sw.WriteLine("\t\t<signal bg=\"" + st.Background + "\" fg=\"" + st.SignalColor + "\">" + FileTools.GetRelativePath(st.Signal.FilePath, workdir) + "</signal>"); } } } sw.WriteLine("\t</signals>"); sw.WriteLine("\t<tiers>"); foreach (AnnoTier t in annoTiers) { if (t.AnnoList.Source.File.Path != "") { sw.WriteLine("\t\t<tier name=\"" + t.AnnoList.Scheme.Name + "\">" + FileTools.GetRelativePath(t.AnnoList.Source.File.Path, workdir) + "</tier>"); } } sw.WriteLine("\t</tiers>"); sw.WriteLine("</nova>"); sw.Close(); }