[Top][All Lists]
[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)