コード例 #1
0
        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();
        }
コード例 #2
0
        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();
        }