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
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-cvs