X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Flayout-beam.scm;h=810d4a6ab05225baaf1079946ef0583097fa2309;hb=17b654ec37966abda737e6df511ce5a7c962ec92;hp=254f7154971820b719e864681a772c5bc2fdcd04;hpb=bc95f4434f760d41191341ab4508b2064eb19025;p=lilypond.git diff --git a/scm/layout-beam.scm b/scm/layout-beam.scm index 254f715497..810d4a6ab0 100644 --- a/scm/layout-beam.scm +++ b/scm/layout-beam.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2000--2010 Jan Nieuwenhuizen +;;;; Copyright (C) 2000--2011 Jan Nieuwenhuizen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by @@ -15,7 +15,9 @@ ;;;; You should have received a copy of the GNU General Public License ;;;; along with LilyPond. If not, see . -(define ((check-beam-quant posl posr) beam posns) +(define check-beam-quant + (lambda (posl posr) + (lambda (beam posns) "Check whether BEAM has POSL and POSR quants. POSL are (POSITION . QUANT) pairs, where QUANT is -1 (hang), 0 (center), 1 (sit) or -2/ 2 (inter) @@ -38,12 +40,12 @@ (ly:warning (_ "Error in beam quanting. Expected (~S,~S) found ~S.") want-l want-r posns) (set! (ly:grob-property beam 'annotation) - (format "(~S,~S)" want-l want-r)))) - posns - )) + (format #f "(~S,~S)" want-l want-r)))) + posns)))) - -(define ((check-beam-slope-sign comparison) beam posns) +(define check-beam-slope-sign + (lambda (comparison) + (lambda (beam posns) "Check whether the slope of BEAM is correct wrt. COMPARISON." (let* ((slope-sign (- (cdr posns) (car posns))) (correct (comparison slope-sign 0))) @@ -52,25 +54,21 @@ (ly:warning (_ "Error in beam quanting. Expected ~S 0, found ~S.") (procedure-name comparison) slope-sign) (set! (ly:grob-property beam 'annotation) - (format "~S 0" (procedure-name comparison)))) + (format #f "~S 0" (procedure-name comparison)))) (set! (ly:grob-property beam 'annotation) "")) - posns)) + posns)))) (define-public (check-quant-callbacks l r) - (list ly:beam::calc-least-squares-positions - ly:beam::slope-damping - ly:beam::shift-region-to-valid - ly:beam::quanting - (check-beam-quant l r) - )) + (lambda (grob) + ((check-beam-quant l r) + grob + (beam::place-broken-parts-individually grob)))) (define-public (check-slope-callbacks comparison) - (list ly:beam::calc-least-squares-positions - ly:beam::slope-damping - ly:beam::shift-region-to-valid - ly:beam::quanting - (check-beam-slope-sign comparison) - )) + (lambda (grob) + ((check-beam-slope-sign comparison) + grob + (beam::place-broken-parts-individually grob))))