Instrument change added via double-click while in continuous view does not appear in score

• Nov 27, 2018 - 01:07
Reported version
P0 - Critical
S3 - Major

Double click an instrument change to a staff's instrument. Notice nothing appears to happen. Open the mixer (F10) and you will see the instrument change is in place.

Dragging to a note/rest works as expected.

At one point, double clicking and dragging the instrument change led to a crash but I'm not sure how to reproduce the crash.


Status active needs info

I'm not quite following the instructions to reproduce. What are you double-clicking, exactly? Something previously added to the score? Something in a dialog?

It sounds like maybe you are saying you have selected a note or rest then double-clicked the "Change Instr" palette element and nothing happened, but I can't reproduce that - it adds normally for me.

Status needs info active
Priority P1 - High

I can reproduce from that score indeed. Click any full measure rest, double-click the instrument change on palette, it seems to gets added but does not appear. I'm guessing some sort of issue with the text style. Since it works for most scores, I'm thinking maybe the save selection itself plays a role. How long ago was that operation performed? Much has changed with text styles over last few months.

In reply to by Marc Sabatella

I just did a test with my latest download OS: Windows 10 (10.0), Arch.: x86_64, MuseScore version (64-bit): 3.0.0, revision: 100d297 which is from sometime in the last 2 days.

I still get the same results.

Here is what I did to reproduce the problem:

Create a score based upon the Concert Orchestra template with default 32 measures
Append 100 measures
change to continuous view
Start at a random measure, select all staves, use ctrl+shift+end to select to the end of the score and use Save selection... to create a new score
Select a rest and double click the Change Instruments text
No text is added, but the mixer channel is created.

I only quickly recreated the problem in a similar manner to how I must have made it the first time. I haven't done sufficient testing to see which steps can be ignored (e.g. maybe you don't need to add measures?) so we can break this down to the minimum steps required. I tested this with a single instrument and not adding measures and did not experience the problem. When I made the attached file, I probably created it in version 2 and imported it into version 3, but I don't remember for sure.

Title Double clicking instrument change text to staff does not display text Instrument change added via double-click while in continuous view does not appear in score
Severity S2 - Critical S3 - Major

OK, I think the trigger is actually continuous view; save selection is a red herring. Even the default empty score, switch to continuous view, add an instrument change by selecting a measure rest and double-clicking in palette, and the element gets added but does not actually appear. Switch to page view and you see it, switch back to continuous and it is still there. So I think what happens is it never gets laid out if added via double-click in continuous view.

Judging by Score::collectSystem(), LayoutContext::layoutLinear() should layout InstrumentChange and SystemText at the same time as StaffText and Harmony. As it is, LayoutContext::layoutLinear() does not layout InstrumentChange or SystemText at all. There is also a difference between the two functions in the way Harmony is handled. It seems to me that both functions should handle Harmony the same way. Either it should always be laid out, or it should only be laid out if its layout is invalid. And if Score::collectSystem() calls autoplaceSegmentElement() on the Harmony, then LayoutContext::layoutLinear() should as well.