Drumset edits have no effect after a change instrument object

• Jul 9, 2020 - 04:50
Reported version
S3 - Major

1.) See the attached score file, the drum editor doesn't work at all, all changes get lost right after closing the editor.
2.) Deleting the change instrument text will make the drum set editor start working as expected.

Apparently, it seems that an instrument change causes edits to any drumset on the staff only affect the first drumset only (which in this case is not visible).

See more details in the forum thread below:

Attachment Size
testN4.mscz 7.39 KB


I started to try to fix this, and it was simple enough to add a tick() parameter to the instrument() calls that get the drumset when editing. However, it then turns out we don't properly honor this when adding notes either, and as I started adding more tick() parameters to more instrument() calls, I started to realize there are lots of things not handled right, so it's probably not quite the simple safe fix I thought at first. On the positive side, I think if someone does go through and do a thorough job of this, it would suddenly become feasibly to switch between pitched and unpitched instruments on the same staff. To me, that's very much worth working towards, and then I think this particular issue would be fixed along the way.

In reply to by Marc Sabatella

Hi Marc,
One big plus is that you picked this up so quickly and took some time to investigate into it further.
The other one is the idea of treating unpitched instruments separately, because that's one of the main reasons why most scoring apps suck at writing drum scores. It seems that no developers took the time to read some contemporary drumkit scores and didn't put much thinking into creating an ergonomic workflow to create one.

So, there's one question that came to my mind regarding this while trying to make my first drum scores in MS:

It's really cumbersome to keep bouncing back and forth between the instrument palette (or whatever that ribbon is called at the bottom that holds the various kit pieces) and the staff note by note. I can see there are some hotkeys, but not for all instruments (maybe it's customizable and users can add key commands for each instrument, but that wouldn't make things much better, because they'd have to be memorized in order to be able to write fast).
So, would it be a big thing to:
1. Disallow different kit pieces to share the same note and appearence (notehead etc.) Allowing this doesn't make any sense in the first place within the scope of a single score. E.g. what's the point of making "acoustic snare" and "electric snare" look totally identical -which they do by default-, if a player wouldn't be able to tell them apart??? (After all, scores are made for human consumption, aren't they?)

  1. So, once every note number (staff line) would uniquely identify a single instrument within a specific kit, writing could be speeded up by at least by an order of magnitude:

  2. Just make a pencil tool (or whatever) to enter notes and then if the user clicks above the 3rd line that would always create a snare note of the selected length, if he/she clicks above the 5th one, it'd create a hihat note etc.
    No need to visit the instrument palette for every note any more.

This one addition in itself could easily make MS the fastest tool to write drum scores.
What do you think?


Things like that have been suggested before, and it's not a bad idea.

But I'm confused about your statement about bouncing back and forth. That shouldn't be necessary at all - you should be able to leave your mouse almost entirely in the drum palette, just entering notes left to right by double clicking. You can also simply press "R" to repeat the previous note (although annoyingly, that doesn't seem to work immediately after double-clicking, I guess focus is in the palette instead of the score).

So I kind of have my doubts personally that a new method that depended on accurately clicking the exact staff line or space you want - a far smaller target than the palette icon - would actually prove more efficient in the long run than simply double-clicking the palette icons and entering notes left to right. I guess maybe if you zoom in to the score far enough, you wouldn't make so many mistakes?

FWIW, I could imagine what you describe being implemented fairly simply by adding a new icon to the beginning of the palette, maybe it would be the one selected by default, and with that icon selected, the mouse in the score would then respond to position on the staff. This would avoid the need for a new mode for people to need to discover and enable. Not sure it's literally the best way of doing it, but it could be done rather easily without disturbing much else.

Meanwhile, I'd encourage you to start a discussion in the forum to try to hash out details about how this new entry method would work.

In reply to by hungaristani

It is highly useful in cases where staff text, trills, or other markings are used for differentiation. For example, I will typically have all cymbal notes look the same, and specify if I want them clapped or played with a beater using staff text. I have a sound for a soft beater and a xylophone stick in my soundfont. There is also separate sounds for cymbal rolls with and without crescendos. To indicate a roll, I place a trill line and turn off play for it. All of these many sounds will be with a standard notehead at 0 (for cymbals alone) or -1 (when they share with the bass drum). This is a pretty typical way of notating percussion.

In reply to by ♪𝔔𝔲𝔞𝔳𝔢𝔯 ℭ𝔯𝔞𝔣𝔱𝔢𝔯♪

@𝔔𝔲𝔞𝔳𝔢𝔯 ℭ𝔯𝔞𝔣𝔱𝔢𝔯♪, I was talking about contemporary drumkit notation only, plus your reference to soundfonts indicates a completely different use case where it could be useful to allow a one to many relationship between symbols and instruments and I'd never challenge that.
But when it comes to writing scores to be handed out to players without the need of direct audio playback from the score file, then it would be much more straightforward to have a one to one relationship between the various kit pieces and their graphic representation.
Maybe it would make sense to make this user definable depending on the preferred workflow.

In reply to by Marc Sabatella

@Marc, I see your point about leaving the mouse on the instrument palette and entering the notes by double clicking, but it doesn't seem to fit the bill in most cases, because this behaves differently from entering the notes on the staff line by a single click:

Just try to write a really basic backbeat pattern where the hihat plays sixteenth notes through the whole bar, the bass drum plays on every quarter and the snare plays on 2-4 (see the attached png).
The hihat notes can easily be entered by double clicking as you described. But then if you try to enter a bass drum on 1 by double clicking, it will REPLACE the hihat note, whereas if you go to the staff and enter it there by a single click, then it will be INSERTED below the hihat note as expected.
So, it seems that using the double clicking method is not suitable for entering notes when two or more instruments play simultaneously. (Or maybe I missed something, but I don't think so).

On top of that, I'd find it much more ergonomic and intuitive to keep the cursor on the staff, where the notes actually appear (like in case of writing by hand), than keeping the cursor on the palette, having to move it to every new kit piece to be entered (which can be a long move to the other side of the palette) and then double clicking. That's one (possibly long) mouse movement to the desired instrument + two more clicks vs. an always very short mouse movement to the next note on the staff + a single click.

I tried this on a 13" Lenovo notebook with the crappiest touchpad I've ever had (no mouse attached), but could still easily navigate on the staff (default zoom factor and page width, full page width fits the screen), so I don't think that hitting the right staff line would be an issue.

Attachment Size
Untitled.png 4.55 KB

Indeed, you're right about it not being possible to build "chords" using double-click. See #47821: Drum input palette: Allow Shift + double-click on an icon to add a note to a chord. Now, that much is probably a very simple fix. I'm been trying to identify and implement as many small improvements like this as I can in the 3.5 timeframe (some might wait for 3.5.1), more major changes will probably wait for MuseScore 4. I'll see if I can do something about Shift at least.

As for clicking on the staff, were you trying to enter notes onto a standard staff, where clicking the right line matters? Maybe you have more accurate fingers than me, but I find my success rate annoyingly low, maybe 75% at best. But as I said, it's worth further discussion on the forum and maybe a new design can be developed for MuseScore 4!

In reply to by Marc Sabatella

Great, thanks.

> As for clicking on the staff, were you trying to enter notes onto a standard staff, where clicking the right line matters?
Yes, I tried it on a new piano score without touching any of the default settings that might affect the accuracy of cursor moves (zoom, size, spacing etc.) and found no issues entering notes to the right place.

Having a look at this, I was trying to identify the issues involved in this transition between instruments and drumsets (and then what would be needed to allow pitched -> unpitched transitions) but it ended up in pretty erratic.
In this example I changed from Tambourine to Claves. I first noticed that:
- Right click after To Claves to edit drumset opened the Tambourine drumset.
- But clicking on the EDIT DRUMSET button for Claves opened the correct Claves drumset.
- When I edited the Claves this way, the Claves drumset took effect over the whole staff.
- Now the Tambourine drumset is not accessible in any way.
- Then added a new "To Tambourine" instrument. Things got "fixed" to a certain point. Note entry responds correctly in both instruments, however previous tambourine notes remain as claves notes (sound and line) until replaced by input.
- Right click still always opens Edit Claves, never Tambourine
- Edits to Claves drumset (via the button) seems to assign the Claves drumset to all the staff again. But not always(!)
- In one of the attempts I got to edit and input both instruments properly, except editing one drumset seems to reset the other instrument's to default. (for instance, only note to staff line zero)
- If I change the note name or line in Either Edit Drum, it can be applied, but next time I open the same Edit Drum they are set to default. Also, the note name isn't reflected in the Edit Drum input UI.
- Editing one Drum also sets the other Drum to default (note name, line).

Other issues also involve changing to pitched instruments. I noticed that some of the CDEFGAB keys still get mapped to the drumset input, even while normal input (pitched) is in effect there (I changed to Timpani and all keys gave me the right pitches except the A).

These might be obvious observations, but it's so hard to isolate everything that is happening about this, so maybe putting them together would bring some clues. For example, it seems that the different Edit Drumset commands (right click vs. button) lead to different places/results, so that might be a start.

(Note: in the images, I changed the drumsets' only note to different lines to have a visual clue of where the drumset takes effect.)
drumset problems.jpg

For the records, I must be one of the weird guys that like clicking on the staff. I managed to course a 6-years graduation in composition without a single keyboard note input... and percussion input in MuseScore always felt a little awkward to me. As nice as it is this fully featured percussion input system for the complexity of a drumset, it felt like getting in the way of engraving a single note on a single-line triangle staff on an orchestral work. I mean... Why the click isn't working? Why am I doing wrong? Google "How to enter a triangle note in MuseScore"... Ok so I have to learn drumset input to get my triangle "tling"... It wasn't intuitive for me to discover that I had to use a whole new input method for such a simple thing.
At the end, the annoying problem wasn't the drum input method itself, but just the unability to just click. So I would greatly appreciate if clicking on the lines and the drumset input could live together in peace.
Maybe simple ideas could make this just a little more friendly.
I like the idea of a first "wildcard-note(?)" button in the UI that lets the user click on lines and translates it to the obvious drumNote from that line. It may be the first note that is programmed to be on that line, and then the user edits it if needed (or cycles thru the notes up/down).
And maybe the simple idea of having a default input note of a drumset selected when starting input would save new or migrating users like me from that powerless feeling of trying to put a note on a percussion staff for the first time. If this default input note is the "wildcard note", better yet.

So, this is what really happens: when you edit drumset2 (the instrument change) it applies the changes to drumset1 - and leaves drumset2 unchanged. For example, if you add a triangle and then a change to snare, if you edit the snare drumkit, it will "overwrite" the triangle drumset and you will end up with a modified snare and a "stock" snare.

Fix version