lilypond-devel
[Top][All Lists]
Advanced

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

Re: [GSoC] spanners project update


From: David Kastrup
Subject: Re: [GSoC] spanners project update
Date: Tue, 05 Jul 2016 10:54:19 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux)

Nathan Chou <address@hidden> writes:

> On Fri, Jul 1, 2016 at 12:48 AM, David Kastrup <address@hidden> wrote:
>> But that means that you can no longer let people write individual parts
>> with several spanner ids independently even when there never is even
>> going to be any cross-Voice spanner.  Spanner-ids like \=1 \=2 are not
>> likely to be unique when they are needed in independently written parts.
>> So you start trying to make rules which spanner-ids are only supposed to
>> be used locally and which are supposed to be unique at some level.  And
>> which level is better?  Staff or Score?
>>
>> Lots and lots of decisions which are actually best made in connection
>> with an actual score.  And when they are written into the score, you
>> don't need to look them up or second-guess them.
>
> That is a good point; I might agree with spanner id's not being shared
> across voices if nothing has been indicated. To make this less
> tedious, however: what if after the parent context in which to share
> spanners has been given once, future spanner id's (in the same voice)
> default to share in that context? Or alternatively, perhaps this
> parent share context could be set as a context property, allowing the
> user to indicate a "default"?

How often are you expected to write this?

> Also, since I am accepting a key-list which includes indexes, should I
> treat, for example, the number 1 and the symbol #{1}# as the same id?

I wouldn't.  Other key-list uses don't.  The symbol #{1}# is more of a
curiosity than anything one wants to use regularly.  Basically, I would
change spanner-id to be a key (which does not include symbols).  This
would be a deliberate incompatibility and would mean using eqv (or
ly_is_equal) for comparing spanner id's instead of string comparison.
The spanner-id role of "" would be likely be taken over by the default
'() value.

-- 
David Kastrup



reply via email to

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