GSoC 2020: Albums, Week 8, Approaching our destination.
The end of stage 2
The time for the second evaluation of this GSoC project has come and with that, I bring you a bunch of updates and the long-awaited video that I promised you weeks ago. Let's get down to business now, shall we?
The updates
- Added the option to include the absolute paths to the scores when saving the album.
- Added the ability to edit the style of the movements in album mode.
- Added an option to move score titles to the beginning of the next page instead of being placed at the bottom of the current page.
- Rewrites for the libmscore part of the codebase (not yet done, but significant progress has been made), mscore part is next.
- Added a bunch of new tests (they don't yet work 100% but they have already helped me improve the code quality).
- Fixed score layout and element positions when in score mode, after having entered album-mode.
- Fixed changing accidentals would not redraw the scoreview.
- Various fixes to the layout and playback related to whether there is a contents page.
- Improved score/album duration code.
- Fixed crashes and oversights related to creating a new album.
- Fixed selection highlighting in a movement not being removed when selecting an element of a different movement.
- Improved album playback.
- Fixed instrument sounds in album-mode.
- Fixed a bug where the box surrounding the selected measure would not be displayed in Album-mode.
- Improved behaviour when reordering tabs and closing/reopening scores.
- Added the ability to change View for all scores in the Album.
- When a score is removed from the Album the corresponding movement is removed from the Temporary Album Score.
- Fixed crashes in the front cover and contents pages when the first movement did not have the required fields.
- Improved handling of composer and lyricist names for the front cover (duplicates, new line characters, empty strings, all handled).
- Fixed multiple crashes.
The future
This week I will complete my refactoring and rewrites. I will also complete my test-writing journey. After those 2 things, I will clean my main git branch. I also want to start adding some shortcuts. Finally, I will start working on implementing the ability to make changes to multiple scores at the same time.