Overview of work this week
This week has been focused on finishing unsupported features and generally tweaking different parts of the implementation. Here’s a brief overview:
- Copyright statement import modified to import text verbatim;
- Finished support for tremolo bars;
- Fixed centering of empty bars in Guitar Pro 5 which could in some cases still contain rests which weren’t centered;
- Some imported values such as reverb and volume at set to a default value of 0 if not specified, and not 255 as specified by Guitar Pro which wasn’t compatible with Musescore (some 0-127 ranges);
- Slides modified so that the user can vary the length of the slide, and updated drawing mechanism so that the bounding box was computed correctly;
- Modified certain Guitar Pro articulations so that they will always appear above the staff and never below it (e.g. vibrato, fade symbols);
- Fixed arpeggio and brush confusion on import;
- Logic fix to drumsets so we always use the drumset we specify.
There is an edit to be made to drawing of “free time” time signatures and some other minor tweaks that will be made (see below) before I can send in a PR with all the latest changes, I expect to put that in either today or tomorrow.
Key tasks that stalled
Overview of work for next week
There should now be machinery in place now for all features that can be specified in Guitar Pro (which will appear in the Musescore master once I’m finished editing the free time spacing). There are a couple of other things I’m still looking at also, so here’s what I’m planning to do:
- Fix free time spacing of parenthesis;
- Fix key signature warnings (they are correct but we still get warnings – they are specified multiple times in different places of the score file so I think they are being imported multiple times. We should just not import them again);
- Verify fingering layout. Fingering::layout() was removed recently and I need to check whether that affects my implementation. If so I’ll need to sort that out.
I’ll be using tomorrow and hopefully some of today to get through the first three points of the above list. At that point I’ll be just testing the implementation with large Guitar Pro files and checking the results (fixing problems as I go along) and documenting the implementation to a larger degree. I have a week to do this so there should be time to make additional fixes to various features. I know there are some people on the mailing list waiting for the latest features to go in, I’ll send a message on the mailing list when it’s available.