lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Let cue commands deal consistently with #CENTER direction. (issue 63


From: dak
Subject: Re: Let cue commands deal consistently with #CENTER direction. (issue 6304090)
Date: Mon, 18 Jun 2012 08:06:55 +0000

Reviewers: Keith,


http://codereview.appspot.com/6304090/diff/1/scm/music-functions.scm
File scm/music-functions.scm (right):

http://codereview.appspot.com/6304090/diff/1/scm/music-functions.scm#newcode999
scm/music-functions.scm:999: (list quote-music))
On 2012/06/18 04:16:30, Keith wrote:
If somebody asks for  \cueDuring "flute" #CENTER s1
he probably wants the flute notes set in small type,
just without a neutral direction of stems, etc.

Well, that's what I get if I just read the logic of the code.  I'll take
a look at what make-voice-props-override actually does and come up with
something better.

Thanks for checking.

Description:
Let cue commands deal consistently with #CENTER direction.

Please review this at http://codereview.appspot.com/6304090/

Affected files:
  M scm/music-functions.scm


Index: scm/music-functions.scm
diff --git a/scm/music-functions.scm b/scm/music-functions.scm
index 559eae3c3ff300e04e2a0eed635ea678e32d37ff..b5b28e48faa3b5c1a57f3e37ea2685ee5fc9a4a4 100644
--- a/scm/music-functions.scm
+++ b/scm/music-functions.scm
@@ -967,39 +967,38 @@ set to the @code{location} parameter."
   (if (vector? (ly:music-property quote-music 'quoted-events))
       (let* ((dir (ly:music-property quote-music 'quoted-voice-direction))
             (clef (ly:music-property quote-music 'quoted-music-clef))
-            (main-voice (if (eq? 1 dir) 1 0))
-            (cue-voice (if (eq? 1 dir) 0 1))
+            (main-voice (case dir ((1) 1) ((-1) 0) (else #f)))
+            (cue-voice (and main-voice (- 1 main-voice)))
             (main-music (ly:music-property quote-music 'element))
             (return-value quote-music))

-       (if (or (eq? 1 dir) (eq? -1 dir))
+       (if main-voice
+           (set! (ly:music-property quote-music 'element)
+                 (make-sequential-music
+                  (list
+                   (make-voice-props-override main-voice)
+                   main-music
+                   (make-voice-props-revert)))))
+               
+       (if (or cue-voice (not (null? clef)))

            ;; if we have stem dirs, change both quoted and main music
            ;; to have opposite stems.
-           (begin
-             (set! return-value
-                   ;; cannot context-spec Quote-music, since context
-                   ;; for the quotes is determined in the iterator.
-                   (make-sequential-music
-                    (list
-                     (if (null? clef)
-                         (make-music 'Music)
-                         (make-cue-clef-set clef))
- (context-spec-music (make-voice-props-override cue-voice) 'CueVoice "cue")
-                     quote-music
-                     (context-spec-music (make-voice-props-revert) 'CueVoice 
"cue")
-                     (if (null? clef)
-                         (make-music 'Music)
-                         (make-cue-clef-unset)))))
-             (set! main-music
-                   (make-sequential-music
-                    (list
-                     (make-voice-props-override main-voice)
-                     main-music
-                     (make-voice-props-revert))))
-             (set! (ly:music-property quote-music 'element) main-music)))
-
-       return-value)
+       
+           ;; cannot context-spec Quote-music, since context
+           ;; for the quotes is determined in the iterator.
+
+           (make-sequential-music
+            (append
+             (if (null? clef) '() (list (make-cue-clef-set clef)))
+             (if cue-voice
+                 (list
+ (context-spec-music (make-voice-props-override cue-voice) 'CueVoice "cue")
+                  quote-music
+                  (context-spec-music (make-voice-props-revert) 'CueVoice 
"cue"))
+                 (list quote-music))
+             (if (null? clef) '() (list (make-cue-clef-unset)))))
+           quote-music))
       quote-music))

 (define-public ((quote-substitute quote-tab) music)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]