On Mon, Jan 13, 2020 at 4:36 PM Kieren MacMillan <
kieren_macmil...@sympatico.ca> wrote:

> 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?)
>
>
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".

Thanks
Paolo

Reply via email to