On Mon, Jan 13, 2020 at 4:36 PM Kieren MacMillan <address@hidden
> 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?)
This is a part of the problem, but not the *main* problem.
Note that moving the OttavaBracket with a large value (10, in your snippet) is not a realistic case. A realistic case is to move the bracket's with *small* values. The OttavaBracket is already pretty well positioned by Lilypond itself, and it should be tuned, if necessary, only with that small values. And if you do this, and you don't want to use the extra-offset property, you are forced to use the ruler in the way I explained...
> 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?
You are right. For all these things I always used the extra-offset property (then I did not investigate). Which, of course, is good for small adjustments. But what if you have to do small adjustments with many objects that can cause collisions?
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.
Please can you provide an example? It would be very useful. Again: it would be very useful to shift an object by small and precise values.
So you see a bracket and then say: "I want to easily move up this bracket one staff space up/down".