lilypond-auto
[Top][All Lists]
Advanced

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

Re: [Lilypond-auto] Issue 3995 in lilypond: BarLine: kern does what thin


From: lilypond
Subject: Re: [Lilypond-auto] Issue 3995 in lilypond: BarLine: kern does what thin-kern claims to do, thin-kern does nothing.
Date: Sun, 06 Jul 2014 12:01:16 +0000


Comment #3 on issue 3995 by address@hidden: BarLine: kern does what thin-kern claims to do, thin-kern does nothing.
http://code.google.com/p/lilypond/issues/detail?id=3995

I wrote a testing routine for BarLine properties:

colorDisplayChangedBarLines =
#(define-music-function (parser location property value)(symbol? scheme?)
#{
 \override Staff.BarLine #'before-line-breaking =
 #(lambda (grob)
   (let* ((default-bar (ly:bar-line::print grob))
          (x-length (interval-length (ly:stencil-extent default-bar X))))
   (ly:grob-set-property! grob
                         (if (<= (cadr (ly:version)) 14) $property property)
                         (if (<= (cadr (ly:version)) 14) $value value))

   (let* ((actual-stil (ly:grob-property grob 'stencil))
(actual-x-length (interval-length (ly:stencil-extent actual-stil X))))
   (if (not (= actual-x-length x-length))
       (begin
         (newline)(display (ly:grob-property grob 'glyph-name))
         (ly:grob-set-property! grob 'color red))))))
#})

#(define signs-list (map car (@@ (lily) bar-glyph-alist)))

mus =
#(define-music-function (parser location property value)(symbol? scheme?)
  $(make-sequential-music
     (map
       (lambda (x)
         #{
           a'1
           \colorDisplayChangedBarLines
             #(if (<= (cadr (ly:version)) 14) $property property)
             #(if (<= (cadr (ly:version)) 14) $value value)
           \mark #(format #f "\"~a\"" (if (<= (cadr (ly:version)) 14) $x x))
           \bar #(if (<= (cadr (ly:version)) 14) $x x)
           b'
           %% uncomment to see behaviour at line-break
%\mark #(format #f "\"~a\"" (if (<= (cadr (ly:version)) 14) $x x))
           %\bar #(if (<= (cadr (ly:version)) 14) $x x)
           \break
         #})
     (if (<= (cadr (ly:version)) 14) signs-list (reverse signs-list)))))

versionNumber =
      #(markup #:bold
        (if (array? (lilypond-version))
            (list->string  (array->list (lilypond-version)))
            (lilypond-version)))

\layout {
  \context {
    \Score
    \override RehearsalMark #'font-size = #-1
  }
  \context {
    \Staff
    instrumentName = \versionNumber
    shortInstrumentName = \versionNumber
  }
  %line-width = 60
  indent = 20
  short-indent = 20
}

%% testing possible with all BarLine properties:
%% Though changing 'thin-kern within a segno-barlne is not colored
\mus #'thin-kern #10

This works for all major versions since 2.12.3 (so far tested)
(Though, it will fail somewhere in 2.15., I was too lazy to research the exact version, when the first major changes for BarLine were introduced)

Results:
(1)
Testing properties 'kern, 'thin-kern and others returns different output regarding the segno-BarLines, as mentioned on Rietveld

(2)
I found a BarLine in "2.12.3" not present in "2.14.2" and higher.
With version "2.12.3" one could use \bar "." returning a single dot in the middle of the staff.
Was deleted in "2.14.2"!
An oversight? Intended?


--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings



reply via email to

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