Exemple #1
0
        /// <summary>
        /// Method to output the cuesheet into a single formatted string.
        /// </summary>
        /// <returns>The entire cuesheet formatted to specification.</returns>
        public override string ToString()
        {
            StringBuilder output = new StringBuilder();

            foreach (string comment in Comments)
            {
                output.Append("REM " + comment + Environment.NewLine);
            }

            if (Catalog.Trim() != "")
            {
                output.Append("CATALOG " + Catalog + Environment.NewLine);
            }

            if (Performer.Trim() != "")
            {
                output.Append("PERFORMER \"" + Performer + "\"" + Environment.NewLine);
            }

            if (Songwriter.Trim() != "")
            {
                output.Append("SONGWRITER \"" + Songwriter + "\"" + Environment.NewLine);
            }

            if (Title.Trim() != "")
            {
                output.Append("TITLE \"" + Title + "\"" + Environment.NewLine);
            }

            if (File.Trim() != "" && FileType != "")
            {
                output.Append("FILE \"" + File + "\"" + " " + FileType.ToUpperInvariant() + Environment.NewLine);
            }

            if (CDTextFile.Trim() != "")
            {
                output.Append("CDTEXTFILE \"" + CDTextFile.Trim() + "\"" + Environment.NewLine);
            }

            for (int i = 0; i < m_Tracks.Count; i++)
            {
                output.Append(m_Tracks[i].ToString());

                if (i != m_Tracks.Count - 1)
                {
                    //add line break for each track except last
                    output.Append(Environment.NewLine);
                }
            }

            return(output.ToString());
        }