]> git.donarmstrong.com Git - lilypond.git/commitdiff
Remove set-part-combine-listener. This plugs a memory leak.
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Thu, 2 Nov 2006 14:04:38 +0000 (15:04 +0100)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Thu, 2 Nov 2006 14:04:38 +0000 (15:04 +0100)
ly/declarations-init.ly
ly/music-functions-init.ly
scm/part-combiner.scm

index 6728973084a07aba90b6bf42b6abc3ff24564461..3ff8e221197c57d83c47998649e2503e9444c157 100644 (file)
@@ -106,8 +106,6 @@ partCombineListener = \layout {
     }
 }
 
-#(set-part-combine-listener partCombineListener)
-
 \include "dynamic-scripts-init.ly"
 \include "spanners-init.ly"
 \include "property-init.ly"
index 4686f7b723831d048d64a36fdfc1d02e3f1adc5e..1473970c177feca26b6f09b649ac83ddabfbd87e 100644 (file)
@@ -23,7 +23,7 @@ acciaccatura =
 addquote =
 #(define-music-function (parser location name music) (string? ly:music?)
    "Add a piece of music to be quoted "
-   (add-quotable name music)
+   (add-quotable parser name music)
    (make-music 'SequentialMusic 'void #t))
 
 
@@ -338,7 +338,8 @@ octave =
               ))
 partcombine =
 #(define-music-function (parser location part1 part2) (ly:music? ly:music?)
-                (make-part-combine-music (list part1 part2)))
+                (make-part-combine-music parser
+                                        (list part1 part2)))
 
              
 pitchedTrill =
index a444313f6617f1d385580e8cd76905b1041b8eb7..cc051cd5e639d23d0ddaf24e9bb16e874fb32432 100644 (file)
@@ -220,25 +220,13 @@ Voice-state objects
     (ly:interpret-music-expression (make-non-relative-music music) global)
     context-list))
 
-(define noticed '())
-;; todo: junk this, extract $defaultlayout from parser instead
-(define part-combine-listener '())
-
-; UGH - should pass noticed setter to part-combine-listener
-(define-safe-public (set-part-combine-listener x)
-  (set! part-combine-listener x))
-
-(define-public (notice-the-events-for-pc context lst)
-  "add CONTEXT-ID, EVENT list to NOTICED variable."
-  
-  (set! noticed (acons (ly:context-id context) lst noticed)))
-
-(define-public (make-part-combine-music music-list)
+(define-public (make-part-combine-music parser music-list)
   (let* ((m (make-music 'PartCombineMusic))
         (m1 (make-non-relative-music (context-spec-music (first music-list) 'Voice "one")))
         (m2  (make-non-relative-music  (context-spec-music (second music-list) 'Voice "two")))
-        (evs2 (recording-group-emulate m2 part-combine-listener))
-        (evs1 (recording-group-emulate m1 part-combine-listener)))
+        (listener (ly:parser-lookup parser 'partCombineListener))
+        (evs2 (recording-group-emulate m2 listener))
+        (evs1 (recording-group-emulate m1 listener)))
     
     (set! (ly:music-property m 'elements) (list m1 m2))
     (set! (ly:music-property m 'split-list)
@@ -495,11 +483,10 @@ the mark when there are no spanners active.
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
-(define-public (add-quotable name mus)
-  (set! noticed '())
+(define-public (add-quotable parser name mus)
   (let* ((tab (eval 'musicQuotes (current-module)))
         (context-list (recording-group-emulate (context-spec-music mus 'Voice)
-                                             part-combine-listener)))
+                                               (ly:parser-lookup parser 'partCombineListener))))
     (if (pair? context-list)
        (hash-set! tab name
                   ;; cdr : skip name string