[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Shift up OttavaBracket

From: Kieren MacMillan
Subject: Re: Shift up OttavaBracket
Date: Mon, 13 Jan 2020 10:36:52 -0500

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 MacMillan, composer (he/him/his)
‣ website:
‣ email: address@hidden

reply via email to

[Prev in Thread] Current Thread [Next in Thread]