MCPcopy Create free account
hub / github.com/CoderLine/alphaTab / _parseBeat

Method _parseBeat

packages/alphatab/src/importer/GpifParser.ts:1690–1911  ·  view source on GitHub ↗
(node: XmlNode)

Source from the content-addressed store, hash-verified

1688 }
1689
1690 private _parseBeat(node: XmlNode): void {
1691 const beat: Beat = new Beat();
1692 const beatId: string = node.getAttribute('id');
1693 for (const c of node.childElements()) {
1694 switch (c.localName) {
1695 case 'Notes':
1696 this._notesOfBeat.set(beatId, GpifParser._splitSafe(c.innerText));
1697 break;
1698 case 'Rhythm':
1699 this._rhythmOfBeat.set(beatId, c.getAttribute('ref'));
1700 break;
1701 case 'Fadding':
1702 switch (c.innerText) {
1703 case 'FadeIn':
1704 beat.fade = FadeType.FadeIn;
1705 break;
1706 case 'FadeOut':
1707 beat.fade = FadeType.FadeOut;
1708 break;
1709 case 'VolumeSwell':
1710 beat.fade = FadeType.VolumeSwell;
1711 break;
1712 }
1713 break;
1714 case 'Tremolo':
1715 const tremolo = new TremoloPickingEffect();
1716 beat.tremoloPicking = tremolo;
1717 switch (c.innerText) {
1718 case '1/2':
1719 tremolo.marks = 1;
1720 break;
1721 case '1/4':
1722 tremolo.marks = 2;
1723 break;
1724 case '1/8':
1725 tremolo.marks = 3;
1726 break;
1727 }
1728 break;
1729 case 'Chord':
1730 beat.chordId = c.innerText;
1731 break;
1732 case 'Hairpin':
1733 switch (c.innerText) {
1734 case 'Crescendo':
1735 beat.crescendo = CrescendoType.Crescendo;
1736 break;
1737 case 'Decrescendo':
1738 beat.crescendo = CrescendoType.Decrescendo;
1739 break;
1740 }
1741 break;
1742 case 'Arpeggio':
1743 if (c.innerText === 'Up') {
1744 beat.brushType = BrushType.ArpeggioUp;
1745 } else {
1746 beat.brushType = BrushType.ArpeggioDown;
1747 }

Callers 1

_parseBeatsMethod · 0.95

Calls 12

_parseBeatPropertiesMethod · 0.95
_parseBeatXPropertiesMethod · 0.95
_toBendValueMethod · 0.95
_toBendOffsetMethod · 0.95
addWhammyBarPointMethod · 0.95
_parseBeatLyricsMethod · 0.95
getAttributeMethod · 0.80
childElementsMethod · 0.80
_splitSafeMethod · 0.80
_parseFloatSafeMethod · 0.80
_parseIntSafeMethod · 0.80
setMethod · 0.45

Tested by

no test coverage detected