]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/lily-library.scm
Clear fret-diagram- and harp-pedal-input-strings from whitespace
[lilypond.git] / scm / lily-library.scm
index d1a91127658d01358026cdaac0ba10a4197e8e84..c5bf8cc59de12066e1f4bbf7e6aa88e321ef883e 100644 (file)
 (define-public DOWN -1)
 (define-public CENTER 0)
 
-(define-safe-public DOUBLE-FLAT-QTS -4)
-(define-safe-public THREE-Q-FLAT-QTS -3)
-(define-safe-public FLAT-QTS -2)
-(define-safe-public SEMI-FLAT-QTS -1)
-(define-safe-public NATURAL-QTS 0)
-(define-safe-public SEMI-SHARP-QTS 1)
-(define-safe-public SHARP-QTS 2)
-(define-safe-public THREE-Q-SHARP-QTS 3)
-(define-safe-public DOUBLE-SHARP-QTS 4)
-(define-safe-public SEMI-TONE-QTS 2)
-
 (define-safe-public DOUBLE-FLAT  -1)
 (define-safe-public THREE-Q-FLAT -3/4)
 (define-safe-public FLAT -1/2)
@@ -197,17 +186,17 @@ This supports historic use of @code{Completion_heads_engraver} to split
 (define-public (scorify-music music)
   "Preprocess @var{music}."
   (ly:make-score
-   (fold (lambda (f m) (f m parser))
+   (fold (lambda (f m) (f m))
          music
          toplevel-music-functions)))
 
-(define (get-current-filename parser book)
+(define (get-current-filename book)
   "return any suffix value for output filename allowing for settings by
 calls to bookOutputName function"
   (or (paper-variable book 'output-filename)
       (ly:parser-output-name)))
 
-(define (get-current-suffix parser book)
+(define (get-current-suffix book)
   "return any suffix value for output filename allowing for settings by calls to
 bookoutput function"
   (let ((book-output-suffix (paper-variable book 'output-suffix)))
@@ -217,13 +206,13 @@ bookoutput function"
 
 (define-public current-outfile-name #f)  ; for use by regression tests
 
-(define (get-outfile-name parser book)
+(define (get-outfile-name book)
   "return current filename for generating backend output files"
   ;; user can now override the base file name, so we have to use
   ;; the file-name concatenated with any potential output-suffix value
   ;; as the key to out internal a-list
-  (let* ((base-name (get-current-filename parser book))
-         (output-suffix (get-current-suffix parser book))
+  (let* ((base-name (get-current-filename book))
+         (output-suffix (get-current-suffix book))
          (alist-key (format #f "~a~a" base-name output-suffix))
          (counter-alist (ly:parser-lookup 'counter-alist))
          (output-count (assoc-get alist-key counter-alist 0))
@@ -247,17 +236,17 @@ bookoutput function"
     (set! current-outfile-name result)
     result))
 
-(define (print-book-with parser book process-procedure)
+(define (print-book-with book process-procedure)
   (let* ((paper (ly:parser-lookup '$defaultpaper))
          (layout (ly:parser-lookup '$defaultlayout))
-         (outfile-name (get-outfile-name parser book)))
+         (outfile-name (get-outfile-name book)))
     (process-procedure book paper layout outfile-name)))
 
 (define-public (print-book-with-defaults book)
-  (print-book-with parser book ly:book-process))
+  (print-book-with book ly:book-process))
 
 (define-public (print-book-with-defaults-as-systems book)
-  (print-book-with parser book ly:book-process-to-systems))
+  (print-book-with book ly:book-process-to-systems))
 
 ;; Add a score to the current bookpart, book or toplevel
 (define-public (add-score score)
@@ -269,24 +258,24 @@ bookoutput function"
     ((ly:parser-lookup 'book-score-handler)
      (ly:parser-lookup '$current-book) score))
    (else
-    ((ly:parser-lookup 'toplevel-score-handler) parser score))))
+    ((ly:parser-lookup 'toplevel-score-handler) score))))
 
 (define-public paper-variable
   (let
       ((get-papers
-        (lambda (parser book)
+        (lambda (book)
           (append (if (and book (ly:output-def? (ly:book-paper book)))
                       (list (ly:book-paper book))
                       '())
                   (ly:parser-lookup '$papers)
                   (list (ly:parser-lookup '$defaultpaper))))))
     (make-procedure-with-setter
-     (lambda (parser book symbol)
+     (lambda (book symbol)
        (any (lambda (p) (ly:output-def-lookup p symbol #f))
-            (get-papers parser book)))
-     (lambda (parser book symbol value)
+            (get-papers book)))
+     (lambda (book symbol value)
        (ly:output-def-set-variable!
-        (car (get-papers parser book))
+        (car (get-papers book))
         symbol value)))))
 
 (define-public (add-text text)
@@ -797,6 +786,12 @@ as rectangular coordinates @ode{(x-length . y-length)}."
 (define-public (string-startswith s prefix)
   (equal? prefix (substring s 0 (min (string-length s) (string-length prefix)))))
 
+(define-public (remove-whitespace strg)
+"Remove characters satisfying @code{char-whitespace?} from string @var{strg}"
+  (string-delete
+    strg
+    char-whitespace?))
+
 (define-public (string-encode-integer i)
   (cond
    ((= i  0) "o")
@@ -1033,3 +1028,10 @@ print a warning and set an optional @var{default}."
    (ly:format "~a:1" input-file-name)
    (_ "no \\version statement found, please add~afor future compatibility")
    (format #f "\n\n\\version ~s\n\n" (lilypond-version))))
+
+(define-public (output-module? module)
+  "Returns @code{#t} if @var{module} belongs to an output module
+usually carrying context definitions (@code{\\midi} or
+@code{\\layout})."
+  (or (module-ref module 'is-midi #f)
+      (module-ref module 'is-layout #f)))