AlphaTab.Rendering.Glyphs.ScoreBeatGlyph.CreateNoteHeadGlyph C# (CSharp) Method

CreateNoteHeadGlyph() private method

private CreateNoteHeadGlyph ( Note n ) : Glyph
n AlphaTab.Model.Note
return Glyph
        private Glyph CreateNoteHeadGlyph(Note n)
        {
            var isGrace = Container.Beat.GraceType != GraceType.None;
            if (n.Beat.Voice.Bar.Staff.Track.IsPercussion)
            {
                var value = n.RealValue;

                if (value <= 30 || value >= 67 || NormalKeys.ContainsKey(value))
                {
                    return new NoteHeadGlyph(0, 0, Duration.Quarter, isGrace);
                }
                if (XKeys.ContainsKey(value))
                {
                    return new DrumSticksGlyph(0, 0, isGrace);
                }
                if (value == 46)
                {
                    return new HiHatGlyph(0, 0, isGrace);
                }
                if (value == 49 || value == 57)
                {
                    return new DiamondNoteHeadGlyph(0, 0, isGrace);
                }
                if (value == 52)
                {
                    return new ChineseCymbalGlyph(0, 0, isGrace);
                }
                if (value == 51 || value == 53 || value == 59)
                {
                    return new RideCymbalGlyph(0, 0, isGrace);
                }
                return new NoteHeadGlyph(0, 0, Duration.Quarter, isGrace);
            }
            if (n.IsDead)
            {
                return new DeadNoteHeadGlyph(0, 0, isGrace);
            }
            if (n.HarmonicType == HarmonicType.None)
            {
                return new NoteHeadGlyph(0, 0, n.Beat.Duration, isGrace);
            }
            return new DiamondNoteHeadGlyph(0, 0, isGrace);
        }