Add support for whiteout

• Apr 24, 2020 - 13:42

Hello,
in my opinion MuseScore would really profit from a whiteout feature. For this we would need a concept of layers. We would need a standard layer for each type of object, as well as the control over which layer the object resides in, and an option for an object to whiteout lower objects, i.e. add some white unter the object, but above all lower layers. Optimally one should be able to specify if the whiteout should trace a contour of the object, or if it should fit the object into a white rectangle. Also an option to specify the thickness of the whiteout would be useful.

This can be really useful when doing overlapping things like putting text or dynamic into the staff (whiteout the staff lines), or putting dynamics or markings into a hairpin, or when we have inconvenient slurs. In these cases a whiteout can lead to a cleaner and more readable score.

As a demonstration I have engraved the flagship score of MuseScore 2, i.e. Reunion by Marc (https://musescore.com/marcsabatella/reunion) in Lilypond, using a bit of whiteout:
→ In bar 9 to have the Timesig whiteout the slur, thus we do not need a ridiculous high slur to avoid the collision.
→ In bar 21 the grace notes, beams and accidentals white out the ties. This is already much cleaner than the way it was before (especially on notes with ledger lines), but you can do it even cleaner using custom dash definitions, which will be a separate FR.

Attachment Size
reunion.pdf 112.15 KB

Comments

Nice example :-)

You can actually do this already, though, and if you check the MuseScore 3 version of the demo, you'll see I already did it in that last measure. It's just a matter of doing an image capture on a blank area of the score, pasting it where you can, then setting the "Stacking order" as you like in the Inspector (you'll also want to disable autoplace for that. Here's how

In reply to by Marc Sabatella

Yes, that might work. I’d still consider this more of a hack. But I overlooked that MuseScore does already feature z-index control. It might not be hard to implement this. You’d basically just need to draw the whiteout on eighter the same index layer or a one step lower layer.
Might just look into this. Surely there must be some sort of unified functionality in the MuseScore source for drawing stuff onto the page?

In reply to by kwschnautz

Not sure what you mean about poor quality - how can a pure white graphic be of anything but one quality? But you're welcome to use another program to generate the graphic if you perceive it would

As for edits not being reflected in parts, that a totally separate thing, it's because we want to allow things like this - not just stacking order,r but all properties - to be controllablable independently for score versus parts. It's actually an important ability for many situations. Ultimate we'd like to provide better control over that, again, not just for stacking order but all properties.

Anyhow, if you attach a sample score and give us precise steps to follow, we can try to understand issue you are perceiving with the quality of the white rectangle. And note that's actually only one method, the simplest I think, but if your needs are more specialized, we can talk about other means like creating an opaque white line or text. And any of these can be added to the palette making their reuse very simple.

In reply to by kwschnautz

Well, as I said, different special needs needs might be better served with different solutions. The original case here didn't need a staff at all - just a literal white rectangle. And that's all that's requires for your case as well. A plain simple white rectangle, set to a Z-order of say 1200.

There really shouldn't be any cases where you need a staff that aligns perfectly with the actual staff. But FWIW, you can set the resolution in the right-click menu for the tool. At 360 DPI it should be perfectly sized already. The on-screen rendering might look a little funny, but it should be fine on export. Again, though, not needed at all here. A plain white rectangle works perfectly.

Of course, for this specific use case, better still to just have an option to break slurs automatically, rather than need any of this.

Do you still have an unanswered question? Please log in first to post your question.