CVSROOT:        /cvsroot/lilypond
Module name:    lilypond
Branch:         
Changes by:     Nicolas Sceaux <[EMAIL PROTECTED]>      05/08/16 18:30:32

Modified files:
        scm            : define-music-display-methods.scm 
        ly             : music-functions-init.ly 
        input/no-notation: display-lily-tests.ly 
        .              : ChangeLog 

Log message:
        * input/no-notation/display-lily-tests.ly: remove
        display-lily-init call.
        
        * ly/music-functions-init.ly (displayLilyMusic): move
        display-lily-init call at top level, so that the user should not
        have to call it.
        
        * scm/define-music-display-methods.scm (note-name->lily-string):
        retrieve note names directly from pitchnames using new function 
`rassoc'.
        (display-lily-init): note names list construction removed.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/define-music-display-methods.scm.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/music-functions-init.ly.diff?tr1=1.35&tr2=1.36&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/input/no-notation/display-lily-tests.ly.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ChangeLog.diff?tr1=1.4018&tr2=1.4019&r1=text&r2=text

Patches:
Index: lilypond/ChangeLog
diff -u lilypond/ChangeLog:1.4018 lilypond/ChangeLog:1.4019
--- lilypond/ChangeLog:1.4018   Tue Aug 16 15:47:40 2005
+++ lilypond/ChangeLog  Tue Aug 16 18:30:32 2005
@@ -1,3 +1,16 @@
+2005-08-16  Nicolas Sceaux  <[EMAIL PROTECTED]>
+
+       * input/no-notation/display-lily-tests.ly: delete
+       display-lily-init call.
+
+       * ly/music-functions-init.ly (displayLilyMusic): move
+       display-lily-init call at top level, so that the user should not
+       have to call it.
+
+       * scm/define-music-display-methods.scm (note-name->lily-string):
+       retrieve note names directly from pitchnames using new function 
`rassoc'.
+       (display-lily-init): note names list construction removed.
+
 2005-08-16  Han-Wen Nienhuys  <[EMAIL PROTECTED]>
 
        * Documentation/topdocs/NEWS.tely (Top): add entry for percent
Index: lilypond/input/no-notation/display-lily-tests.ly
diff -u lilypond/input/no-notation/display-lily-tests.ly:1.1 
lilypond/input/no-notation/display-lily-tests.ly:1.2
--- lilypond/input/no-notation/display-lily-tests.ly:1.1        Tue Aug 16 
13:00:23 2005
+++ lilypond/input/no-notation/display-lily-tests.ly    Tue Aug 16 18:30:32 2005
@@ -1,4 +1,4 @@
-\version "2.7.2"
+\version "2.7.6"
 
 #(use-modules (srfi srfi-13)
               (ice-9 format))
@@ -34,13 +34,6 @@
 #(define (lily-string->markup str)
    (make-column-markup (string-split str #\NewLine)))
 
-initTest = #(def-music-function (parser location) ()
-             ;; Before using display-lily-music, it must be 
-             ;; inited using display-lily-init
-             (display-lily-init parser)
-             (set! test-number 0)
-             (make-music 'SequentialMusic))
-
 test = #(def-music-function (parser location result-info strings) (string? 
pair?)
          (display-lily-init parser)
           (let ((input (car strings))
@@ -92,7 +85,6 @@
   }
 }
 {
-  \initTest
   %% Sequential music
   \test #"" ##[ { { a b } { c d } } #]                 % SequentialMusic
   \test #"" ##[ << { a b } { c d } >> #]               % SimultaneousMusic
Index: lilypond/ly/music-functions-init.ly
diff -u lilypond/ly/music-functions-init.ly:1.35 
lilypond/ly/music-functions-init.ly:1.36
--- lilypond/ly/music-functions-init.ly:1.35    Mon Aug 15 15:37:21 2005
+++ lilypond/ly/music-functions-init.ly Tue Aug 16 18:30:31 2005
@@ -52,9 +52,9 @@
 %#(use-modules (scm display-lily))invalid module name for use-syntax ((srfi 
srfi-39))
 
 #(use-modules (scm display-lily))
+#(display-lily-init parser)
 displayLilyMusic =
 #(def-music-function (parser location music) (ly:music?)
-   (display-lily-init parser)
    (display-lily-music music)
    music)
 
Index: lilypond/scm/define-music-display-methods.scm
diff -u lilypond/scm/define-music-display-methods.scm:1.3 
lilypond/scm/define-music-display-methods.scm:1.4
--- lilypond/scm/define-music-display-methods.scm:1.3   Mon Aug 15 18:28:41 2005
+++ lilypond/scm/define-music-display-methods.scm       Tue Aug 16 18:30:31 2005
@@ -11,12 +11,10 @@
 
 (define-module (scm display-lily))
 
-
 ;;; `display-lily-init' must be called before using `display-lily-music'. It
 ;;; takes a parser object as an argument.
 (define-public (display-lily-init parser)
   (*parser* parser)
-  (set-note-names! (ly:parser-lookup (*parser*) 'pitchnames))
   #t)
 
 ;;;
@@ -80,12 +78,14 @@
 ;;;
 ;;; pitch names
 ;;;
-(define note-names '())
 
-(define (set-note-names! pitchnames)
-  (set! note-names (map-in-order (lambda (name+lypitch)
-                                  (cons (cdr name+lypitch) (car name+lypitch)))
-                                pitchnames)))
+;; It is a pity that there is no rassoc in Scheme.
+(define* (rassoc item alist #:optional (test equal?))
+  (do ((alist alist (cdr alist))
+       (result #f result))
+      ((or result (null? alist)) result)
+    (if (and (car alist) (test item (cdar alist)))
+        (set! result (car alist)))))
 
 (define (note-name->lily-string ly-pitch)
   ;; here we define a custom pitch= function, since we do not want to
@@ -93,9 +93,9 @@
   (define (pitch= pitch1 pitch2)
     (and (= (ly:pitch-notename pitch1) (ly:pitch-notename pitch2))
         (= (ly:pitch-alteration pitch1) (ly:pitch-alteration pitch2))))
-  (let ((result (assoc ly-pitch note-names pitch=))) ;; assoc from srfi-1
+  (let ((result (rassoc ly-pitch (ly:parser-lookup (*parser*) 'pitchnames) 
pitch=)))
     (if result
-       (cdr result)
+       (car result)
        #f)))
 
 (define (octave->lily-string pitch)


_______________________________________________
Lilypond-cvs mailing list
Lilypond-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-cvs

Reply via email to