[Top][All Lists]

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

Re: Distance of a grob from its reference point

From: Kieren MacMillan
Subject: Re: Distance of a grob from its reference point
Date: Tue, 14 Jan 2020 10:16:14 -0500

Hi Aaron,

> If we borrow some of the underlying logic, we get the following:

Wow… You are my patronus of late.  =)

>  #{ \override $grob-path .after-line-breaking = #proc #})

My mind was a little blown by the result of changing that to

    \override $grob-path .before-line-breaking = #proc

Doing so made it *deeply* and *immediately* clear that, despite being a serious 
power-user of Lilypond for almost twenty years, I know almost nothing of how it 
actually works.

> Going back to your prior ask of "how do I move a grob?", I think we need to 
> shift perspective on the issue.  It is less important to dwell on *how* to 
> move something; rather, we should inquire of you *why* you want to move 
> something.  What purpose does it serve, for instance, to move an 
> OttavaBracket upward precisely two staff spaces?  (I apologize if that is 
> coming across sarcastically, but I am afraid I lack better wordsmithing.)
> The goal of such questioning is to best improve how LilyPond's layout engine 
> works without user intervention.  There likely exists sufficient logic within 
> LilyPond to accommodate your needs; but it is certainly possible such logic 
> still needs to be invented.  However, I think focusing on details like final 
> grob positioning might be putting the cart before the horse.

I often need to do such things in my engraving work — especially complicated 
"non-traditional" engraving (Schenker graphs, etc.). Usually, I just use the 
edition-engraver to tweak the position, and usually it’s with padding and/or 
extra-offset. A few times, I’ve had to use other tweaks to push objects or 
staves further away before repositioning the grob itself.

Hence the ability to offset (e.g.) an OttavaBracket precisely X staff spaces 
while still [re-]engaging the spacing engine is neither an unreasonable 
request, nor something that Lilypond could (or even should!) try to manage 


Kieren MacMillan, composer (he/him/his)
‣ website:
‣ email: address@hidden

reply via email to

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