lilypond-user
[Top][All Lists]
Advanced

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

Re: Get the positions of a beam (or other grob with positions)


From: David Nalesnik
Subject: Re: Get the positions of a beam (or other grob with positions)
Date: Sat, 19 May 2012 08:30:14 -0500

Hi Janek,

On Sat, May 19, 2012 at 8:03 AM, Janek Warchoł <address@hidden> wrote:
Hi David & all,

i want to make arpeggios longer (so that they overshoot the chords a
bit).  I've modified your offsetBeamPositions function to work on
Arpeggios instead of Beams (that was easy), but i'm quite surprised to
find that it doesn't work correctly with cross-staff arpeggios.  Do
you have any ideas why?  Maybe this is a bug in LilyPond?

This isn't a bug: cross-staff arpeggios belong to a different context.  In your case, they are a part of PianoStaff, so the override will have no impact.  If you do this, it will work:

  offsetCrossStaffArpeggioPositions =
 #(define-music-function (parser location offsets) (pair?)
   #{
      \override PianoStaff.Arpeggio #'positions = #(lambda (grob)
        (let* ((func (assoc-get 'positions (cdr (ly:grob-basic-properties grob))))
               (pos (func grob)))
           (coord-translate pos offsets)))
   #})

OK, that name is out of control :)

HTH,
David

reply via email to

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