On Wed, Mar 25, 2015 at 2:31 PM, David Nalesnik <david.nales...@gmail.com> wrote:
> > > On Wed, Mar 25, 2015 at 2:27 PM, David Nalesnik <david.nales...@gmail.com> > wrote: > >> Hi Simon, >> >> >> The problem with the last invocation is this. LilyPond considers whether >> the first argument you give it--"deutsch"--is a symbol. It isn't, so it >> uses 'general. Then, it looks further on for a suitable value for >> 'language', not for 'channel'. >> > > Sorry, that last should read "...a suitable value for 'language', beyond > 'deutsch'." > > How about this? A bit contrived maybe...(A better solution eagerly awaited!) %%%% \version "2.19.16" #(define output-language '()) language = #(define-music-function (parser location channel language) (string-or-symbol? scheme?) (_i "Define languages for input (i.e. set note names for @var{language}), output (i.e. display tagline and table of contents in @var{language}), or both.") (let* ((return (if (ly:music? language) language #{ #})) (language (if (string? language) language channel)) (channel (if (string? channel) 'general channel))) (if (not (eq? channel 'output)) (note-names-language parser language)) (if (not (eq? channel 'input)) (set! output-language (string->symbol language))) return )) \language general "deutsch" %\language "deutsch" #(newline) { c } %%% David
_______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user