Add a more flexible way to choose noteheads in drumset for percussion instrument
Currently in MuseScore <2.2, each drum in a drumset can be associated with a "notehead" in the UI. In fact, the UI is misleading and internally a drum is associated with what we call a "notehead group". A notehead group contains the notehead for whole, half, quarter and doublewhole note. Thanks to "notehead groups", a user can select a quarter note in the score, change the notehead to a cross and then change the note to half note and get the right notehead. We have a number of "notehead groups" and they group 4 noteheads together. This grouping is hardcoded and cannot be changed by the user.
Over the years, and recently we had requests to add more noteheads in MuseScore, especially for drums. But every time we add a "notehead", we actually add a full notehead group and 4 different notehead symbols are linked together forever.
For percussion instrument, I believe it's not the right approach. So I propose to implement a new "custom" head group for percussion only for now. If this group is choosen, the user can define 4 noteheads to be added to the group for each of the duration. The drumset dialog could look a bit like :
In drumset definition (instruments.xml, drm files, or in mscx), we could add something like the following and omit headCustom
when custom is not selected.
<head>custom</head> <headCustom> <whole>noteheadCircledWhole</whole> <half>noteheadCircledHalf</half> <quarter>noteheadCircledBlack/quarter> <doublewhole>another smufl id</doublewhole> </headCustom>
Comments
An excellent approach. I believe this will give far more flexibility.
I started work here https://github.com/musescore/MuseScore/pull/3620, still a lot to do.
@lasconic, in this thread @allegr0 mentions that he is "using JACK and Carla to get around the use of MIDI Channel 10 for drumset instruments" because "Musescore will assign the first drumset staff to MIDI channel [A] 10. For the second drumset staff, Musescore assigns it to MIDI Channel [B]10, and so on."
Is it within the scope of possibility for a 2.3 release to be able to select the channel within the "Edit Drumset" window?
See https://github.com/musescore/MuseScore/pull/3640 for 2.3 and https://github.com/musescore/MuseScore/pull/3631 for master
Fixed in branch master, commit 6843d0a6ae
fix #271198: Add a more flexible way to choose noteheads in drumset for percussion instrument
Fixed in branch master, commit 0214736c4c
fix #271198: Add a more flexible way to choose noteheads in drumset for percussion instrument
Added "Custom" item to noteheads combobox, removed "invalid" item, set selection at the first tree element when opening the drumset editor, added interaction between custom noteheads group and notehead group combobox, fixed tab order.
Fixed drawing custom noteheads in preview window: Set cachedSymbol from current quarter note combobox value and added slot to update preview on chaning quarter value.
Fixed shadow note drawing: Apply specific notehead from drumset data.
Fixed in branch master, commit 3f46ed11ea
Merge pull request #3631 from anatoly-os/CustomNoteheadsAO
fix #271198: Custom noteheads implementation
Fixed in branch 2.3, commit 60283b0dff
fix #271198: Add a more flexible way to choose noteheads in drumset for percussion instrument
Added "Custom" item to noteheads combobox, removed "invalid" item, set selection at the first tree element when opening the drumset editor, added interaction between custom noteheads group and notehead group combobox, fixed tab order.
Fixed drawing custom noteheads in preview window: Set cachedSymbol from current quarter note combobox value and added slot to update preview on chaning quarter value.
Fixed shadow note drawing: Apply specific notehead from drumset data.
Manually merged changes for drumset palette and editor from master
See 0214736c4c2e0d93151c9926b39478486b174441
Fixed in branch 2.3, commit 6257956759
Merge pull request #3640 from anatoly-os/CustomNoteheads23
fix #271198: Add a more flexible way to choose noteheads in drumset for percussion instrument (2.3)
Automatically closed -- issue fixed for 2 weeks with no activity.