GSoC 2017: Accessibility - Week 8

Posted 5 years ago

This week I worked on assigning shortcuts to palette elements.

Key accomplishments

  • Added an option to set a shortcut in the palette cell context menu

  • Added a shortcut command to assign a shortcut to the currently selected palette element

  • Shortcut conflict detection:
    I improved the shortcut conflict detection to detect shortcut conflicts with other shortcut commands, with other palette shortcuts, and with menu shortcuts.

  • Palette shortcut manager:
    I made some improvements to the palette shortcut manager. It now displays the last shortcut assigned. Also, I extended the list of elements that it displays to all palette elements.

  • Worked on updating the shortcut of a palette element no matter how it was set (shortcut manager, context menu or shortcut command):
    When a shortcut is set using the palette shortcut manager, the shortcut of the same element, if it occurs in the palette box, is updated. This still needs some work. When the cell name of the element is unique, it works fine. However, when there are many elements with the same cell name, there are problems. Updating the shortcut of an element in the shortcut manager, when the shortcut was set using the context menu or shortcut command, also works if the cell name is unique, but there may be problems if the cell name is not unique.

Key tasks that stalled

No tasks stalled this week.

Tasks for the upcoming week

  • Fix problems associated with setting a palette shortcut for an element with cell name not unique
  • Fix bugs in palette_shortcut branch, if any
  • Make necessary changes to the palette navigation code


I'm not a C++ programmer, so I don't know how individual cells are named in the palettes. Perhaps an internal name object could be added to the palette cells that allows a definite unique name to be assigned to it. It could be something as simple as pppcccc where ppp is the palette number and cccc is the cell number assigned to the palette. Finding a duplicate when adding an item to a custom palette and creating a unique identifier should become easy. This assures that when a custom palette is created and the cells default to not being named, they will not all end up having the same name.

Great progress! An often requested feature is the ability to assign shortcuts to the fingerings so it becomes easier to quickly add fingerings to notes, in particular for guitar and piano.

Could you create a screencast and demonstrate your work with this particular use case? Once the screencast is created, we can share it on the MuseScore social media and attract testers.

If you are on macOS you can simply use QuickTime to create a screencast in 1024p or more and load it up on your YouTube account.