lilypond-user
[Top][All Lists]
Advanced

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

Re: Outliner markup command


From: David Kastrup
Subject: Re: Outliner markup command
Date: Tue, 12 Jan 2016 22:20:35 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux)

David Kastrup <address@hidden> writes:

> Thomas Morley <address@hidden> writes:
>
>> Any chance to directly insert the result of a scheme-function in a
>> newly created markup?
>
> I've just written a syntax rule allowing that, with the arguments of the
> scheme function being scanned in \notemode.  Which is what they are
> usually scanned in.  That's required for scheme functions with music
> arguments.  However, it means that any markup arguments of the scheme
> function (apart from straightforward strings) need to be introduced
> using \markup ...
>
> I'm not sure whether we even should switch modes here.  Maybe leave it
> to the responsibility of the user to invoke \notemode ?  But \notemode
> does not accept anything but <<... >> or {...} so the kind of music
> arguments you can enter in that manner is fairly restricted.  Hm, but
> one can always escape to ##{...#} to get \notemode.
>
> So... \notemode or \markup mode?  And who writes up the docs and
> explains either complication?
>
> Current scheme functions with a music argument are:
> \beamExceptions
> \settingsFrom (oh, we have that one still?)
> \stringTuning
>
> Likely not all that important yet...

Ok, I think I've decided: parsing function arguments in notemode means
that tokens may not be absorbed into the function argument list after
they have already been scanned in notemode.  Stuff like `a' becomes a
note following the function call rather than a word markup when it has
been used as lookahead token.  That won't do.  For better or worse, I
have to stick with markup mode.

But function argument lists will still be parsed with the argument list
parser used for notemode.  I'm not really sure its choices will always
be correct.

-- 
David Kastrup



reply via email to

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