コード例 #1
0
        private static string BuildTab(TabParser parser)
        {
            var builder = new StringBuilder();

            foreach (var tabLine in parser.TabLines)
            {
                var line = parser.TabLines.IndexOf(tabLine);
                builder.Append(NoteHelper.NumberToNoteOnly(tabLine.Number).PadRight(3));
                foreach (var tabNote in parser.TabNotes)
                {
                    builder.Append(tabNote.Line == line
                        ? tabNote.Fret.ToString().PadRight(tabNote.LengthInCharacters)
                        : string.Empty.PadRight(tabNote.LengthInCharacters));
                }

                builder.AppendLine();
            }

            builder.Append("   ");
            foreach (var tabNote in parser.TabNotes)
            {
                builder.Append(tabNote.Note.PadRight(tabNote.LengthInCharacters));
            }
            builder.AppendLine();

            return(builder.ToString());
        }
コード例 #2
0
        public string GetTuningDescription()
        {
            var roots = TabLines.Select(x => NoteHelper.NumberToNoteOnly(x.Number)).ToList();

            return(string.Join(",", roots));
        }