Beispiel #1
0
        private String GenerateRowLine(Song song)
        {
            StringBuilder row = new StringBuilder();
            row.Append(_currentID++ + "" + TABCHAR);
            // Write segmentstats
            foreach (var aggregate in song.SegmentStats.AggregatesList)
            {
                AppendAggregateValues(row, aggregate);
            }

            // Write section stats
            row.Append(song.SectionsStats.Count + "" + TABCHAR);
            AppendAggregateValues(row, song.SectionsStats.Duration);

            // Write lone attributes
            var map = song.GetESOMAttributeMap();
            foreach (var key in map.Keys)
            {
                string plusRow = "";
                if (map[key] == null) plusRow += "NaN";
                else plusRow += map[key].ToString();
                row.Append(plusRow + TABCHAR);
            }

            //var map1 = song.GetIgnoredAttributeMap();
            //foreach (var key in map1.Keys)
            //{
            //    string plusRow = "";
            //    if (map1[key] == null) plusRow += "NaN";
            //    else plusRow += map1[key].ToString();
            //    row.Append(plusRow + TABCHAR);
            //}

            return row.ToString();
        }