lilypond-user
[Top][All Lists]
Advanced

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

Re: Aligning a "D.S. al Fine" at the end of a piece.


From: Kieren MacMillan
Subject: Re: Aligning a "D.S. al Fine" at the end of a piece.
Date: Wed, 13 May 2009 10:35:38 -0400

Hi Tim,

The only thing now is that (presumably because it's set as a rehearsal
mark rather than markup on a note) the font size doesn't match that on
the "Fine".  Is there some way to directly set it to the same size as
the "Fine", or do I have to guess at sizes until it looks right?

If you look in define-grobs.scm, you'll find the definition

 (RehearsalMark
     . (
        (stencil . ,ly:text-interface::print)
        (X-offset . ,(ly:make-simple-closure
                      `(,+
                        ,(ly:make-simple-closure
                          (list 
ly:break-alignable-interface::self-align-callback))
                        ,(ly:make-simple-closure
                          (list 
ly:self-alignment-interface::x-aligned-on-self)))))
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (extra-spacing-width . (+inf.0 . -inf.0))
        (self-alignment-X . ,CENTER)
        (direction . ,UP)
        (non-musical . #t)
        (font-size . 2)
        (baseline-skip . 2)
        (break-visibility . ,end-of-line-invisible)
        (break-align-symbols . (staff-bar clef))
        (padding . 0.8)
        (outside-staff-priority . 1500)
        (meta . ((class . Item)
                 (interfaces . (text-interface
                                side-position-interface
                                break-alignable-interface
                                font-interface
                                mark-interface
                                self-alignment-interface))))))

So RehearsalMark has a default #'font-size value of 2. On the other hand,

    (TextScript
     . (
        (extra-spacing-width . (+inf.0 . -inf.0))
        (X-offset . ,ly:self-alignment-interface::x-aligned-on-self)
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (side-axis . ,Y)
        (direction . ,DOWN)

        ;; sync with Fingering ?
        (padding . 0.5)
        (staff-padding . 0.5)

        (stencil . ,ly:text-interface::print)
        (direction . ,ly:script-interface::calc-direction)
        (positioning-done . ,ly:script-interface::calc-positioning-done)

        (outside-staff-priority . 450)
        (avoid-slur . around)
        (slur-padding . 0.5)
        (script-priority . 200)
        (cross-staff . ,ly:script-interface::calc-cross-staff)
        ;; todo: add X self alignment?
        (meta . ((class . Item)
                 (interfaces . (text-script-interface
                                text-interface
                                instrument-specific-markup-interface
                                side-position-interface
                                self-alignment-interface
                                font-interface))))))

So TextScript has a default #'font-size value of 0, the score's "normal size". So it *should* [warning: untested] work to just set the RehearsalMark #'font-size = #0.

Hope this helps!
Kieren.

p.s. I've been asking for a while whether it would be possible to have these defaults listed on the docs page... if I get some time this summer, I may take it on as a Frog task.




reply via email to

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