lilypond-user
[Top][All Lists]
Advanced

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

is \applyOutput buggy wrt context, or am I being dumb?


From: Damian leGassick
Subject: is \applyOutput buggy wrt context, or am I being dumb?
Date: Sun, 17 Feb 2008 15:07:59 +0000

still battling...

from the example at http://lsr.dsi.unimi.it/LSR/Item?id=236

i do understand the scheme function here
but i don't seem able to make both chords print as emc2 - only the first is changed


\version "2.11.38"

#(define (mc-squared grob org cur)
  (let*
   (
     (ifs (ly:grob-interfaces grob))
     (sp (ly:grob-property grob 'staff-position))
   )
   (if (memq 'note-head-interface ifs)
    (begin
     (ly:grob-set-property! grob 'stencil ly:text-interface::print)
     (ly:grob-set-property! grob 'font-family 'roman)
     (ly:grob-set-property! grob 'text
      (make-raise-markup -0.5
       (case sp
        ((-5) (make-simple-markup "m"))
        ((-3) (make-simple-markup "c "))
        ((-2) (make-smaller-markup (make-bold-markup "2")))
        (else (make-simple-markup "bla"))
      ))))
  )))

notes = \relative c' {
        <d f g b>8
        <d f g b>8
}


\score {        
        \new Staff {\applyOutput #'Score #mc-squared \notes}
}


similarly, the 'blanker' example at NR 7.5.2 works if modified to:

\version "2.11.38"

#(define (blanker grob x y)
(if  (eq? (ly:grob-property grob 'staff-position) 0)
         (ly:grob-set-property! grob 'duration-log 1)))

notes = {
        b' c'' b' c''
  }

\new Score {    
        \new Staff {\applyOutput #'Score #blanker \notes}
}


but it also only changes the duration-log of the first b-natural

any ideas?

tia

D




reply via email to

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