Skip to main content

Topic: Wish-list item: opaque backgrounds (Read 1607 times) previous topic - next topic

Wish-list item: opaque backgrounds
This is related to something I posted in the "Tips and Tricks" forum a little while ago. It would be nice if certain objects (dynamics; text objects; triplet brackets; perhaps pedal marks) could have an option specifying an opaque background. This would allow easy correction of problems such as dynamic marks colliding with hairpins or triplet brackets crossing slurs. I realize that it is not as simple a programming job as it sounds (it will probably require adjustments in the order in which objects are sent to the printer driver), so I won't look for it soon, but I thought I should put it on the table.

Re: Wish-list item: opaque backgrounds
Reply #1
This is related to something I posted in the "Tips and Tricks" forum a little while ago. It would be nice if certain objects (dynamics; text objects; triplet brackets; perhaps pedal marks) could have an option specifying an opaque background. This would allow easy correction of problems such as dynamic marks colliding with hairpins or triplet brackets crossing slurs. I realize that it is not as simple a programming job as it sounds (it will probably require adjustments in the order in which objects are sent to the printer driver), so I won't look for it soon, but I thought I should put it on the table.
Actually, plugin objects already have the ability to do this, both for text and graphic objects.  But I agree that this would be a nice capability for native objects as well.

Re: Wish-list item: opaque backgrounds
Reply #2
I'm just guessing (it's a long time since I've worked with this stuff), but does this mean that the rendering engine renders user objects last? That would explain why "digital whiteout" doesn't appear to work on them. If that isn't the mechanism, what is it?

Re: Wish-list item: opaque backgrounds
Reply #3
I'm just guessing (it's a long time since I've worked with this stuff), but does this mean that the rendering engine renders user objects last? That would explain why "digital whiteout" doesn't appear to work on them. If that isn't the mechanism, what is it?
I believe that Standard and Span objects are rendered last, while StaffSig objects are rendered first, for a given staff. But I might have that backward (I am sure that @Rick G. and/or @NoteWorthy Online will correct me if I am wrong).

Re: Wish-list item: opaque backgrounds
Reply #4
It would be nice if certain objects (...) could have an option specifying an opaque background.
I suggested long ago that transparent and background be added to the Color list. Each has its uses.

does this mean that the rendering engine renders user objects last? That would explain why "digital whiteout" doesn't appear to work on them.
I don't know. An example would help. If you put the whiteout on a layer that comes after the staff with the undesired ink it will white it out. This can get tricky if you don't want to obscure the staff lines. At worse, this might require yet another layer.

  • Last Edit: 2017-09-08 08:57 pm by Rick G.
Registered user since 1996

Re: Wish-list item: opaque backgrounds
Reply #5
Yeah, I guess a second layer might do the job. I've been trying to do it on the same layer, with the whiteout's anchor placed after the object on the staff, on the assumption that they would be processed in the order of their appearance in the file. But that doesn't appear to be happening.

Re: Wish-list item: opaque backgrounds
Reply #6
I believe that Standard and Span objects are rendered last, while StaffSig objects are rendered first, for a given staff.

Standard and StaffSig objects are rendered in the order that they appear. Span objects are rendered after the other items on a staff.

Re: Wish-list item: opaque backgrounds
Reply #7
Standard and StaffSig objects are rendered in the order that they appear. Span objects are rendered after the other items on a staff.
Thanks for the correction. But I am wondering how the objects are rendered relative to other standard items that surround them. For example, if there is a staff with two notes and an object between them, will the staff and its notes be drawn first, and then the object between those notes? Or will the object's drawing take place after the first note, but before the second note is drawn?

Re: Wish-list item: opaque backgrounds
Reply #8
....Span objects are rendered after the other items on a staff.
That explains why digital whiteout doesn't work with them. I don't see an easy way around. <sigh> Fortunately, Lloyd's tuplet object appears to work well.

Re: Wish-list item: opaque backgrounds
Reply #9
But I am wondering how the objects are rendered relative to other standard items that surround them.

Standard objects are treated just like anything else. This text wheel shows it pretty well:

Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|Clef|Type:Treble
|Note|Dur:16th,Triplet=First|Pos:5|Opts:Stem=Down,Beam=First
|Spacer|Width:10
|Note|Dur:16th,Triplet|Pos:5|Opts:Stem=Down,Beam
|Spacer|Width:10
|Note|Dur:16th,Triplet=End|Pos:5|Opts:Stem=Down,Beam=End
|Spacer|Width:10
|Text|Text:"֎"|Font:StaffItalic|Scale:400|Pos:0|Justify:Center|Color:4
|Spacer|Width:10
|Note|Dur:16th,Triplet=First|Pos:5|Opts:Stem=Down,Beam=First
|Spacer|Width:10
|Note|Dur:16th,Triplet|Pos:5|Opts:Stem=Down,Beam
|Spacer|Width:10
|Note|Dur:16th,Triplet=End|Pos:5|Opts:Stem=Down,Beam=End
!NoteWorthyComposerClip-End

If the wheel were drawn as a Span object, it would cover notes on either side of it.

Re: Wish-list item: opaque backgrounds
Reply #10
Here is a better showing with Rick's markup:

Standard object:

Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|Clef|Type:Treble
|Note|Dur:16th,Triplet=First|Pos:5|Opts:Stem=Down,Beam=First
|Spacer|Width:10
|Note|Dur:16th,Triplet|Pos:5|Opts:Stem=Down,Beam
|Spacer|Width:10
|Note|Dur:16th,Triplet=End|Pos:5|Opts:Stem=Down,Beam=End
|Spacer|Width:10
|User|Markup.rg|Pos:-3|Markup:x-4/m4֎|Color:4
|Spacer|Width:10
|Note|Dur:16th,Triplet=First|Pos:5|Opts:Stem=Down,Beam=First
|Spacer|Width:10
|Note|Dur:16th,Triplet|Pos:5|Opts:Stem=Down,Beam
|Spacer|Width:10
|Note|Dur:16th,Triplet=End|Pos:5|Opts:Stem=Down,Beam=End
!NoteWorthyComposerClip-End

And as a Span object:

Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|Clef|Type:Treble
|Note|Dur:16th,Triplet=First|Pos:5|Opts:Stem=Down,Beam=First
|Spacer|Width:10
|Note|Dur:16th,Triplet|Pos:5|Opts:Stem=Down,Beam
|Spacer|Width:10
|Note|Dur:16th,Triplet=End|Pos:5|Opts:Stem=Down,Beam=End
|Spacer|Width:10
|User|Markup.rg|Pos:-3|Class:Span|Markup:x-4/m4֎|Color:4
|Spacer|Width:10
|Note|Dur:16th,Triplet=First|Pos:5|Opts:Stem=Down,Beam=First
|Spacer|Width:10
|Note|Dur:16th,Triplet|Pos:5|Opts:Stem=Down,Beam
|Spacer|Width:10
|Note|Dur:16th,Triplet=End|Pos:5|Opts:Stem=Down,Beam=End
!NoteWorthyComposerClip-End