2013/7/19 Thomas Morley <thomasmorle...@gmail.com>: >> 2013/7/19 Andrew Bernard <andrew.bern...@gmail.com> >>> How would one get lilypond to place all noteheads on the right of their >>> stems regardless of whether they are up or down? [...]
Ah, sorry. You wanted them right, not left: \version "2.16.2" %% A new NoteHead 'stencil %% For testing only. % #(define rhomb-note % (lambda (grob) % (let* ((stencil (ly:note-head::print grob)) % (new-stil % (grob-interpret-markup grob % (markup #:rotate -45 % #:override '(box-padding . 0.3) % #:box #:rotate 45 % #:stencil % stencil)))) % new-stil))) stemRight = \override NoteColumn #'before-line-breaking = #(lambda (grob) (if (not (null? (ly:grob-object grob 'note-heads))) (let* ((stem (ly:grob-object grob 'stem)) (stem-dir (ly:grob-property stem 'direction)) (layout (ly:grob-layout grob)) (line-thickness (ly:output-def-lookup layout 'line-thickness)) (n-h (ly:grob-array->list (ly:grob-object grob 'note-heads))) (stem-at (map (lambda (nh) (ly:grob-property nh 'stem-attachment)) n-h))) ;(display "\n\tstem-at-old \t")(write stem-at) (for-each (lambda (x y) (ly:grob-set-property! x 'stem-attachment (if (= 1 stem-dir) (cons (- (* 2 line-thickness) (car y)) (* -1 (cdr y))) y))) n-h stem-at) ;; Perhaps of interest: ; (display "\n\tstem \t") ; (write (ly:grob? stem)) ; (display "\n\tn-h \t") ; (write n-h) ; (display "\n\tstem-at-new \t") ; (write (map ; (lambda (nh) ; (ly:grob-property nh 'stem-attachment)) ; n-h)) ; (display "\n\tstem-dir \t") ; (write stem-dir) ; (newline) ))) revertStemRight = \revert NoteColumn #'before-line-breaking centerStem = \override NoteHead #'stem-attachment = #'(0 . 0) %% Debugging helper debuggingHelper = { \override Stem #'color = #red \override Stem #'layer = #10 } \layout { \context { \Voice \stemRight % Doesn't work here with 2.16.2, needs to be put in \mus % Works with 2.17.22 % \xNotesOn %\centerStem %\debuggingHelper %% Other NoteHead 'stencil %\override NoteHead #'stencil = #rhomb-note } } mus = \relative c' { %% Other NoteHead 'style % \xNotesOn c d e f r s g a b c d \revertStemRight <e g f>-"What here?" } \new Staff \mus \new Staff << \new Voice { \voiceOne \transpose c c' \mus } \new Voice { \voiceTwo \mus } >> -Harm _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user