]> git.donarmstrong.com Git - lilypond.git/blobdiff - ly/music-functions-init.ly
Doc-fr: NR-1.5 Simultaneous
[lilypond.git] / ly / music-functions-init.ly
index 90cae893c674cf27b5678749a63d8ac9f5462661..02e6b8647e7b55324dbc7faf4dadd07f7df13912 100644 (file)
@@ -273,23 +273,18 @@ in a CueVoice oriented by @var{dir}.")
 
 
 displayLilyMusic =
-#(define-music-function (parser location port music) ((port?) ly:music?)
+#(define-music-function (parser location music) (ly:music?)
    (_i "Display the LilyPond input representation of @var{music}
-to @var{port}, defaulting to the console.")
-   (if (not port)
-       (set! port (current-output-port)))
-   (newline port)
-   (display-lily-music music parser port)
+to the console.")
+   (newline)
+   (display-lily-music music parser)
    music)
 
 displayMusic =
-#(define-music-function (parser location port music) ((port?) ly:music?)
-   (_i "Display the internal representation of @var{music} to
-@var{port}, default to the console.")
-   (if (not port)
-       (set! port (current-output-port)))
-   (newline port)
-   (display-scheme-music music port)
+#(define-music-function (parser location music) (ly:music?)
+   (_i "Display the internal representation of @var{music} to the console.")
+   (newline)
+   (display-scheme-music music)
    music)
 
 
@@ -768,10 +763,16 @@ Example:
                         (and (not (null? origins)) (car origins)))))))
      ;;
      ;; first, split the music and fill in voices
-     (for-each (lambda (m)
-                    (push-music m)
-                    (if (bar-check? m) (change-voice)))
-                  (ly:music-property music 'elements))
+     ;; We flatten direct layers of SequentialMusic since they are
+     ;; pretty much impossible to avoid when writing music functions.
+     (let rec ((music music))
+       (for-each (lambda (m)
+                  (if (eq? (ly:music-property m 'name) 'SequentialMusic)
+                      (rec m)
+                      (begin
+                        (push-music m)
+                        (if (bar-check? m) (change-voice)))))
+                (ly:music-property music 'elements)))
      (if (not (null? current-sequence)) (change-voice))
      ;; un-circularize `voices' and reorder the voices
      (set! voices (map-in-order (lambda (dummy seqs)