lilypond-user
[Top][All Lists]
Advanced

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

Re: Moving objects using "wrong" extent --- a question, valid solution n


From: Dmytro O. Redchuk
Subject: Re: Moving objects using "wrong" extent --- a question, valid solution needed!
Date: Tue, 18 May 2010 15:39:29 +0300
User-agent: Mutt/1.5.20 (2009-06-14)

On Tue 18 May 2010, 08:23 I wrote:
> On Mon 17 May 2010, 21:43 Mark Polesky wrote:
> > grobs, but unfortunately also the DynamicText grobs, and off the
> > top of my head, I don't see a trivial way around this.  This means
> > that if you do:
> > 
> >   \setHairpinPosition #0 c4\f\> c c c\!
> Yes, i see, DynamicText's offset should be adjusted for every one of \f, \p,
> \mf to align with hairpin properly...
> 
> (Btw, those ugly offsets do handle this situation... But, really, i wish i
> could... and i hope i would, in other words,-)
> 
> Well, why not --- now i "guessed" that DynamicText is height-centered with
> Hairpin's center line --- is that true?
> 
> If so, i guess i can modify your function ...
No, it appeared harder than i had imagined it to be :-)

> > Well, hopefully this points you in a better direction at least.
> > It's a bad idea to get in the habit of abusing syntax.
> Thank You A LOT.


On Mon 17 May 2010, 21:43 Mark Polesky wrote:
> Personally, I don't see the benefit in making the lower extent
> higher than the upper extent.  I think it makes things needlessly
> confusing, and I don't think it was designed to be used that way.
So far, i couldn't find a way to move "whole" DynamicLineSpanner (let's say:
        c4 \f< c \ff \> c c \f
with "one command" --- except setting "ugly" (well, okay, i agree, let it be
"ugly", not "wrong") Y-extent for DynamicLineSpanner and specifying Y-offset
(which now is counted from the middle line).

Like this:
  \once \override DynamicLineSpanner #'Y-extent = #'(1 . 0)
  \once \override DynamicLineSpanner #'Y-offset = #3.7
  c4 \f \> c c c \p

For some reason this does not work:
  \once \override DynamicLineSpanner #'Y-extent = #'(0 . 0)
  \once \override DynamicLineSpanner #'Y-offset = #3.7
  c4 \f \> c c c \p

> Then you can just do:
> 
>   \setHairpinPosition #0
> 
> to put the hairpin tip on the middle line.  The music function
> here interprets the numeric argument as a staff-position (ie.,
> bottom line = -4, middle line = 0, top line = 4).
This works fine "if nothing else moves Hairpin down":

  % hairpin is aligned with the middle line:
  \voiceOne
  \setHairpinPosition #0
  c4 \f \> c c c \p

  % does not aligned, lower than requested:
  \voiceTwo
  \setHairpinPosition #0
  b4 \> b b b \!

(Anyway! -- Thank you a lot)

By the way, that's strange, it smells (sorry) like a bug? Y'-offset should
specify offset from the middle line (NR 5.5.1 "Aligning objects"). Accordingly
to some recent discussions, IR, 3.3 "User backend properties" is a bit unclear
saying that Y-offset is "The vertical amount that this object is moved
relative to its Y-parent.", but i mention another thing: Y-offset in Your
function "means" something different, it is an offset from "previously
calculated position", isn't it?

> Well, hopefully this points you in a better direction at least.
> It's a bad idea to get in the habit of abusing syntax.
I will look for a "good thing" :-)

> Hope this helps.
Thank You.

> - Mark

-- 
  Dmytro O. Redchuk



reply via email to

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