lilypond-user
[Top][All Lists]
Advanced

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

Re: centering text on a measure


From: harm6
Subject: Re: centering text on a measure
Date: Thu, 1 Sep 2011 12:30:27 -0700 (PDT)


David Nalesnik-2 wrote:
> 
> Hi all,
> (...)
> I'm wondering why I can't apply this function to 'X-offset rather than
> 'extra-offset.  I've attached a version of the file which returns an
> 'X-offset value, and it returns an error (also with 'self-alignment-X). 
> Is
> there a way to fix this?
> 
> Any suggestions will be much appreciated!
> 
> Thanks,
> David
> 
> 
> 

Hi David,

don't know anything about the error:

ERROR: In procedure ly:grob-object:
ERROR: Wrong type argument in position 1 (expecting Grob): ()

This error-warning must be an error! :)

How about:

\version "2.14.2"

#(define (bounding-coords grob-coord bar-coords end-coord)
   (if (null? (cdr bar-coords))
       (cons (car bar-coords) end-coord)
       (if (and (< (car bar-coords) grob-coord)
                (> (cadr bar-coords) grob-coord))
           (cons (car bar-coords)(cadr bar-coords))
           (bounding-coords grob-coord (cdr bar-coords) end-coord))))

#(define (center-on-measure grob)
   (let* ((sys (ly:grob-system grob))
          (array (ly:grob-object sys 'all-elements))
          (grob-coord (interval-center (ly:grob-extent grob sys X)))
          (grob-name (lambda (x) (assq-ref (ly:grob-property x 'meta)
'name)))
          (bars (filter (lambda (x) (eq? 'NonMusicalPaperColumn (grob-name
x)))
                          (ly:grob-array->list array)))
          (bar-coords (sort (map (lambda (x) (interval-center
(ly:grob-extent x sys X))) bars) <))
          (bounds (bounding-coords grob-coord bar-coords (cdr
(ly:grob-extent sys sys X)))))

     (ly:grob-translate-axis! grob (- (- grob-coord (/ (+ (car bounds) (cdr
bounds)) 2))) X)
     ))

{
  \override TextScript #'after-line-breaking = #center-on-measure
  \repeat unfold 10 { s1_"|"^"|" }
  s2_"|"^"|"
}

Cheers,
  Harm


-- 
View this message in context: 
http://old.nabble.com/centering-text-on-a-measure-tp32377202p32382035.html
Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com.




reply via email to

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