;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+;;;; (c) 2004--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
;; todo: figure out how to make module,
;; without breaking nested ly scopes
(display (events x) file)
(display " active = " file)
(display (span-state x) file)
- (display "\n" file) )
+ (display "\n" file))
(define-method (note-events (vs <Voice-state>))
(define (f? x)
(define-method (previous-voice-state (vs <Voice-state>))
(let ((i (slot-ref vs 'vector-index))
- (v (slot-ref vs 'state-vector)) )
+ (v (slot-ref vs 'state-vector)))
(if (< 0 i)
(vector-ref v (1- i))
#f)))
(display (configuration x) f)
(if (synced? x)
(display " synced "))
- (display "\n" f) )
+ (display "\n" f))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#:tuning (cdar v)
#:events (map car (cdr v))))
evl))))
- (do ( (i 0 (1+ i)) )
- ( (= i (vector-length vec)) vec)
+ (do ((i 0 (1+ i)))
+ ((= i (vector-length vec)) vec)
(slot-set! (vector-ref vec i) 'vector-index i)
(slot-set! (vector-ref vec i) 'state-vector vec))))
active))
(define (analyse-absdyn-end active ev)
- (if (equal? (ly:music-property ev 'name) 'AbsoluteDynamicEvent)
+ (if (or (equal? (ly:music-property ev 'name) 'AbsoluteDynamicEvent)
+ (and (equal? (ly:music-property ev 'name) 'CrescendoEvent)
+ (equal? STOP (ly:music-property ev 'span-direction))))
(assoc-remove! (assoc-remove! active 'cresc) 'decr)
active))
(define part-combine-listener '())
; UGH - should pass noticed setter to part-combine-listener
-(define-public (set-part-combine-listener x)
+(define-safe-public (set-part-combine-listener x)
(set! part-combine-listener x))
(define-public (notice-the-events-for-pc context lst)
(analyse-spanner-states voice-state-vec1)
(analyse-spanner-states voice-state-vec2)
- (if #f
+ (if #t
(begin
(display voice-state-vec1)
(display "***\n")
(define-public (add-quotable name mus)
(set! noticed '())
- (let* ((tab (eval 'musicQuotes (current-module) ))
+ (let* ((tab (eval 'musicQuotes (current-module)))
(context (ly:run-translator (context-spec-music mus 'Voice)
part-combine-listener))
(first-voice-handle (last-pair noticed)))