diff --git a/package-lock.json b/package-lock.json
index a0bd49ba..e1a0d5ea 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "musicxml-midi",
- "version": "2.8.2",
+ "version": "2.8.3",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "musicxml-midi",
- "version": "2.8.2",
+ "version": "2.8.3",
"hasInstallScript": true,
"license": "GPL-3.0-only",
"dependencies": {
@@ -56,13 +56,13 @@
}
},
"node_modules/@babel/code-frame": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
- "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.7.tgz",
+ "integrity": "sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/highlight": "^7.24.7",
+ "@babel/highlight": "^7.25.7",
"picocolors": "^1.0.0"
},
"engines": {
@@ -70,9 +70,9 @@
}
},
"node_modules/@babel/compat-data": {
- "version": "7.25.4",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz",
- "integrity": "sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.7.tgz",
+ "integrity": "sha512-9ickoLz+hcXCeh7jrcin+/SLWm+GkxE2kTvoYyp38p4WkdFXfQJxDFGWp/YHjiKLPx06z2A7W8XKuqbReXDzsw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -80,22 +80,22 @@
}
},
"node_modules/@babel/core": {
- "version": "7.25.2",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz",
- "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.7.tgz",
+ "integrity": "sha512-yJ474Zv3cwiSOO9nXJuqzvwEeM+chDuQ8GJirw+pZ91sCGCyOZ3dJkVE09fTV0VEVzXyLWhh3G/AolYTPX7Mow==",
"dev": true,
"license": "MIT",
"dependencies": {
"@ampproject/remapping": "^2.2.0",
- "@babel/code-frame": "^7.24.7",
- "@babel/generator": "^7.25.0",
- "@babel/helper-compilation-targets": "^7.25.2",
- "@babel/helper-module-transforms": "^7.25.2",
- "@babel/helpers": "^7.25.0",
- "@babel/parser": "^7.25.0",
- "@babel/template": "^7.25.0",
- "@babel/traverse": "^7.25.2",
- "@babel/types": "^7.25.2",
+ "@babel/code-frame": "^7.25.7",
+ "@babel/generator": "^7.25.7",
+ "@babel/helper-compilation-targets": "^7.25.7",
+ "@babel/helper-module-transforms": "^7.25.7",
+ "@babel/helpers": "^7.25.7",
+ "@babel/parser": "^7.25.7",
+ "@babel/template": "^7.25.7",
+ "@babel/traverse": "^7.25.7",
+ "@babel/types": "^7.25.7",
"convert-source-map": "^2.0.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -143,31 +143,31 @@
"license": "MIT"
},
"node_modules/@babel/generator": {
- "version": "7.25.6",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz",
- "integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.7.tgz",
+ "integrity": "sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/types": "^7.25.6",
+ "@babel/types": "^7.25.7",
"@jridgewell/gen-mapping": "^0.3.5",
"@jridgewell/trace-mapping": "^0.3.25",
- "jsesc": "^2.5.1"
+ "jsesc": "^3.0.2"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-compilation-targets": {
- "version": "7.25.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz",
- "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.7.tgz",
+ "integrity": "sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/compat-data": "^7.25.2",
- "@babel/helper-validator-option": "^7.24.8",
- "browserslist": "^4.23.1",
+ "@babel/compat-data": "^7.25.7",
+ "@babel/helper-validator-option": "^7.25.7",
+ "browserslist": "^4.24.0",
"lru-cache": "^5.1.1",
"semver": "^6.3.1"
},
@@ -176,30 +176,30 @@
}
},
"node_modules/@babel/helper-module-imports": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz",
- "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.7.tgz",
+ "integrity": "sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/traverse": "^7.24.7",
- "@babel/types": "^7.24.7"
+ "@babel/traverse": "^7.25.7",
+ "@babel/types": "^7.25.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-transforms": {
- "version": "7.25.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz",
- "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.7.tgz",
+ "integrity": "sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-module-imports": "^7.24.7",
- "@babel/helper-simple-access": "^7.24.7",
- "@babel/helper-validator-identifier": "^7.24.7",
- "@babel/traverse": "^7.25.2"
+ "@babel/helper-module-imports": "^7.25.7",
+ "@babel/helper-simple-access": "^7.25.7",
+ "@babel/helper-validator-identifier": "^7.25.7",
+ "@babel/traverse": "^7.25.7"
},
"engines": {
"node": ">=6.9.0"
@@ -209,9 +209,9 @@
}
},
"node_modules/@babel/helper-plugin-utils": {
- "version": "7.24.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz",
- "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.7.tgz",
+ "integrity": "sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -219,23 +219,23 @@
}
},
"node_modules/@babel/helper-simple-access": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz",
- "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.25.7.tgz",
+ "integrity": "sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/traverse": "^7.24.7",
- "@babel/types": "^7.24.7"
+ "@babel/traverse": "^7.25.7",
+ "@babel/types": "^7.25.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-string-parser": {
- "version": "7.24.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz",
- "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz",
+ "integrity": "sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==",
"dev": true,
"license": "MIT",
"engines": {
@@ -243,9 +243,9 @@
}
},
"node_modules/@babel/helper-validator-identifier": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
- "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz",
+ "integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -253,9 +253,9 @@
}
},
"node_modules/@babel/helper-validator-option": {
- "version": "7.24.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz",
- "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.7.tgz",
+ "integrity": "sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -263,27 +263,27 @@
}
},
"node_modules/@babel/helpers": {
- "version": "7.25.6",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.6.tgz",
- "integrity": "sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.7.tgz",
+ "integrity": "sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/template": "^7.25.0",
- "@babel/types": "^7.25.6"
+ "@babel/template": "^7.25.7",
+ "@babel/types": "^7.25.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/highlight": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
- "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.7.tgz",
+ "integrity": "sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-validator-identifier": "^7.24.7",
+ "@babel/helper-validator-identifier": "^7.25.7",
"chalk": "^2.4.2",
"js-tokens": "^4.0.0",
"picocolors": "^1.0.0"
@@ -371,13 +371,13 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.25.6",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz",
- "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.7.tgz",
+ "integrity": "sha512-aZn7ETtQsjjGG5HruveUK06cU3Hljuhd9Iojm4M8WWv3wLE6OkE5PWbDUkItmMgegmccaITudyuW5RPYrYlgWw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/types": "^7.25.6"
+ "@babel/types": "^7.25.7"
},
"bin": {
"parser": "bin/babel-parser.js"
@@ -442,13 +442,13 @@
}
},
"node_modules/@babel/plugin-syntax-import-attributes": {
- "version": "7.25.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz",
- "integrity": "sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.7.tgz",
+ "integrity": "sha512-AqVo+dguCgmpi/3mYBdu9lkngOBlQ2w2vnNpa6gfiCxQZLzV4ZbhsXitJ2Yblkoe1VQwtHSaNmIaGll/26YWRw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.8"
+ "@babel/helper-plugin-utils": "^7.25.7"
},
"engines": {
"node": ">=6.9.0"
@@ -594,13 +594,13 @@
}
},
"node_modules/@babel/plugin-syntax-typescript": {
- "version": "7.25.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.4.tgz",
- "integrity": "sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.7.tgz",
+ "integrity": "sha512-rR+5FDjpCHqqZN2bzZm18bVYGaejGq5ZkpVCJLXor/+zlSrSoc4KWcHI0URVWjl/68Dyr1uwZUz/1njycEAv9g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.8"
+ "@babel/helper-plugin-utils": "^7.25.7"
},
"engines": {
"node": ">=6.9.0"
@@ -610,32 +610,32 @@
}
},
"node_modules/@babel/template": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz",
- "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.7.tgz",
+ "integrity": "sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/code-frame": "^7.24.7",
- "@babel/parser": "^7.25.0",
- "@babel/types": "^7.25.0"
+ "@babel/code-frame": "^7.25.7",
+ "@babel/parser": "^7.25.7",
+ "@babel/types": "^7.25.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
- "version": "7.25.6",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz",
- "integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.7.tgz",
+ "integrity": "sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/code-frame": "^7.24.7",
- "@babel/generator": "^7.25.6",
- "@babel/parser": "^7.25.6",
- "@babel/template": "^7.25.0",
- "@babel/types": "^7.25.6",
+ "@babel/code-frame": "^7.25.7",
+ "@babel/generator": "^7.25.7",
+ "@babel/parser": "^7.25.7",
+ "@babel/template": "^7.25.7",
+ "@babel/types": "^7.25.7",
"debug": "^4.3.1",
"globals": "^11.1.0"
},
@@ -669,14 +669,14 @@
"license": "MIT"
},
"node_modules/@babel/types": {
- "version": "7.25.6",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz",
- "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.7.tgz",
+ "integrity": "sha512-vwIVdXG+j+FOpkwqHRcBgHLYNL7XMkufrlaFvL9o6Ai9sJn9+PdyIL5qa0XzTZw084c+u9LOls53eoZWP/W5WQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-string-parser": "^7.24.8",
- "@babel/helper-validator-identifier": "^7.24.7",
+ "@babel/helper-string-parser": "^7.25.7",
+ "@babel/helper-validator-identifier": "^7.25.7",
"to-fast-properties": "^2.0.0"
},
"engines": {
@@ -1317,9 +1317,9 @@
}
},
"node_modules/@types/node": {
- "version": "22.7.3",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.3.tgz",
- "integrity": "sha512-qXKfhXXqGTyBskvWEzJZPUxSslAiLaB6JGP1ic/XTH9ctGgzdgYguuLP1C601aRTSDNlLb0jbKqXjZ48GNraSA==",
+ "version": "22.7.4",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.4.tgz",
+ "integrity": "sha512-y+NPi1rFzDs1NdQHHToqeiX2TIS79SWEAw9GYhkkx8bD0ChpfqC+n2j5OXOCpzfojBEBt6DnEnnG9MY0zk1XLg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1892,9 +1892,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001664",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001664.tgz",
- "integrity": "sha512-AmE7k4dXiNKQipgn7a2xg558IRqPN3jMQY/rOsbxDhrd0tyChwbITBfiwtnqz8bi2M5mIWbxAYBvk7W7QBUS2g==",
+ "version": "1.0.30001667",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001667.tgz",
+ "integrity": "sha512-7LTwJjcRkzKFmtqGsibMeuXmvFDfZq/nzIjnmgCGzKKRVzjD72selLDK1oPF/Oxzmt4fNcPvTDvGqSDG4tCALw==",
"dev": true,
"funding": [
{
@@ -2608,9 +2608,9 @@
"license": "MIT"
},
"node_modules/electron-to-chromium": {
- "version": "1.5.29",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.29.tgz",
- "integrity": "sha512-PF8n2AlIhCKXQ+gTpiJi0VhcHDb69kYX4MtCiivctc2QD3XuNZ/XIOlbGzt7WAjjEev0TtaH6Cu3arZExm5DOw==",
+ "version": "1.5.32",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.32.tgz",
+ "integrity": "sha512-M+7ph0VGBQqqpTT2YrabjNKSQ2fEl9PVx6AK3N558gDH9NO8O6XN9SXXFWRo9u9PbEg/bWq+tjXQr+eXmxubCw==",
"dev": true,
"license": "ISC"
},
@@ -4712,16 +4712,16 @@
"license": "MIT"
},
"node_modules/jsesc": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz",
+ "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==",
"dev": true,
"license": "MIT",
"bin": {
"jsesc": "bin/jsesc"
},
"engines": {
- "node": ">=4"
+ "node": ">=6"
}
},
"node_modules/json-parse-even-better-errors": {
@@ -5362,9 +5362,9 @@
}
},
"node_modules/nwsapi": {
- "version": "2.2.12",
- "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz",
- "integrity": "sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==",
+ "version": "2.2.13",
+ "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.13.tgz",
+ "integrity": "sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==",
"dev": true,
"license": "MIT"
},
@@ -6877,9 +6877,9 @@
}
},
"node_modules/update-browserslist-db": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz",
- "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz",
+ "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==",
"dev": true,
"funding": [
{
@@ -6897,8 +6897,8 @@
],
"license": "MIT",
"dependencies": {
- "escalade": "^3.1.2",
- "picocolors": "^1.0.1"
+ "escalade": "^3.2.0",
+ "picocolors": "^1.1.0"
},
"bin": {
"update-browserslist-db": "cli.js"
diff --git a/package.json b/package.json
index db156e50..5da6d27c 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "musicxml-midi",
- "version": "2.8.2",
+ "version": "2.8.3",
"description": "MusicXML to MIDI converter",
"type": "module",
"directories": {
diff --git a/src/js/musicxml-grooves.js b/src/js/musicxml-grooves.js
index e62f01cd..e2d8feee 100755
--- a/src/js/musicxml-grooves.js
+++ b/src/js/musicxml-grooves.js
@@ -72,6 +72,9 @@ const options = {
},
'tracks': {
type: 'string'
+ },
+ 'drumset': {
+ type: 'boolean'
}
}
const { values: args } = (() => {
@@ -86,7 +89,7 @@ const { values: args } = (() => {
if ('help' in args) {
console.log(`
-Usage: musicxml-grooves v${version} [--output|-o /path/to/output] [--grooves|-g comma-separated-grooves] [--tempo|-t beats-per-minute] [--validate] [--version|-v] [--help|-h]
+Usage: musicxml-grooves v${version} [--output|-o /path/to/output] [--grooves|-g comma-separated-grooves] [--tempo|-t beats-per-minute] [--grid comma-separated-grid-divisors] [--dashes] [--tracks comma-separated-tracks-to-keep] [--drumset] [--validate] [--version|-v] [--help|-h]
Converts MMA grooves to MusicXML.
`.trim())
@@ -222,6 +225,10 @@ function createPartList(groove) {
// Otherwise, we pick the instrument with the least pitches.
const parts = groove.tracks.reduce((parts, track) => {
track.candidateInstrumentIds = track.candidateInstrumentIds.sort((a, b) => {
+ if (!('drumset' in args)) {
+ if (a === 'drumset') return 1
+ if (b === 'drumset') return -1
+ }
if (partCandidates[b].usage === partCandidates[a].usage) {
if (a in parts) return -1
if (b in parts) return 1
@@ -299,7 +306,6 @@ function createPartListEntry(groove, instrumentId, partId) {
scoreInstrument: `
${drum.getElementsByTagName('instrument-name')[0].textContent}
- ${drum.getElementsByTagName('instrument-sound')[0].textContent}
`.trim(),
midiInstrument: `
diff --git a/src/xml/drums.xml b/src/xml/drums.xml
index dfe68745..d52e3d36 100644
--- a/src/xml/drums.xml
+++ b/src/xml/drums.xml
@@ -1,5 +1,236 @@
+
+ Drumset
+ D. Set
+ drum.group.set
+ 5
+
+ normal
+ F
+ 4
+ 2
+ Acoustic Bass Drum
+ drum.bass-drum
+ down
+
+
+ normal
+ F
+ 4
+ 2
+ Bass Drum 1
+ drum.bass-drum
+ down
+
+
+ x
+ C
+ 5
+ 1
+ Side Stick
+ drum.snare-drum
+ up
+
+
+ normal
+ C
+ 5
+ 1
+ Acoustic Snare
+ drum.snare-drum
+ up
+
+
+ normal
+ C
+ 5
+ 1
+ Electric Snare
+ drum.snare-drum
+ up
+
+
+ normal
+ A
+ 4
+ 1
+ Low Floor Tom
+ drum.tom-tom
+ up
+
+
+ x
+ G
+ 5
+ 3
+ Closed Hi-Hat
+ metal.hi-hat
+ up
+
+
+ normal
+ A
+ 4
+ 2
+ High Floor Tom
+ drum.tom-tom
+ down
+
+
+ x
+ D
+ 4
+ 3
+ Pedal Hi-Hat
+ metal.hi-hat
+ down
+
+
+ normal
+ D
+ 5
+ 1
+ Low Tom
+ drum.tom-tom
+ up
+
+
+ x
+ E
+ 5
+ 3
+ Open Hi-Hat
+ metal.hi-hat
+ up
+
+
+ normal
+ E
+ 5
+ 1
+ Low-Mid Tom
+ drum.tom-tom
+ up
+
+
+ normal
+ F
+ 5
+ 1
+ Hi-Mid Tom
+ drum.tom-tom
+ up
+
+
+ x
+ A
+ 5
+ 3
+ Crash Cymbal 1
+ metal.cymbal.crash
+ up
+
+
+ normal
+ F
+ 5
+ 1
+ High Tom
+ drum.tom-tom
+ up
+
+
+ x
+ F
+ 5
+ 3
+ Ride Cymbal 1
+ metal.cymbal.ride
+ up
+
+
+ x
+ B
+ 5
+ 3
+ Chinese Cymbal
+ metal.cymbal.chinese
+ up
+
+
+ diamond
+ F
+ 5
+ 3
+ Ride Bell
+ metal.cymbal.ride
+ up
+
+
+ diamond
+ D
+ 5
+ 4
+ Tambourine
+ drum.tambourine
+ up
+
+
+ x
+ B
+ 5
+ 3
+ Splash Cymbal
+ metal.cymbal.splash
+ up
+
+
+ inverted-triangle
+ E
+ 5
+ 4
+ Cowbell
+ metal.bells.cowbell
+ up
+
+
+ x
+ B
+ 5
+ 3
+ Crash Cymbal 2
+ metal.cymbal.crash
+ up
+
+
+ x
+ D
+ 5
+ 3
+ Ride Cymbal 2
+ metal.cymbal.ride
+ up
+
+
+ x
+ B
+ 4
+ 4
+ Open Hi Conga
+ drum.conga
+ up
+
+
+ x
+ G
+ 4
+ 4
+ Low Conga
+ drum.conga
+ up
+
+
High Q
Hi. Q
diff --git a/test/data/grooves/JazzBasieEndingB.musicxml b/test/data/grooves/JazzBasieEndingB.musicxml
index df9ecfde..731a92d0 100644
--- a/test/data/grooves/JazzBasieEndingB.musicxml
+++ b/test/data/grooves/JazzBasieEndingB.musicxml
@@ -8,8 +8,8 @@
- musicxml-grooves 2.8.1
- 2024-09-27
+ musicxml-grooves 2.8.2
+ 2024-10-06
diff --git a/test/data/grooves/highfiveA.musicxml b/test/data/grooves/highfiveA.musicxml
index 1bf5a8f0..fa03c640 100644
--- a/test/data/grooves/highfiveA.musicxml
+++ b/test/data/grooves/highfiveA.musicxml
@@ -8,8 +8,8 @@
- musicxml-grooves 2.8.1
- 2024-09-27
+ musicxml-grooves 2.8.2
+ 2024-10-06
@@ -19,24 +19,95 @@
- Snare Drum
- Sn. Dr.
-
- Snare Drum 1
- drum.snare-drum
+ Drumset
+ D. Set
+
+ Acoustic Bass Drum
-
- Snare Drum 2
- drum.snare-drum
+
+ Bass Drum 1
Side Stick
- drum.snare-drum
-
- Rim Shot
- drum.snare-drum
+
+ Acoustic Snare
+
+
+ Electric Snare
+
+
+ Low Floor Tom
+
+
+ Closed Hi-Hat
+
+
+ High Floor Tom
+
+
+ Pedal Hi-Hat
+
+
+ Low Tom
+
+
+ Open Hi-Hat
+
+
+ Low-Mid Tom
+
+
+ Hi-Mid Tom
+
+
+ Crash Cymbal 1
+
+
+ High Tom
+
+
+ Ride Cymbal 1
+
+
+ Chinese Cymbal
+
+
+ Ride Bell
+
+
+ Tambourine
+
+
+ Splash Cymbal
+
+
+ Cowbell
+
+
+ Crash Cymbal 2
+
+
+ Ride Cymbal 2
+
+
+ Open Hi Conga
+
+
+ Low Conga
+
+ 10
+ 36
+
+
+ 10
+ 37
+
+
+ 10
+ 38
+
10
39
@@ -45,125 +116,85 @@
10
41
-
+
10
- 38
+ 42
-
+
10
- 92
+ 43
-
-
- Bass Drum
- B. Dr.
-
- Kick Drum 2
- drum.bass-drum
-
-
- Kick Drum 1
- drum.bass-drum
-
-
- Pedal Hi-Hat
- metal.hi-hat
-
-
+
10
- 36
+ 44
-
+
10
- 37
+ 45
-
+
10
- 45
+ 46
-
-
- Cymbals
- Cym.
-
- Ride Cymbal 2
- metal.cymbal.ride
-
-
- Cowbell
- metal.bells.cowbell
-
-
- Ride Cymbal 1
- metal.cymbal.ride
-
-
- Ride Bell
- metal.cymbal.ride
-
-
- Open Hi-Hat
- metal.hi-hat
-
-
- Closed Hi-Hat
- metal.hi-hat
-
-
- Crash Cymbal 1
- metal.cymbal.crash
-
-
- Crash Cymbal 2
- metal.cymbal.crash
-
-
- Splash Cymbal
- metal.cymbal.splash
-
-
- Chinese Cymbal
- metal.cymbal.chinese
-
-
+
10
- 60
+ 47
-
+
10
- 57
+ 48
+
+
+ 10
+ 49
+
+
+ 10
+ 50
+
+
+ 10
+ 51
-
+
10
52
-
+
+ 10
+ 53
+
+
10
54
-
+
10
- 47
+ 55
-
+
10
- 43
+ 56
-
+
10
- 50
+ 57
-
+
10
58
-
+
10
- 56
+ 60
-
+
10
- 53
+ 64
+
+
+ 10
+ 65
@@ -179,7 +210,7 @@
percussion
- 1
+ 5
@@ -201,8 +232,8 @@
- E
- 4
+ C
+ 5
768
@@ -223,8 +254,8 @@
- E
- 4
+ C
+ 5
256
@@ -252,8 +283,8 @@
- E
- 4
+ C
+ 5
256
@@ -283,480 +314,448 @@
-
-
+
+ 3072
+
+
+
+ F
+ 4
+
+ 576
+
+ 2
+ eighth
+
+ down
+ normal
+
+
+
+
+
+ F
+ 4
+
+ 192
+
+ 2
+ 16th
+ down
+ normal
+
+
+
768
- 1
+ 2
quarter
- E
+ F
4
- 256
-
- 1
+ 576
+
+ 2
eighth
-
- 3
- 2
- quarter
-
- up
+
+ down
normal
-
-
- 3
- eighth
-
-
- 2
- quarter
-
-
- E
+ F
4
- 512
-
- 1
- quarter
-
- 3
- 2
- quarter
-
- up
+ 192
+
+ 2
+ 16th
+ down
normal
-
768
- 1
+ 2
quarter
+
+ 3072
+
- E
- 4
+ G
+ 5
- 256
-
- 1
- eighth
+ 192
+
+ 3
+ 16th
+ up
+ x
+
+
+
+
+
+ G
+ 5
+
+ 192
+
+ 3
+ 16th
+ up
+ x
+
+
+
+
+
+ 128
+ 3
+ 16th
3
2
- eighth
+ 16th
- up
- normal
3
- eighth
+ 16th
2
- eighth
+ 16th
- E
- 4
+ G
+ 5
- 256
-
- 1
- eighth
+ 128
+
+ 3
+ 16th
3
2
- eighth
+ 16th
up
- normal
+ x
-
-
- 256
- 1
- eighth
+
+
+ G
+ 5
+
+ 128
+
+ 3
+ 16th
3
2
- eighth
+ 16th
+ up
+ x
-
-
-
-
- 768
- 1
- quarter
-
+
+
+ G
+ 5
+
+ 192
+
+ 3
+ 16th
+ up
+ x
+
- E
- 4
+ G
+ 5
- 768
-
- 1
- quarter
+ 192
+
+ 3
+ 16th
up
- normal
+ x
- 768
- 1
- quarter
-
-
-
-
-
- E
- 4
-
- 256
-
- 1
- eighth
+ 128
+ 3
+ 16th
3
2
- eighth
+ 16th
- up
- normal
3
- eighth
+ 16th
2
- eighth
+ 16th
- E
- 4
+ G
+ 5
- 256
-
- 1
- eighth
+ 128
+
+ 3
+ 16th
3
2
- eighth
+ 16th
up
- normal
+ x
-
-
- 256
- 1
- eighth
+
+
+ G
+ 5
+
+ 128
+
+ 3
+ 16th
3
2
- eighth
+ 16th
+ up
+ x
-
-
-
-
- 768
- 1
- quarter
-
-
-
- E
- 4
+ G
+ 5
- 256
-
- 1
- eighth
-
- 3
- 2
- quarter
-
+ 192
+
+ 3
+ 16th
up
- normal
+ x
-
-
- 3
- eighth
-
-
- 2
- quarter
-
-
- E
- 4
+ G
+ 5
- 512
-
- 1
- quarter
-
- 3
- 2
- quarter
-
+ 192
+
+ 3
+ 16th
up
- normal
+ x
-
- 768
- 1
- quarter
-
-
-
-
-
- E
- 4
-
- 256
-
- 1
- eighth
+ 128
+ 3
+ 16th
3
2
- eighth
+ 16th
- up
- normal
3
- eighth
+ 16th
2
- eighth
+ 16th
- E
- 4
+ G
+ 5
- 256
-
- 1
- eighth
+ 128
+
+ 3
+ 16th
3
2
- eighth
+ 16th
up
- normal
+ x
-
-
- 256
- 1
- eighth
+
+
+ G
+ 5
+
+ 128
+
+ 3
+ 16th
3
2
- eighth
+ 16th
+ up
+ x
-
-
-
-
-
- 768
-
-
- percussion
-
-
- 5
-
-
-
-
- F
- 4
-
- 576
-
- 1
- eighth
-
- down
- normal
-
-
-
- F
- 4
+ G
+ 5
192
-
- 1
+
+ 3
16th
- down
- normal
-
-
-
-
-
- 768
- 1
- quarter
+ up
+ x
- F
- 4
+ G
+ 5
- 576
-
- 1
- eighth
-
- down
- normal
+ 192
+
+ 3
+ 16th
+ up
+ x
- F
- 4
+ G
+ 5
- 192
-
- 1
+ 128
+
+ 3
16th
- down
- normal
+
+ 3
+ 2
+ 16th
+
+ up
+ x
+
+
+ 3
+ 16th
+
+
+ 2
+ 16th
+
+
- 768
- 1
- quarter
-
-
-
-
-
-
-
- F
- 4
-
- 576
-
- 1
- eighth
-
- down
- normal
+ 128
+ 3
+ 16th
+
+ 3
+ 2
+ 16th
+
- F
- 4
+ G
+ 5
- 192
-
- 1
+ 128
+
+ 3
16th
- down
- normal
+
+ 3
+ 2
+ 16th
+
+ up
+ x
+
+
+
768
@@ -767,31 +766,51 @@
- F
- 4
+ C
+ 5
- 576
-
+ 256
+
1
eighth
-
- down
+
+ 3
+ 2
+ quarter
+
+ up
normal
+
+
+ 3
+ eighth
+
+
+ 2
+ quarter
+
+
- F
- 4
+ C
+ 5
- 192
-
+ 512
+
1
- 16th
- down
+ quarter
+
+ 3
+ 2
+ quarter
+
+ up
normal
+
@@ -802,53 +821,79 @@
-
-
- F
- 4
+ C
+ 5
- 576
-
+ 256
+
1
eighth
-
- down
+
+ 3
+ 2
+ eighth
+
+ up
normal
+
+
+ 3
+ eighth
+
+
+ 2
+ eighth
+
+
- F
- 4
+ C
+ 5
- 192
-
+ 256
+
1
- 16th
- down
+ eighth
+
+ 3
+ 2
+ eighth
+
+ up
normal
- 768
+ 256
1
- quarter
+ eighth
+
+ 3
+ 2
+ eighth
+
+
+
+ 3072
+
F
4
576
-
- 1
+
+ 2
eighth
down
@@ -862,8 +907,8 @@
4
192
-
- 1
+
+ 2
16th
down
normal
@@ -873,21 +918,19 @@
768
- 1
+ 2
quarter
-
-
F
4
576
-
- 1
+
+ 2
eighth
down
@@ -901,8 +944,8 @@
4
192
-
- 1
+
+ 2
16th
down
normal
@@ -912,57 +955,21 @@
768
- 1
- quarter
-
-
-
-
-
- F
- 4
-
- 768
-
- 1
- quarter
- down
- normal
-
-
-
-
-
- 768
- 1
+ 2
quarter
-
-
-
-
-
- 768
-
-
- percussion
-
-
- 5
-
-
+
+ 3072
+
G
5
192
-
+
3
16th
up
@@ -976,7 +983,7 @@
5
192
-
+
3
16th
up
@@ -1013,7 +1020,7 @@
5
128
-
+
3
16th
@@ -1032,7 +1039,7 @@
5
128
-
+
3
16th
@@ -1052,7 +1059,7 @@
5
192
-
+
3
16th
up
@@ -1066,7 +1073,7 @@
5
192
-
+
3
16th
up
@@ -1103,7 +1110,7 @@
5
128
-
+
3
16th
@@ -1122,7 +1129,7 @@
5
128
-
+
3
16th
@@ -1142,7 +1149,7 @@
5
192
-
+
3
16th
up
@@ -1156,7 +1163,7 @@
5
192
-
+
3
16th
up
@@ -1193,7 +1200,7 @@
5
128
-
+
3
16th
@@ -1212,7 +1219,7 @@
5
128
-
+
3
16th
@@ -1232,7 +1239,7 @@
5
192
-
+
3
16th
up
@@ -1246,7 +1253,7 @@
5
192
-
+
3
16th
up
@@ -1260,7 +1267,7 @@
5
128
-
+
3
16th
@@ -1302,7 +1309,7 @@
5
128
-
+
3
16th
@@ -1317,194 +1324,186 @@
-
-
-
- G
- 5
-
- 192
-
- 3
- 16th
- up
- x
+
+
+
+ 768
+ 1
+ quarter
- G
+ C
5
- 192
-
- 3
- 16th
+ 768
+
+ 1
+ quarter
up
- x
+ normal
- 128
- 3
- 16th
+ 768
+ 1
+ quarter
+
+
+
+
+
+ C
+ 5
+
+ 256
+
+ 1
+ eighth
3
2
- 16th
+ eighth
+ up
+ normal
3
- 16th
+ eighth
2
- 16th
+ eighth
- G
+ C
5
- 128
-
- 3
- 16th
+ 256
+
+ 1
+ eighth
3
2
- 16th
+ eighth
up
- x
+ normal
-
-
- G
- 5
-
- 128
-
- 3
- 16th
+
+
+ 256
+ 1
+ eighth
3
2
- 16th
+ eighth
- up
- x
+
+ 3072
+
- G
- 5
+ F
+ 4
- 192
-
- 3
- 16th
- up
- x
+ 576
+
+ 2
+ eighth
+
+ down
+ normal
- G
- 5
+ F
+ 4
192
-
- 3
+
+ 2
16th
- up
- x
+ down
+ normal
- 128
- 3
- 16th
-
- 3
- 2
- 16th
-
+ 768
+ 2
+ quarter
-
-
- 3
- 16th
-
-
- 2
- 16th
-
-
- G
- 5
+ F
+ 4
- 128
-
- 3
- 16th
-
- 3
- 2
- 16th
-
- up
- x
+ 576
+
+ 2
+ eighth
+
+ down
+ normal
- G
- 5
+ F
+ 4
- 128
-
- 3
+ 192
+
+ 2
16th
-
- 3
- 2
- 16th
-
- up
- x
+ down
+ normal
+
+
+
+
+
+ 768
+ 2
+ quarter
-
+
+ 3072
+
G
5
192
-
+
3
16th
up
@@ -1518,7 +1517,7 @@
5
192
-
+
3
16th
up
@@ -1555,7 +1554,7 @@
5
128
-
+
3
16th
@@ -1574,7 +1573,7 @@
5
128
-
+
3
16th
@@ -1594,7 +1593,7 @@
5
192
-
+
3
16th
up
@@ -1608,7 +1607,7 @@
5
192
-
+
3
16th
up
@@ -1616,13 +1615,9 @@
-
-
- G
- 5
-
+
+
128
-
3
16th
@@ -1630,8 +1625,6 @@
2
16th
- up
- x
@@ -1645,9 +1638,13 @@
-
-
+
+
+ G
+ 5
+
128
+
3
16th
@@ -1655,6 +1652,8 @@
2
16th
+ up
+ x
@@ -1664,7 +1663,7 @@
5
128
-
+
3
16th
@@ -1678,15 +1677,13 @@
-
-
G
5
192
-
+
3
16th
up
@@ -1700,7 +1697,7 @@
5
192
-
+
3
16th
up
@@ -1737,7 +1734,7 @@
5
128
-
+
3
16th
@@ -1756,7 +1753,7 @@
5
128
-
+
3
16th
@@ -1776,7 +1773,7 @@
5
192
-
+
3
16th
up
@@ -1790,7 +1787,7 @@
5
192
-
+
3
16th
up
@@ -1798,9 +1795,13 @@
-
-
+
+
+ G
+ 5
+
128
+
3
16th
@@ -1808,6 +1809,8 @@
2
16th
+ up
+ x
@@ -1821,13 +1824,9 @@
-
-
- G
- 5
-
+
+
128
-
3
16th
@@ -1835,8 +1834,6 @@
2
16th
- up
- x
@@ -1846,7 +1843,7 @@
5
128
-
+
3
16th
@@ -1860,195 +1857,207 @@
-
-
- G
- 5
-
- 192
-
- 3
- 16th
- up
- x
+
+
+
+
+ 768
+ 1
+ quarter
- G
+ C
5
- 192
-
- 3
- 16th
- up
- x
-
-
-
-
-
- 128
- 3
- 16th
+ 256
+
+ 1
+ eighth
3
2
- 16th
+ quarter
+ up
+ normal
3
- 16th
+ eighth
2
- 16th
+ quarter
- G
+ C
5
- 128
-
- 3
- 16th
+ 512
+
+ 1
+ quarter
3
2
- 16th
+ quarter
up
- x
+ normal
+
+
+
+
+
+
+ 768
+ 1
+ quarter
- G
+ C
5
- 128
-
- 3
- 16th
+ 256
+
+ 1
+ eighth
3
2
- 16th
+ eighth
up
- x
+ normal
-
+
+
+ 3
+ eighth
+
+
+ 2
+ eighth
+
+
- G
+ C
5
- 192
-
- 3
- 16th
+ 256
+
+ 1
+ eighth
+
+ 3
+ 2
+ eighth
+
up
- x
+ normal
+
+
+
+
+
+ 256
+ 1
+ eighth
+
+ 3
+ 2
+ eighth
+
+
+
+ 3072
+
- G
- 5
+ F
+ 4
- 192
-
- 3
- 16th
- up
- x
+ 576
+
+ 2
+ eighth
+
+ down
+ normal
- G
- 5
+ F
+ 4
- 128
-
- 3
+ 192
+
+ 2
16th
-
- 3
- 2
- 16th
-
- up
- x
+ down
+ normal
-
-
- 3
- 16th
-
-
- 2
- 16th
-
-
- 128
- 3
- 16th
-
- 3
- 2
- 16th
-
+ 768
+ 2
+ quarter
- G
- 5
+ F
+ 4
- 128
-
- 3
- 16th
-
- 3
- 2
- 16th
-
- up
- x
+ 768
+
+ 2
+ quarter
+ down
+ normal
-
-
-
+
+
+ 768
+ 2
+ quarter
+
+
+
+
+ 3072
+
G
5
192
-
+
3
16th
up
@@ -2062,7 +2071,7 @@
5
192
-
+
3
16th
up
@@ -2099,7 +2108,7 @@
5
128
-
+
3
16th
@@ -2118,7 +2127,7 @@
5
128
-
+
3
16th
@@ -2138,7 +2147,7 @@
5
192
-
+
3
16th
up
@@ -2152,7 +2161,7 @@
5
192
-
+
3
16th
up
@@ -2189,7 +2198,7 @@
5
128
-
+
3
16th
@@ -2208,7 +2217,7 @@
5
128
-
+
3
16th
@@ -2228,7 +2237,7 @@
5
192
-
+
3
16th
up
@@ -2242,7 +2251,7 @@
5
192
-
+
3
16th
up
@@ -2279,7 +2288,7 @@
5
128
-
+
3
16th
@@ -2298,7 +2307,7 @@
5
128
-
+
3
16th
@@ -2318,7 +2327,7 @@
5
192
-
+
3
16th
up
@@ -2332,7 +2341,7 @@
5
192
-
+
3
16th
up
@@ -2346,7 +2355,7 @@
5
128
-
+
3
16th
@@ -2388,7 +2397,7 @@
5
128
-
+
3
16th