diff --git a/packages/alphatab/src/importer/GpifParser.ts b/packages/alphatab/src/importer/GpifParser.ts index ceffcb228..b7bd46907 100644 --- a/packages/alphatab/src/importer/GpifParser.ts +++ b/packages/alphatab/src/importer/GpifParser.ts @@ -2393,26 +2393,26 @@ export class GpifParser { case 'HarmonicType': const htype = c.findChildElement('HType'); if (htype) { - switch (htype.innerText) { - case 'NoHarmonic': + switch (htype.innerText.toLowerCase()) { + case 'noharmonic': note.harmonicType = HarmonicType.None; break; - case 'Natural': + case 'natural': note.harmonicType = HarmonicType.Natural; break; - case 'Artificial': + case 'artificial': note.harmonicType = HarmonicType.Artificial; break; - case 'Pinch': + case 'pinch': note.harmonicType = HarmonicType.Pinch; break; - case 'Tap': + case 'tap': note.harmonicType = HarmonicType.Tap; break; - case 'Semi': + case 'semi': note.harmonicType = HarmonicType.Semi; break; - case 'Feedback': + case 'feedback': note.harmonicType = HarmonicType.Feedback; break; } diff --git a/packages/alphatab/test-data/guitarpro8/harmonics-lowercase.gp b/packages/alphatab/test-data/guitarpro8/harmonics-lowercase.gp new file mode 100644 index 000000000..dfaf764d5 Binary files /dev/null and b/packages/alphatab/test-data/guitarpro8/harmonics-lowercase.gp differ diff --git a/packages/alphatab/test/importer/Gp8Importer.test.ts b/packages/alphatab/test/importer/Gp8Importer.test.ts index 9fe94ed4e..0ef7ffa1d 100644 --- a/packages/alphatab/test/importer/Gp8Importer.test.ts +++ b/packages/alphatab/test/importer/Gp8Importer.test.ts @@ -504,4 +504,10 @@ describe('Gp8ImporterTest', () => { expect(score.masterBars[5].beamingRules!.groups.has(Duration.Eighth)).to.be.true; expect(score.masterBars[5].beamingRules!.groups.get(Duration.Eighth)!.join(',')).to.be.equal('4,4'); }); + + it('harmonics-lowercase', async () => { + const reader = await prepareImporterWithFile('guitarpro8/harmonics-lowercase.gp'); + const score = reader.readScore(); + GpImporterTestHelper.checkHarmonics(score); + }); });