]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/output-lib.scm
ly:spawn: pass utf-8 strings to g_spawn. Fixes #1522.
[lilypond.git] / scm / output-lib.scm
index 716f36a735071a4061787646bbfb743fd51e6041..f00273add6e236028ade8dffbe917d4f7d8d21d2 100644 (file)
@@ -1,6 +1,6 @@
 ;;;; This file is part of LilyPond, the GNU music typesetter.
 ;;;;
-;;;; Copyright (C) 1998--2010 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;; Copyright (C) 1998--2011 Jan Nieuwenhuizen <janneke@gnu.org>
 ;;;; Han-Wen Nienhuys <hanwen@xs4all.nl>
 ;;;;
 ;;;; LilyPond is free software: you can redistribute it and/or modify
   (pair? (ly:grob-basic-properties grob)))
 
 (define-public (make-stencil-boxer thickness padding callback)
-
   "Return function that adds a box around the grob passed as argument."
   (lambda (grob)
     (box-stencil (callback grob) thickness padding)))
 
 (define-public (make-stencil-circler thickness padding callback)
   "Return function that adds a circle around the grob passed as argument."
-
-  (lambda (grob) (circle-stencil (callback grob) thickness padding)))
+  (lambda (grob)
+    (circle-stencil (callback grob) thickness padding)))
 
 (define-public (print-circled-text-callback grob)
   (grob-interpret-markup grob (make-circle-markup
@@ -121,6 +120,14 @@ and duration-log @var{log}."
      (if (< log 0)
         (string-append (number->string log) "mensural")
         (string-append (number->string log) (symbol->string style))))
+    ((blackpetrucci)
+     (if (< log 0)
+        (string-append (number->string log) "blackmensural")
+        (string-append (number->string log) (symbol->string style))))
+    ((semipetrucci)
+     (if (< log 0)
+        (string-append (number->string log) "semimensural")
+        (string-append (number->string log) "petrucci")))
     ((neomensural)
      (string-append (number->string log) (symbol->string style)))
     (else
@@ -234,6 +241,10 @@ and duration-log @var{log}."
 (define-public center-visible          #(#f #t #f))
 (define-public end-of-line-visible     #(#t #f #f))
 (define-public all-invisible           #(#f #f #f))
+(define-public (inherit-x-parent-visibility grob)
+  (let ((parent (ly:grob-parent grob X)))
+    (ly:grob-property parent 'break-visibility all-invisible)))
+
 
 (define-public spanbar-begin-of-line-invisible #(#t #f #f))
 
@@ -859,18 +870,10 @@ between the two text elements."
 (define-public (system-start-text::calc-y-offset grob)
 
   (define (live-elements-list me)
-    (let* ((elements (ly:grob-object me 'elements))
-          (elts-length (ly:grob-array-length elements))
-          (live-elements '()))
-
-      (let get-live ((len elts-length))
-       (if (> len 0)
-           (let ((elt (ly:grob-array-ref elements (1- len))))
-
-             (if (grob::is-live? elt)
-                 (set! live-elements (cons elt live-elements)))
-             (get-live (1- len)))))
-      live-elements))
+    (let ((elements (ly:grob-object me 'elements)))
+
+      (filter! grob::is-live?
+               (ly:grob-array->list elements))))
 
   (let* ((left-bound (ly:spanner-bound grob LEFT))
         (live-elts (live-elements-list grob))