[Top][All Lists]

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

Re: Segfault in old file

From: Graham Percival
Subject: Re: Segfault in old file
Date: Fri, 02 Feb 2007 16:06:43 -0800
User-agent: Thunderbird (Macintosh/20061207)

Thanks, added as

- Graham

Cameron Horsburgh wrote:
Hi folks,

This file, convert-lyed from the LSR, segfaults under 2.11.15. I realise
that this functionality is now obsolete, but I'm submitting it on the
basis that All Segfaults Are Evil.

I haven't reduced it all, because, to be quite frank, I've got know
idea what I'm looking at!


\version "2.11.11"

\header { texidoc = "
<p>It is possible to have different staff distances between
the staffs of a piano system, but it requires some advanced Scheme code. Currently, this is for testing purposes. " }

#(define ((futz-alignment-callback distance count) grob axis)

   "Check if we're the system number COUNT, and if yes, set fixed distance to
DISTANCE; then call the original callback.  "
       ((a (ly:grob-parent grob axis))
        (o (ly:grob-original a))
        (bs (if (ly:grob? o)
                (ly:spanner-broken-into o)

     (if (and (list? bs)
              (< count (length bs))
              (equal? (list-ref bs count) a)
         (ly:grob-set-property! a 'forced-distance distance))
(Align_interface::fixed_distance_alignment_callback grob axis)) )

\score {
     \relative c''  \context PianoStaff
    \with {
        verticalAlignmentChildCallback = #(futz-alignment-callback 20 1)

        %% Every cross staff beam will trigger
%% alignment unless autokneeing is switched off \override Beam #'auto-knee-gap = #'()
    } <<

        \context Staff = "up" {
\time 2/4 c8[
                \change Staff = down
                \once \override Stem #'direction = #UP
                \change Staff = up
                c c ](
                \change Staff = down
                \once \override Stem #'direction = #UP
                \change Staff = up
                c c ](
        \context Staff = "down" {
            \skip 1 }


reply via email to

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