There was no checking for any specific patterns in deletions and insertions, just matching with respect the base pattern of notes and snotes. This meant that the classes:
MatchSnoteTrailingScore
MatchSnoteNoPlayedNote
were never used and always ended up as MatchSnoteDeletion and the classes:
MatchHammerBounceNote
MatchTrailingPlayedNote
MatchTrillNote
were never used and always ended up as MatchInsertionNote. (which was mentioned in issue #286 )
The fix creates dummy instances in the base class methods to check for the correct patterns. This is a bit weird, but some of the classes only fix the patterns at instantiation, so I didn't know how else to get to the pattern. All above note classes are now correctly parsed and the parser further discards spurious lines such as spurious_tag-note(606,[G,#],5,63037,63119,63119,67). for not recognizing the pattern (this would previously have been an insertion).
There was no checking for any specific patterns in deletions and insertions, just matching with respect the base pattern of notes and snotes. This meant that the classes:
MatchSnoteTrailingScore
MatchSnoteNoPlayedNote
were never used and always ended up asMatchSnoteDeletion
and the classes:MatchHammerBounceNote
MatchTrailingPlayedNote
MatchTrillNote
were never used and always ended up asMatchInsertionNote
. (which was mentioned in issue #286 )The fix creates dummy instances in the base class methods to check for the correct patterns. This is a bit weird, but some of the classes only fix the patterns at instantiation, so I didn't know how else to get to the pattern. All above note classes are now correctly parsed and the parser further discards spurious lines such as
spurious_tag-note(606,[G,#],5,63037,63119,63119,67).
for not recognizing the pattern (this would previously have been an insertion).