Note: parked in this fork as a reminder. Intent is to file upstream at CoderLine/alphaTab via the "Bug report" issue template (https://github.com/CoderLine/alphaTab/issues/new/choose), not as a plain issue.
Gp3To5Importer.readNoteEffects (packages/alphatab/src/importer/Gp3To5Importer.ts, line 1214) treats note-flags bit 0x02 as AccentuationType.Heavy for all GP3/GP4/GP5 versions:
if ((flags & 0x02) !== 0) {
newNote.accentuated = AccentuationType.Heavy;
} else if ((flags & 0x40) !== 0) {
newNote.accentuated = AccentuationType.Normal;
}
This does not match the original Guitar Pro applications. Heavy accents (0x02) only exist in GP5 — they are silently dropped when GP3/GP4 read or write the file.
@Perlence (maintainer of PyGuitarPro) ran an empirical test against Guitar Pro 4.0 and Guitar Pro 5.2 and posted the full read/write matrix here:
Perlence/PyGuitarPro#56 (comment)
Summary:
| Format |
Op |
Flag |
Original GP behaviour |
| GP3 |
read `0x02` |
— |
no effect |
| GP3 |
read `0x40` |
— |
accentuated |
| GP4 |
read `0x02` |
— |
no effect |
| GP4 |
read `0x40` |
— |
accentuated |
| GP5 |
read `0x02` |
— |
heavy accentuated |
| GP5 |
read `0x40` |
— |
accentuated |
GP3 has no accent support at all; GP4 has only normal (`0x40`); GP5 has both.
Suggested fix: gate the Heavy branch on _versionNumber >= 500:
if (this._versionNumber >= 500 && (flags & 0x02) !== 0) {
newNote.accentuated = AccentuationType.Heavy;
} else if ((flags & 0x40) !== 0) {
newNote.accentuated = AccentuationType.Normal;
}
Happy to send a PR if helpful.
Gp3To5Importer.readNoteEffects(packages/alphatab/src/importer/Gp3To5Importer.ts, line 1214) treats note-flags bit0x02asAccentuationType.Heavyfor all GP3/GP4/GP5 versions:This does not match the original Guitar Pro applications. Heavy accents (
0x02) only exist in GP5 — they are silently dropped when GP3/GP4 read or write the file.@Perlence (maintainer of PyGuitarPro) ran an empirical test against Guitar Pro 4.0 and Guitar Pro 5.2 and posted the full read/write matrix here:
Perlence/PyGuitarPro#56 (comment)
Summary:
GP3 has no accent support at all; GP4 has only normal (`0x40`); GP5 has both.
Suggested fix: gate the Heavy branch on
_versionNumber >= 500:Happy to send a PR if helpful.