Hi everybody!

If I feed the attached score to lilypond I read:

   [...]
   Drawing systems...
         0.0 note 1.0
         0.0 stem 0.0
         1.0 note 0.5
         1.0 stem 0.0
         1.5 note 0.5
         1.5 stem 0.0
         2.0 note 0.25
         2.0 stem 0.0
        2.25 note 0.125
        2.25 stem 0.0
       2.375 note 0.125
       2.375 stem 0.0
         2.5 note 0.0625
         2.5 stem 0.0
      2.5625 note 0.0625
      2.5625 stem 0.0
       2.625 note 0.03125
       2.625 stem 0.0
     2.65625 note 0.03125
     2.65625 stem 0.0
   [...]

Column 1: moment
Column 2: type of grob
Column 3: duration

Shouldn't a stem not have a duration equal to the duration of the notehead it 
is attached to?

Knut

\version "2.19.55"

#(define (format-moment moment)
    (exact->inexact 
        (/ (ly:moment-main-numerator moment)
        (ly:moment-main-denominator moment))))

#(define (grob-get-ancestor-with-interface grob interface axis)
    (let ((parent (ly:grob-parent grob axis)))
    (if (null? parent)
        #f
        (if (grob::has-interface parent interface)
            parent
            (grob-get-ancestor-with-interface parent interface axis)))))

#(define (grob-get-paper-column grob)
    (grob-get-ancestor-with-interface grob 'paper-column-interface X))

#(define (mkvideo-dump type grob)
    (let* (
        (paper-column (grob-get-paper-column grob))
        (cause        (ly:grob-property grob 'cause))
        (time         (ly:grob-property paper-column 'when 0))
        (start        (+ 0.0 (ly:moment-main time) (* (ly:moment-grace time) (/ 9 40))))
        (duration     (if (ly:prob? cause) (format-moment (ly:duration-length (ly:event-property cause 'duration))) 0.0))
        )
    (if (not (equal? (ly:grob-property grob 'transparent) #t))
        (format #t "\n~8f ~a ~f" start type duration))
    ))

#(define (mkvideo-dump-note grob) (mkvideo-dump "note" grob))
#(define (mkvideo-dump-stem grob) (mkvideo-dump "stem" grob))

\layout {
    \context { \Voice
        \override NoteHead #'after-line-breaking = #mkvideo-dump-note
        \override Stem #'after-line-breaking = #mkvideo-dump-stem
    }
}


\score {{ a1 2 2 4 8 8 16 16 32 32 }}

_______________________________________________
bug-lilypond mailing list
bug-lilypond@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-lilypond

Reply via email to