public virtual global::alphatab.model.Beat clone() { unchecked { global::alphatab.model.Beat beat = new global::alphatab.model.Beat(); { int _g = 0; global::haxe.root.Array <object> _g1 = this.whammyBarPoints; while ((_g < _g1.length)) { global::alphatab.model.BendPoint b = ((global::alphatab.model.BendPoint)(_g1[_g])); ++_g; beat.whammyBarPoints.push(b.clone()); } } { int _g2 = 0; global::haxe.root.Array <object> _g11 = this.notes; while ((_g2 < _g11.length)) { global::alphatab.model.Note n = ((global::alphatab.model.Note)(_g11[_g2])); ++_g2; beat.addNote(n.clone()); } } beat.chordId = this.chordId; beat.brushType = this.brushType; beat.vibrato = this.vibrato; beat.graceType = this.graceType; beat.pickStroke = this.pickStroke; beat.duration = this.duration; beat.tremoloSpeed = new global::haxe.lang.Null <global::alphatab.model.Duration>(this.tremoloSpeed.@value, true); beat.text = this.text; beat.fadeIn = this.fadeIn; beat.tap = this.tap; beat.slap = this.slap; beat.pop = this.pop; { int _g3 = 0; global::haxe.root.Array <object> _g12 = this.automations; while ((_g3 < _g12.length)) { global::alphatab.model.Automation a = ((global::alphatab.model.Automation)(_g12[_g3])); ++_g3; beat.automations.push(a.clone()); } } beat.start = this.start; beat.tupletDenominator = this.tupletDenominator; beat.tupletNumerator = this.tupletNumerator; beat.dynamicValue = this.dynamicValue; beat.crescendo = this.crescendo; return(beat); } }