GSoC'22 - Global Shortcuts
Introduction
Hello everyone, I am Rahul Garg, a second-year student at the International Institute of Information Technology in Hyderabad, India, where I am pursuing a B.Tech. in Computer Science and an MS in Computational Human Sciences. I am ecstatic to have been selected by MuseScore for GSOC'22, and I am eager to work on my project and interact with the community!
Project details
My project is titled "Global Shortcuts", and its purpose is to improve the shortcuts system within the application by allowing you to assign shortcuts directly to UI elements. This will expedite the workflow for frequently used UI elements by eliminating the need to search for them in the shortcut preferences page. I hope my vision for the project aligns with everyone else's, though I am entirely receptive to any recommendations.
Following team discussion, the project has been separated into a Minimum Viable Product (MVP) and extended objectives. MVP is the mandatory task, but, if time allows, I’ll start working on the extended objectives as well.
The minimum viable product would be the ability to assign a shortcut from the UI to the majority of shortcut-assignable UI components. This would include, for instance, the numerous note buttons in the input bar located above the notation view.
One possibility is to enable right-clicking on certain items, which should provide a context menu as seen below.
It would enable you to set or remove their keyboard shortcuts. Another alternative is to enable double-clicking for a more efficient workflow. Prototypes of both are seen in the short video below
If the MVP is completed ahead of schedule, there are some expanded objectives listed below.
Assigning shortcuts to items that don't already have them
There are several UI components, such as different palette items, that do not have shortcuts assigned to them. One of the extended objectives will be providing keyboard shortcuts to them through the user interface similar to the way mentioned before.
Categorizing shortcuts in shortcut preferences
As the number of shortcuts grows, the list on the shortcuts page may become quite overwhelming. To make this a little more user-friendly, creating subheadings for each kind of keyboard shortcut is a reasonable undertaking for an extended goal of this project. A design of the same made by the team is presented below.
Shortcut Presets
Another extended objective might be to preconfigure shortcut sets from many comparable apps like Sibelius, to make it simpler for users to adapt to using MuseScore with the shortcuts they are used to. Essentially you would have a presets button that would allow you to set it to various predefined shortcut sets.
Please note that the specifics of certain objectives such as placement of buttons, triggers of certain tasks etc. may be changed later as they adapt further to the team’s vision.
If you desire to follow my projects, please check out the following links.
- My fork of MuseScore: https://github.com/VanSHOE/MuseScore
- My blog on MuseScore: https://musescore.org/en/user/3638616/blog