On Thu, Apr 27, 2017 at 4:07 PM, David Nalesnik <david.nales...@gmail.com> wrote: > Hi Harm, > > On Thu, Apr 27, 2017 at 3:57 PM, Thomas Morley <thomasmorle...@gmail.com> > wrote: >> Hi David, >> >> nice stuff! >> >> Some comments, though: >> >> 2017-04-27 19:27 GMT+02:00 David Nalesnik <david.nales...@gmail.com>: >>> On Thu, Apr 27, 2017 at 12:22 PM, David Nalesnik >>> <david.nales...@gmail.com> wrote: >>> >>>> >>>> I'll just quote the relevant changes with some context. >>>> >>>> Within the function make-page-stencil: >>>> >>>> [...] >>>> >> >> I see no advantage to add 'extra-y' to the arguments. >> Why not do the calculation in 'add-system' ... > > Good point. Actually, I already incorporated this suggestion in a > patch I'm currently testing. (Middle of make doc.) I decided to use > an "extra-offset" property which allows for displacements along both > axes. > >> >>>> (add-to-page (lambda (stencil x y extra-y) >>> >>> Oh, "nota bene" the above line too! >>> >>>> (set! page-stencil >>>> (ly:stencil-add page-stencil >>>> (ly:stencil-translate stencil >>>> (cons >>>> (+ >>>> system-xoffset x) >>>> (- >>>> 0 y extra-y (prop 'top-margin))) ; NB >>>> >>>> ))))) >>>> (add-system >>>> (lambda (system) >>>> (let* ((stencil (paper-system-stencil system)) >>>> (y (ly:prob-property system 'Y-offset 0)) >>>> (extra-y (ly:prob-property system 'extra-Y-offset 0)) ; NB >>>> (is-title (paper-system-title? >>>> system))) >>>> (add-to-page stencil >>>> (ly:prob-property system 'X-offset 0.0) >>>> y >>>> extra-y) ; NB >> >> >> It will fail if system-separator-markup is used. >> >> Here my attempt (for comparison I added greyed stencils) >> >> (add-system >> (lambda (system) >> (let* ((stencil (paper-system-stencil system)) >> (y (ly:prob-property system 'Y-offset 0)) >> (extra-y (ly:prob-property system 'extra-Y-offset 0)) ;; NB >> (is-title (paper-system-title? >> system))) >> >> ;;;; For comparison: print the greyed system-stencil without extra-y >> (add-to-page (stencil-with-color stencil '(0.8 0.8 0.8)) >> (ly:prob-property system 'X-offset 0.0) >> y) >> ;;;; The moved system-stencil >> (add-to-page stencil >> (ly:prob-property system 'X-offset 0.0) >> (+ y extra-y)) ;; NB >> >> (if (and (ly:stencil? system-separator-stencil) >> last-system >> (not (paper-system-title? system)) >> (not (paper-system-title? last-system))) >> (begin >> ;;;; For comparison: print the greyed system-separator-stencil without >> 'extra-y >> (add-to-page >> (stencil-with-color system-separator-stencil '(0.8 0.8 >> 0.8)) >> 0 >> >> (average (- last-y >> (car (paper-system-staff-extents >> last-system))) >> (- y >> (cdr (paper-system-staff-extents system))))) >> >> ;;;; The moved system-separator-stencil >> (add-to-page >> system-separator-stencil >> 0 >> >> (+ >> (average (- last-y >> (car (paper-system-staff-extents >> last-system))) >> (- y >> (cdr (paper-system-staff-extents system)))) >> (/ extra-y 2))))) ;; NB >> (set! last-system system) >> ;;;; set last-y, taking extra-y into account >> (set! last-y (+ y extra-y))))) ;; NB >> >> As an example I used: >> >> \paper { >> system-separator-markup = \slashSeparator >> ragged-last-bottom = ##t >> } >> top = \repeat unfold 5 { c''4 d'' e'' f'' } >> >> bottom = { >> \clef bass >> \repeat unfold 5 { c,1 } >> \break >> } >> >> \new PianoStaff << >> \new Staff { >> \top >> \top >> \top >> } >> \new Staff { >> \bottom >> \overrideProperty >> Score.NonMusicalPaperColumn.line-break-system-details >> #'((extra-Y-offset . 2)) >> \bottom >> \overrideProperty >> Score.NonMusicalPaperColumn.line-break-system-details >> #'((extra-Y-offset . 5)) >> \bottom >> } >>>> >> >> png attached >> > > Thanks so much for pointing this out. I didn't notice that the > variable "y" was used elsewhere. As soon as the patch testing has run > its course, I'll add this in. >
Fixed. Added system-separators to the regtest. https://sourceforge.net/p/testlilyissues/issues/5127/ -David _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user