(original: Beat)
| 13 | */ |
| 14 | export class BeatCloner { |
| 15 | public static clone(original: Beat): Beat { |
| 16 | const clone = new Beat(); |
| 17 | clone.index = original.index; |
| 18 | clone.notes = []; |
| 19 | for (const i of original.notes!) { |
| 20 | clone.addNote(NoteCloner.clone(i)); |
| 21 | } |
| 22 | clone.isEmpty = original.isEmpty; |
| 23 | clone.whammyStyle = original.whammyStyle; |
| 24 | clone.ottava = original.ottava; |
| 25 | clone.isLegatoOrigin = original.isLegatoOrigin; |
| 26 | clone.duration = original.duration; |
| 27 | clone.isLetRing = original.isLetRing; |
| 28 | clone.isPalmMute = original.isPalmMute; |
| 29 | clone.automations = []; |
| 30 | for (const i of original.automations!) { |
| 31 | clone.automations.push(AutomationCloner.clone(i)); |
| 32 | } |
| 33 | clone.dots = original.dots; |
| 34 | clone.fade = original.fade; |
| 35 | clone.lyrics = original.lyrics ? original.lyrics.slice() : null; |
| 36 | clone.pop = original.pop; |
| 37 | clone.slap = original.slap; |
| 38 | clone.tap = original.tap; |
| 39 | clone.text = original.text; |
| 40 | clone.slashed = original.slashed; |
| 41 | clone.deadSlapped = original.deadSlapped; |
| 42 | clone.brushType = original.brushType; |
| 43 | clone.brushDuration = original.brushDuration; |
| 44 | clone.tupletDenominator = original.tupletDenominator; |
| 45 | clone.tupletNumerator = original.tupletNumerator; |
| 46 | clone.isContinuedWhammy = original.isContinuedWhammy; |
| 47 | clone.whammyBarType = original.whammyBarType; |
| 48 | if (original.whammyBarPoints) { |
| 49 | clone.whammyBarPoints = []; |
| 50 | for (const i of original.whammyBarPoints!) { |
| 51 | clone.addWhammyBarPoint(BendPointCloner.clone(i)); |
| 52 | } |
| 53 | } |
| 54 | clone.vibrato = original.vibrato; |
| 55 | clone.chordId = original.chordId; |
| 56 | clone.graceType = original.graceType; |
| 57 | clone.pickStroke = original.pickStroke; |
| 58 | clone.tremoloPicking = original.tremoloPicking ? TremoloPickingEffectCloner.clone(original.tremoloPicking) : undefined; |
| 59 | clone.crescendo = original.crescendo; |
| 60 | clone.displayStart = original.displayStart; |
| 61 | clone.playbackStart = original.playbackStart; |
| 62 | clone.displayDuration = original.displayDuration; |
| 63 | clone.playbackDuration = original.playbackDuration; |
| 64 | clone.overrideDisplayDuration = original.overrideDisplayDuration; |
| 65 | clone.golpe = original.golpe; |
| 66 | clone.dynamics = original.dynamics; |
| 67 | clone.invertBeamDirection = original.invertBeamDirection; |
| 68 | clone.preferredBeamDirection = original.preferredBeamDirection; |
| 69 | clone.isEffectSlurOrigin = original.isEffectSlurOrigin; |
| 70 | clone.beamingMode = original.beamingMode; |
| 71 | clone.wahPedal = original.wahPedal; |
| 72 | clone.barreFret = original.barreFret; |
no test coverage detected