Hi Paolo, > But it doesn't work in many cases. For example, in my snippet I'm forced to > use a ruler If I want to shift the bracket exactly +2 staff-spaces more. Then > I have to put the starting point of the ruler at the reference point of the > staff, find the distance between that starting point and the calculated > position, and then add +2. This would be very tedious.
It seems to me that you’re trying to solve a problem that I, who engraves music as a big part of my living, never try to solve: you’re trying to feed the current placement of an object back into the spacing engine in order to recalculate and redraw the layout. (I assume this is because you’re trying to code/improve your JS UI for editing Lilypond files?) As an engraver, I simply look at the generated score, manually adjust the padding or Y-offset or extra-offset [as makes the most sense], and recompile — it’s not particularly tedious, and is far more accurate (at least at this stage of "artificial intelligence") than trying to get Lilypond to calculate it (even with multiple passes). > from what I see, this is not needed for other objects. Hmmm… I don’t think that’s true. Any object whose reference point is calculated relative to the staff behaves the same way, right? > I highlighted (A) these differences because, given that (B) there are > differences even between the "\offset" and "\override" commands to, (A) + (B) > make me suspect that the whole OttavaBracket interface is buggy. I haven’t read the whole thread, but did you suggest an implementable mechanism which would fix this "bug" for you? One hack would simply be to increase the Y-extent by the amount of extra "offset" you want; probably you’ll have to use unpure-pure containers. Hope that helps! Kieren. ________________________________ Kieren MacMillan, composer (he/him/his) ‣ website: www.kierenmacmillan.info ‣ email: [email protected]
