AlphaTab.Exporter.AlphaTexExporter.BarMeta C# (CSharp) Method

BarMeta() private method

private BarMeta ( Bar bar ) : void
bar AlphaTab.Model.Bar
return void
        private void BarMeta(Bar bar)
        {
            var masterBar = bar.MasterBar;
            if (masterBar.Index > 0)
            {
                var previousMasterBar = masterBar.PreviousMasterBar;
                var previousBar = bar.PreviousBar;

                if (previousMasterBar.TimeSignatureDenominator != masterBar.TimeSignatureDenominator || previousMasterBar.TimeSignatureNumerator != masterBar.TimeSignatureNumerator)
                {
                    _builder.Append("\\ts ");
                    _builder.Append(masterBar.TimeSignatureNumerator);
                    _builder.Append(" ");
                    _builder.Append(masterBar.TimeSignatureDenominator);
                    _builder.AppendLine();
                }

                if (previousMasterBar.KeySignature != masterBar.KeySignature)
                {
                    _builder.Append("\\ks ");
                    switch (masterBar.KeySignature)
                    {
                        case -7:
                            _builder.Append("cb");
                            break;
                        case -6:
                            _builder.Append("gb");
                            break;
                        case -5:
                            _builder.Append("db");
                            break;
                        case -4:
                            _builder.Append("ab");
                            break;
                        case -3:
                            _builder.Append("eb");
                            break;
                        case -2:
                            _builder.Append("bb");
                            break;
                        case -1:
                            _builder.Append("f");
                            break;
                        case 0:
                            _builder.Append("c");
                            break;
                        case 1:
                            _builder.Append("g");
                            break;
                        case 2:
                            _builder.Append("d");
                            break;
                        case 3:
                            _builder.Append("a");
                            break;
                        case 4:
                            _builder.Append("e");
                            break;
                        case 5:
                            _builder.Append("b");
                            break;
                        case 6:
                            _builder.Append("f#");
                            break;
                        case 7:
                            _builder.Append("c#");
                            break;
                    }
                    _builder.AppendLine();
                }

                if (bar.Clef != previousBar.Clef)
                {
                    _builder.Append("\\clef ");
                    switch (bar.Clef)
                    {
                        case Clef.Neutral:
                            _builder.Append("n");
                            break;
                        case Clef.C3:
                            _builder.Append("c3");
                            break;
                        case Clef.C4:
                            _builder.Append("c4");
                            break;
                        case Clef.F4:
                            _builder.Append("f4");
                            break;
                        case Clef.G2:
                            _builder.Append("g2");
                            break;
                    }
                    _builder.AppendLine();
                }

                if (masterBar.TempoAutomation != null)
                {
                    _builder.Append("\\tempo ");
                    _builder.Append(masterBar.TempoAutomation.Value);
                    _builder.AppendLine();
                }
            }

            if (masterBar.IsRepeatStart)
            {
                _builder.Append("\\ro ");
                _builder.AppendLine();
            }

            if (masterBar.IsRepeatEnd)
            {
                _builder.Append("\\rc ");
                _builder.Append(masterBar.RepeatCount + 1);
                _builder.AppendLine();
            }
        }