GSoC 2018 - Beginner Mode and Tutorial Creation - Week 12

Posted 3 years ago

This is my last weekly update on my Google Summer of Code project. There will be four parts of this blog post: what I did, what had issues, what I will do next, and what is next for a continuation of this project. Then, I will end it with a question that I would like answered for part of the project.

What I did

  • Final documentation
    • After looking around at where I would need to inject my documentation for the new workspace, I created the following documentation. When I went to take screencaps to go along with the documentation, my program wouldn't build so I will make sure to update it when I get it to build.

Custom workspace

A custom workspace allows you to select which palettes are listed, and to customize the contents of those palettes. It also allows you to save an assortment of MuseScore's features such as: tool bar items, graphical features (e.g. font type and size, colors, etc.), graphical setup (e.g. location of tool bars, palette, mixer, etc.), and the menu bar setup.

There are two ways to create a customizable workspace:
1. Select an existing workspace. Use the drop-down list at the bottom of the workspace panel if needed. Click the + button.
2. Select EditWorkspaces, and chose a workspace. Select New.

Workspace Creation Picture

From here, you can set the new workspace name as well as decide the components to save to the workspace. Next, click OK and the workspace will be added to the list.

Right-clicking over the workspace will display a menu: this has options allowing you to insert, delete, rename and reorder the palettes within it. The contents of individual palettes can be edited in a similar fashion once you've checked "Enable Editing" for a palette. For more details, see Custom palettes and Palette menu (below).

The following documentation is to cover the altering of tool bars. I'm not sure where this would go, but I think it is important to cover. Since I can't build the code, some of the menu options may be off, but the general idea is there.

Editing Tool Bar Items

The three main tool bars -- entry tools, file operations, and playback operations -- may be customized to fit your needs. To access the the editor, use the menu option EditToolbar and selected Edit Toolbars.

An editor will appear with three main windows, from left to right:
1. A list of all three toolbars
2. The current items in the selected toolbar
3. A list of all possible remaining items that could be added to the current toolbar.

To make a change:
1. Select the desired toolbar.
2. Choose an item to add to/remove from the toolbar.
3. Select to remove or to add.

What had issues

  • Bad Build
    • When trying to grab the pictures for this blog post, my build was not working anymore and I was unable to figure out why. I will fix that so I can get some pictures recorded on my blogs.
  • Creating a custom tour message box
    • I spent time this week trying to create a custom tour message box that looked smoother and more fitting with MuseScore's style. However, each iteration did not work and caused more problems. I feel this is something that needs more work and dedicated community effort to get a desired outcome. Also, it should have more research to conform to the norm of functionality tours.

What is next for me

  • Polish the toolbar editor
    • There is a roughness to the toolbar editor with a mixture of "spacer" items and blank items indicating separators in the toolbar. I will polish that up and make sure the items are consistent.
  • Finish and submit GSoC final report
  • Any loose ends

What is next as a future project

  • Develop a large set of tours
    • Working with the community, I hope the tour framework I implemented can be used fully to assist newcomers to MuseScore. I also hope that people can add tours to quickly teach people of their new features.
  • Update and improve the tour message box
    • As mentioned above, I attempted to revamp the message box but felt that it needs more focused effort and more community work to decide exactly how it looks. It should be researched among multiple different functionality tours in order to conform to the standard.

Question for the Week

What do you think of my documentation?


Joshua Bonn
Github: JoshuaBonn1
Tours Branch: startup-tour
Workspace Branch: startup-tour


I was thinking about the IRC discussion regarding a rest to defaults button for toolbar. OK, I get that only custom workspaces would be customizable. When the worksapce is first created, it clones the current worksapce. Could we record that info? The original toolbar configuration when the workspace was created? It might be basic, advanced, or another custom toolbar. If that's convenient, then that could be worthwhile. Otherwise I think don't bother. We don't do the same for palettes, after all (or is there code for that now somewhere?)