Hi again, while trying to change LilyPond's behaviour concerning bar lines, I stumbled upon some strange behaviour. What I'd like to achieve: When ending a bar with e repetition sign ":|", I need double lines ("||") at the beginning of the next bar.
I found bar-glyph-alist in scm/output-lib.scm and decided to change it to the following lines (shortened for this example): #(define bar-glyph-alist '( ;; regular bar ("|" . ("|" . ())) ;; repetitions ("|:" . ("|" . "|:")) (":|" . (":|" . ())) (":|:" . (":|" . "|:")) ;; double lines ("||" . ("||" . ())) ;; double lines combined with repetitions ("||:" . ("||" . "|:")) (":||" . (":|" . "||")) )) When setting music now, everything works as expected. As I consider changing LilyPond's default files as hacking, I decided to move the list into my .ly file (see attached file) and revert scm/output-lib.scm to its original state. Unfortunately, this does not work: LilyPond leaves the end of the line (where a repetition sign ":|" should be found) empty, as well as the beginning of the next line. Does anyone have any clues what's going wrong? Thanks, Matthias
\version "2.12.2" % override default bar types to allow arbitrarily placed bar lines #(define my-bar-glyph-alist '( ;; regular bar ("|" . ("|" . ())) ;; repetitions ("|:" . ("|" . "|:")) (":|" . (":|" . ())) (":|:" . (":|" . "|:")) ;; double lines ("||" . ("||" . ())) ;; double lines combined with repetitions ("||:" . ("||" . "|:")) (":||" . (":|" . "||")) )) #(define (my-bar-line::calc-glyph-name grob) (let* ( (index-cell (lambda (cell dir) (if (equal? dir 1) (cdr cell) (car cell)))) (glyph (ly:grob-property grob 'glyph)) (dir (ly:item-break-dir grob)) (result (assoc glyph my-bar-glyph-alist)) (glyph-name (if (= dir CENTER) glyph (if (and result (string? (index-cell (cdr result) dir))) (index-cell (cdr result) dir) #f))) ) glyph-name )) \new Score { \new Staff { \override Staff.BarLine #'glyph-name = #my-bar-line::calc-glyph-name \bar "|:" g'1 \bar ":||" \break g'1 \bar "||" \break } }
_______________________________________________ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user