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:08:11 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux)

Thomas Morley <address@hidden> writes:

> 2016-01-12 15:37 GMT+01:00 Pierre Perol-Schneider
> <address@hidden>:
>
> I've always found it a little so-so, to define custom markup-commands
> only combining a personal choice of preexisting markup-commands.
> Wouldn't it be better to let it do by a scheme-function?
> Though, you can't further reuse it in another markup like:
>
> \version "2.19.36"
>
> foo = #(define-scheme-function ()() #{ \markup "bla" #})
> \markup \line { "xy" \foo }
>
> Returns an error.
> You would need to make some detour:
>
> %% Two possebilities to get the _result_ of `foo'
> buzz = \foo
> \markup \line { "xy" \buzz }
>
> \markup \line { "xy" ##{ \foo #} }
>
> 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...

-- 
David Kastrup



reply via email to

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