(sound: GpifSound, node: XmlNode)
| 1244 | } |
| 1245 | |
| 1246 | private _parseSoundMidi(sound: GpifSound, node: XmlNode): void { |
| 1247 | let bankMsb = 0; |
| 1248 | let bankLsb = 0; |
| 1249 | for (const c of node.childElements()) { |
| 1250 | switch (c.localName) { |
| 1251 | case 'Program': |
| 1252 | sound.program = GpifParser._parseIntSafe(c.innerText, 0); |
| 1253 | break; |
| 1254 | case 'MSB': // coarse |
| 1255 | bankMsb = GpifParser._parseIntSafe(c.innerText, 0); |
| 1256 | break; |
| 1257 | case 'LSB': // Fine |
| 1258 | bankLsb = GpifParser._parseIntSafe(c.innerText, 0); |
| 1259 | break; |
| 1260 | } |
| 1261 | } |
| 1262 | |
| 1263 | sound.bank = ((bankMsb & 0x7f) << 7) | bankLsb; |
| 1264 | } |
| 1265 | |
| 1266 | private _parsePartSounding(trackId: string, track: Track, node: XmlNode): void { |
| 1267 | for (const c of node.childElements()) { |
no test coverage detected