X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fframework-ps.scm;h=e17c3d478024cd75757ed71867e14d42bbdbe888;hb=c750e9b0ef41267a9b6be0300c880047f48b9353;hp=53d6447c98484e36a8b27a9b4f115fecea2d683c;hpb=1afc7f48df3385e078d5ec99214559b4b09eccd9;p=lilypond.git diff --git a/scm/framework-ps.scm b/scm/framework-ps.scm index 53d6447c98..e17c3d4780 100644 --- a/scm/framework-ps.scm +++ b/scm/framework-ps.scm @@ -2,7 +2,7 @@ ;;;; ;;;; source file of the GNU LilyPond music typesetter ;;;; -;;;; (c) 2004--2006 Han-Wen Nienhuys +;;;; (c) 2004--2006 Han-Wen Nienhuys (define-module (scm framework-ps)) @@ -16,6 +16,7 @@ (scm paper-system) (srfi srfi-1) (srfi srfi-13) + (scm clip-region) (lily)) @@ -408,8 +409,7 @@ (sort (apply append all-font-names) (lambda (x y) (stringpdf 0 0 (format "~a.eps" filename))) + )) + + extents-system-pairs) + )) + + +(define (clip-system-EPSes basename paper-book) + (define do-pdf (member "pdf" (ly:output-formats))) + + (define (clip-score-systems basename systems) + (let* + ((layout (ly:grob-layout (paper-system-system-grob (car systems)))) + (regions (ly:output-def-lookup layout 'clip-regions))) + + (for-each + (lambda (region) + (clip-systems-to-region + (format "~a-from-~a-to-~a-clip" + basename + (rhythmic-location->file-string (car region)) + (rhythmic-location->file-string (cdr region))) + layout systems region + do-pdf)) + + regions))) + + + ;; partition in system lists sharing their layout blocks + (let* + ((systems (ly:paper-book-systems paper-book)) + (count 0) + (score-system-list '())) + + (fold + (lambda (system last-system) + + + (if (not (and last-system + (equal? (paper-system-layout last-system) + (paper-system-layout system)))) + (set! score-system-list (cons '() score-system-list))) + + (if (paper-system-layout system) + (set-car! score-system-list (cons system (car score-system-list)))) + + ;; pass value. + system) + + #f + systems) + + (for-each + (lambda (system-list) + (clip-score-systems + (if (> count 0) + (format "~a-~a" basename count) + basename) + system-list)) + + score-system-list))) + + (define-public (output-preview-framework basename book scopes fields) (let* ((paper (ly:paper-book-paper book)) (systems (ly:paper-book-systems book)) @@ -544,7 +662,7 @@ ;; skip booktitles. (if (and - (not (ly:get-option 'preview-include-book-title)) + (not (ly:get-option 'include-book-title-preview)) (pair? systems) (ly:prob-property (car systems) 'is-book-title #f)) @@ -591,6 +709,7 @@ (postprocess-output book framework-ps-module (format "~a.preview.eps" basename) (ly:output-formats))))) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (define-public (convert-to-pdf book name)