Add support for whiteout
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 Nice example :-) You can… 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 Nice example :-) You can… by Marc Sabatella
I tried this 'image capture' method. It's not that helpful. The resulting graphic is poor quality.
To make it worse, these edits aren't reflected across multiple parts.
Sorry -- I'd like another option for this. This one is most definitely a 'hack'.
In reply to Can you walk me through that… 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 Not sure what you mean about… by Marc Sabatella
The pasted graphic isn’t just a white block - it’s a rendering of a blank staff, but since its a screenshot, it's a rasterized version of that normally-vectorized staff. That image is pixellated and also difficult to align (much less blend in) with the existing staff at multiple zoom levels.
In reply to The pasted graphic isn’t… by kwschnautz
I just realized that I could put a white block in if I adjust it below the staff layer. Layer 1200 seemed to work.
In reply to The pasted graphic isn’t… 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.
In reply to Can you walk me through that… by kwschnautz
Rather than images I often opt for a line or a staff text for something like this. In case of the (staff) text you can play with the and frame background color