]> git.donarmstrong.com Git - lilypond.git/commitdiff
PS backend: move system-filtering code to backend-library.
authorPatrick McCarty <pnorcks@gmail.com>
Mon, 8 Feb 2010 23:01:36 +0000 (15:01 -0800)
committerPatrick McCarty <pnorcks@gmail.com>
Tue, 9 Feb 2010 00:07:26 +0000 (16:07 -0800)
The SVG backend will need this code, so the backend-library
is a better place for it.

scm/backend-library.scm
scm/framework-ps.scm

index 5116fecd823fb16317eed0b8705c9777a46f2e86..90c0cd07edfa725620e215eb4ba89d20fad9323d 100644 (file)
@@ -20,6 +20,7 @@
 ;; backend helpers.
 
 (use-modules (scm ps-to-png)
+            (scm paper-system)
             (ice-9 optargs))
 
 (define-public (ly:system command . rest)
       scope)))
   (apply string-append (map output-scope scopes)))
 
+(define-public (relevant-book-systems book)
+  (let ((systems (ly:paper-book-systems book)))
+    ;; skip booktitles.
+    (if (and (not (ly:get-option 'include-book-title-preview))
+            (pair? systems)
+            (ly:prob-property (car systems) 'is-book-title #f))
+       (cdr systems)
+       systems)))
+
+(define-public (relevant-dump-systems systems)
+  (let ((to-dump-systems '()))
+    (for-each
+      (lambda (sys)
+       (if (or (paper-system-title? sys)
+               (not (pair? to-dump-systems))
+               (paper-system-title? (car to-dump-systems)))
+           (set! to-dump-systems (cons sys to-dump-systems))))
+      systems)
+    to-dump-systems))
+
 (define missing-stencil-list '())
 
 (define-public (backend-testing output-module)
index 7b993fbb2beeac6db31a6713a630e1c964cc0078..baacb96124f856885d4e933bd023d216d23cc4d8 100644 (file)
@@ -602,20 +602,8 @@ fonts inline."
 
 (define-public (output-preview-framework basename book scopes fields)
   (let* ((paper (ly:paper-book-paper book))
-        (systems (ly:paper-book-systems book))
-        (to-dump-systems '()))
-    ;; skip booktitles.
-    (if (and (not (ly:get-option 'include-book-title-preview))
-            (pair? systems)
-            (ly:prob-property (car systems) 'is-book-title #f))
-       (set! systems (cdr systems)))
-    (for-each
-     (lambda (sys)
-       (if (or (paper-system-title? sys)
-              (not (pair? to-dump-systems))
-              (paper-system-title? (car to-dump-systems)))
-          (set! to-dump-systems (cons sys to-dump-systems))))
-     systems)
+        (systems (relevant-book-systems book))
+        (to-dump-systems (relevant-dump-systems systems)))
     (dump-stencil-as-EPS paper
                         (stack-stencils Y DOWN 0.0
                                         (map paper-system-stencil