public override void doLayout()
        {
            unchecked
            {
                int w = 0;
                {
                    int _g = 0;
                    global::haxe.root.Array <object> _g1 = this._notes;
                    while ((_g < _g1.length))
                    {
                        global::alphatab.rendering.glyphs.NoteNumberGlyph g = ((global::alphatab.rendering.glyphs.NoteNumberGlyph)(_g1[_g]));
                        ++_g;
                        g.renderer = this.renderer;
                        g.doLayout();
                        if ((g.width > w))
                        {
                            w = g.width;
                        }
                    }
                }

                global::alphatab.rendering.TabBarRenderer tabRenderer = ((global::alphatab.rendering.TabBarRenderer)(this.renderer));
                double tabHeight = this.renderer.stave.staveGroup.layout.renderer.renderingResources.tablatureFont.getSize();
                int    effectY   = default(int);
                {
                    double x = (this.getNoteY(this._minNote) + (tabHeight / 2));
                    effectY = ((int)(x));
                }

                int effectSpacing = ((int)((7 * this.renderer.stave.staveGroup.layout.renderer.settings.scale)));
                {
                    object __temp_iterator449 = this.beatEffects.iterator();
                    while (((bool)(global::haxe.lang.Runtime.callField(__temp_iterator449, "hasNext", 407283053, default(global::haxe.root.Array)))))
                    {
                        global::alphatab.rendering.Glyph g1 = ((global::alphatab.rendering.Glyph)(global::haxe.lang.Runtime.callField(__temp_iterator449, "next", 1224901875, default(global::haxe.root.Array))));
                        g1.y        = effectY;
                        g1.x        = (this.width / 2);
                        g1.renderer = this.renderer;
                        effectY    += effectSpacing;
                        g1.doLayout();
                    }
                }

                this.width = w;
            }
        }