lilypond-user
[Top][All Lists]
Advanced

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

Re: Vertical position of rests on a custom staff


From: David Kastrup
Subject: Re: Vertical position of rests on a custom staff
Date: Tue, 04 Jun 2013 17:54:33 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

Paul Morris <address@hidden> writes:

> "To conclude the saga..."  Thanks to David Kastrup's tip my function
> can now automatically position all rests and their dots where they
> need to be, no matter what voice they are in.  Once again LilyPond can
> handle just about anything.  See attached file.
>
> I'm now curious about the difference between using
> "ly:grob-property-data" and "ly:grob-property."  The docs say:
>
>   Function: ly:grob-property grob sym val
>   Return the value for property sym of grob. If no value is found,
> return val or '() if val is not specified.
>
>   Function: ly:grob-property-data grob sym
>   Return the value for property sym of grob, but do not process callbacks.
>
> http://www.lilypond.org/doc/v2.16/Documentation/internals/scheme-functions
>
> I assume this means that if a property is set to a function rather
> than a static value, then ly:grob-property would process the function
> to return a value, but ly:grob-property-data would not.  Is that
> right?

Yes.  For things like stem directions, there may be a default callback
which makes the decision about whether to put the stem upwards or
downwards, and calling this fallback might trigger other typesetting
decisions prematurely.  Also, one does not get to see whether the
ultimate direction decision was due to \voiceOne or such a tie-breaking
callback.

This may or may not be the case for rest direction, but because I was
too lazy to double-check, I went for ly:grob-property-data.

-- 
David Kastrup




reply via email to

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