feat: new guitar pro instrument set writing #2477
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issues
Fixes #2467
Proposed changes
based on the changes of @L-Sun I further refactored the current code around percussion articulations.
The complexity of this PR shows how nasty the mapping close to GuitarPro is. its index-based articulation lookup (vs. an id lookup), and the historical problems scream for a rework. I'd with GP would use proper unique IDs for the articulations instead of an index and "input midi number" approach.
Generally this PR tries to prepare already some model areas for having a "articulation by id" approach.
InstrumentSetis now moved to a dedicated component with the idea that the RSE information could be loaded from a template file in future.On the way I discovered a bug that the
NotationPatchwas incorrectly applied as we have to use the Element name for identification.This change allows using RSE until some extend. Some aspects of the effect chain are not in-place which can lead to strange UI discrepancies (e.g.
RSE/SoundbankPatch).Checklist
Further details