lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Reorganize language files and add a new \language command. (issue269


From: Carl . D . Sorensen
Subject: Re: Reorganize language files and add a new \language command. (issue2699041)
Date: Mon, 25 Oct 2010 01:57:56 +0000

I like this a lot -- it's looking like real lilypond code, instead of a
hack.

Thanks for doing this!

Carl



http://codereview.appspot.com/2699041/diff/1/Documentation/changes.tely
File Documentation/changes.tely (right):

http://codereview.appspot.com/2699041/diff/1/Documentation/changes.tely#newcode74
Documentation/changes.tely:74: is still supported, but might be
deprecated in the future.
Don't forget to add that the new syntax is compatible with safe mode (at
least I think it is).

http://codereview.appspot.com/2699041/diff/1/ly/catalan.ly
File ly/catalan.ly (right):

http://codereview.appspot.com/2699041/diff/1/ly/catalan.ly#newcode4
ly/catalan.ly:4: \version "2.12.0"
Update the \version string in all of these files!

http://codereview.appspot.com/2699041/diff/3001/ly/music-functions-init.ly
File ly/music-functions-init.ly (right):

http://codereview.appspot.com/2699041/diff/3001/ly/music-functions-init.ly#newcode365
ly/music-functions-init.ly:365: (_i "Select note names language.")
It would be more like standard lilypond to have language-init.ly do
something like:

language-pitch-names =
`((nederlands . ((ceses . ,(ly:make-pitch -1 0 DOUBLE-FLAT))
                          (ceh . ,(ly:make-pitch -1 0 SEMI-FLAT))
             ...
                         ))
   (italiano . ((....)
                   ...
                   ))
   (english .    ...
                  ))
    ....
  )
so that you have a single alist.

Then, the argument to your music function would not be a string, but
rather a symbol:

\language #'italiano

And the definition of language becomes:

#(define-music-function (parser location lang) (symbol?)
...
(let ((alist-def (assoc-get lang language-pitch-names '())))
 ...  (the rest of your stuff is the same)


That way we don't have to mess with strings and string comparisons, we
just use symbols.

http://codereview.appspot.com/2699041/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]