]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/lily-library.scm
Yoshinobu Ishizaki's multiple header definition patch. Thanks!
[lilypond.git] / scm / lily-library.scm
index f14f3d7b42f1937a94ce9c53c735940e933b9a48..ceb2e7d69a42729e8d2e3e2d7c2982e0a4b33a69 100644 (file)
 
 ;; parser stuff.
 (define-public (print-music-as-book parser music)
-  (let* ((head (ly:parser-lookup parser '$globalheader))
+  (let* ((head (ly:parser-lookup parser '$defaultheader))
         (book (ly:make-book (ly:parser-lookup parser $defaultpaper)
                             head score)))
     (ly:parser-print-book parser book)))
 
 (define-public (print-score-as-book parser score)
-  (let* ((head (ly:parser-lookup parser '$globalheader))
+  (let* ((head (ly:parser-lookup parser '$defaultheader))
         (book (ly:make-book (ly:parser-lookup parser $defaultpaper)
                             head score)))
     (ly:parser-print-book parser book)))
 
 (define-public (print-score parser score)
-  (let* ((head (ly:parser-lookup parser '$globalheader))
+  (let* ((head (ly:parser-lookup parser '$defaultheader))
         (book (ly:make-book (ly:parser-lookup parser $defaultpaper)
                             head score)))
     (ly:parser-print-score parser book)))
                
 (define-public (collect-scores-for-book parser score)
-  (ly:parser-define
+  (ly:parser-define!
    parser 'toplevel-scores
    (cons score (ly:parser-lookup parser 'toplevel-scores))))
 
   (let*
       ((paper (ly:parser-lookup parser '$defaultpaper))
        (layout (ly:parser-lookup parser '$defaultlayout))
-       (count (ly:parser-lookup parser 'book-count))
+       (count (ly:parser-lookup parser 'output-count))
        (base (ly:parser-output-name parser)))
 
     (if (not (integer? count))
        (set! count 0))
 
     (if (> count 0)
-       (set! (base (format #f "~a-~a" count))))
+       (set! base (format #f "~a-~a" base count)))
 
-    (ly:parser-define! book-count (1+ count))
+    (ly:parser-define! parser 'output-count (1+ count))
     
-
     (ly:book-process book paper layout base)
     ))
 
   (let*
       ((paper (ly:parser-lookup parser '$defaultpaper))
        (layout (ly:parser-lookup parser '$defaultlayout))
-       (layout (ly:parser-lookup parser '$globalheader))
-       (count (ly:parser-lookup parser 'book-count))i
+       (header (ly:parser-lookup parser '$defaultheader))
+       (count (ly:parser-lookup parser 'output-count))
        (base (ly:parser-output-name parser)))
 
     (if (not (integer? count))
        (set! count 0))
 
     (if (> count 0)
-       (set! (base (format #f "~a-~a" count))))
+       (set! base (format #f "~a-~a" base count)))
 
-    (ly:parser-define! book-count (1+ count))
+    (ly:parser-define! parser 'output-count (1+ count))
     
 
     (ly:score-process score header paper layout base)
@@ -324,6 +323,10 @@ found."
    (cons (- (car iv) amount)
          (+ (cdr iv) amount)))
 
+
+(define-public (interval-empty? iv)
+   (> (car iv) (cdr iv)))
+
 (define-public (interval-union i1 i2)
    (cons (min (car i1) (car i2))
         (max (cdr i1) (cdr i2))))
@@ -392,6 +395,9 @@ possibly turned off."
 (define-public (symbol<? lst r)
   (string<? (symbol->string lst) (symbol->string r)))
 
+(define-public (symbol-key<? lst r)
+  (string<? (symbol->string (car lst)) (symbol->string (car r))))
+
 ;;
 ;; don't confuse users with #<procedure .. > syntax. 
 ;;