lilypond-user
[Top][All Lists]
Advanced

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

Re: Lower-case letter rehearsal marks


From: David Kastrup
Subject: Re: Lower-case letter rehearsal marks
Date: Wed, 09 Dec 2015 17:17:22 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

Thomas Morley <address@hidden> writes:

> 2015-12-09 15:19 GMT+01:00 David Kastrup <address@hidden>:
>> Thomas Morley <address@hidden> writes:
>>
>>> This whole stuff looks quite obfuscated to me.
>>> Currently we do a lot of calculation to end up with then hard-coded vectors.
>>> Why not give the initial value directly?
>>> Below three suggestions, via string, char-set, vector.
>>> Maybe we could even introduce a context-property for it.
>>
>> I think we may be going at this the wrong way.  We have a similar issue
>> with chord names.  And all of that has to be constructed ad-hoc in some
>> manner.
>
>
> Not sure I fully understand.
> Let me try to describe what we do atm (just to clear my thoughts, but
> limiting them to RehearsalMark).
>
> (1)
> The procedure to format RehearsalMark is given by the context-property
> `markFormatter'.

This procedure receives a number and a context.  It has to be defined in
Scheme.  It has to return a markup.

We have stuff like

Documentation/notation/rhythms.itely:  \set Score.markFormatter = 
#format-mark-numbers
Documentation/notation/rhythms.itely:  \set Score.markFormatter = 
#format-mark-box-numbers
Documentation/notation/rhythms.itely:  \set Score.markFormatter = 
#format-mark-circle-numbers
Documentation/notation/rhythms.itely:  \set Score.markFormatter = 
#format-mark-circle-letters

Why not

\set Score.markFormat = \markup \circle \bold \markletter \etc

(the latter use of \etc does not work yet but that's fixable).

Suddenly we don't need all that folderol.  What with marks that show the
bar number instead (which is what the context argument is about)?

Not really sure about that.  Maybe the bar number should be in the
"props" argument when formatting?  That way there could be a markup
command producing it.

> (2)
> We provide a lot defaults for (1) in translation-functions.scm, using
> markup-commands.
> `markalphabet' and `markletter' select and print the letter.
> `bold, `box' and `circle' do further customizing.

But they all have to be referenced using make-box-markup or whatever in
a Scheme function.  If the user wants to see a box markup, he cannot use
\markup \box in any manner.  He has to see whether somebody already
assembled this for him.

> (3)
> `markalphabet' and `markletter' are defined in
> `define-markup-commands.scm' relying on vectors.

Same here.

-- 
David Kastrup



reply via email to

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