Duration flags in TABs are selectable (and cause crash on delete)

• Jul 27, 2015 - 22:31
S2 - Critical

A consistent way of getting Musescore 2.0.1 and 2.0.2 to crash is to select a note stem in a lute tablature score and press delete. (I'm not sure whether that it is intended that a tablature note stem can be deleted separately from the note itself, but deleting by selecting the note letter works ok.)

GIT commit: f51dc11


In lute tablatures, neither of the Italian style nor of the French style, notes have stems. Could you explain what you mean with a little more details?

Status (old) active needs info

Indeed, I don't see stems at all using lute tablature - just note duration icons. They cann't be selected, much less deleted - nothing at all happens if I click and press Delete. If I use a guitar tablature instead, I can select them but deleting does nothing. Could you post the specific score you are having problems with and precise step by step instructions to reproduce the crash?

Thanks for your response. I think the correct term for these stems in French lute tablature is 'flags'. Here is a score in which, running Musescore 2.0.2 in Mac OS X 10.10.4 I can select a flag by clicking on it. If I do that and press the delete key Musescore quits.

Attachment Size
1.05.CorantoLutePrelim.mscz 12.71 KB
Status (old) needs info active

confirmed, Windows 7 (Enterprise, 64bit)
It crashes in a current build too and without a stack trace, but with a
Fatal: ChordRest::remove: unknown element (...\MuseScore\libmscore\chordrest.cpp:1200, virtual void Ms::ChordRest::remove(Ms::Element*))

That method only handles ARTICULATION and LYRICS, so that TAB_DURATION_SYMBOL hits the default case and there a qFatal().

I can confirm that the duration symbols are indeed selectable on this score. If you select a duration symbol on this staff, you can make the duration symbol invisible, or move it with the Inspector, but those modifications do not survive save / reload, probably because it was never supposed to be possible to do that in the first place. Which is, I assume, also why the deletion is not handled - is was never intended to be possible.

Apparently, the duration symbols are selectable if the staff is the top staff of a score, but not selectable otherwise. At least, the seemed to be the case when I tried again to reproduce this from scratch.

BTW, one apparently unrelated thing I notice - Scale has been set to 125%. Is there a reason for that? This setting was not meant as a general purpose way of increasing music size. Instead you should be using Page Layout / Staff Space to increase music size. The Staff Properties setting is intended only for cases where you want different staves to be scaled differently - and in ways not handled by simply setting some staves "Small". It's a very special purpose setting most people should never need. It has been known to cause unwanted side effects, but this doesn't seem to be the cause of the problem here.

"probably because it was never supposed to be possible to do that in the first place. Which is, I assume, also why the deletion is not handled - is was never intended to be possible."

Agree. Because I can reproduce the crash since more fourteen months with this Nightly: 56177c3
Incredible to discover now... Personnally, I had never thought to delete these note/duration symbols. Like what!

Title Delete a note symbol in a Tab staff causes a crash Duration flags in TABs are selectable (and cause crash on delete)

Well, duration flags in tab are NOT meant to be selectable (or editable in any way), as they are completely generated and managed by the programme.

I am rather sure they were not selectable in the initial implementation, but perhaps the element flag controlling this got changed at some time.

Aha, found out why I had not found! Simply because this bug occurs if the Tab staff is single, or if it is above the standard staff.
If the Tab staff is below the standard staff (my case preferential use), the duration flag is not selectable.
But this should not be seen as an excuse ...! :(

This score is one of a series I'm doing of arrangements of music originally for another instrument. I started the project in Sibelius but, looking at Musescore tablature output I realised I can achieve a better result for this particular project than with Sibelius. However I'm still a fairly new user of Musescore; I didn't use version 1 at all and I'm still at the stage of "what will happen if I do this?" (Always a better option than reading the manual of course!) That's the same reason I used the 'scale' option to improve the score layout - so Mark, thanks for telling me there's a better way.

Status (old) patch (ready to commit) fixed

Fixed in branch master, commit d1ee5a2a97

Merge pull request #2173 from mgavioli/Fix#71076_TAB_make_flag_symbol_unselectable

Fix #71076 - TABs: Make flag symbols unselectable