lilypond-devel
[Top][All Lists]
Advanced

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

Re: music function semantics


From: Carl Sorensen
Subject: Re: music function semantics
Date: Sat, 30 Jul 2011 17:48:16 -0600



On 7/30/11 4:37 PM, "Jan Warchoł" <address@hidden> wrote:

> W dniu 30 lipca 2011 18:18 użytkownik Carl Sorensen
> <address@hidden> napisał:
>> 
>> On 7/30/11 9:33 AM, "Jan Warchoł" <address@hidden> wrote:
>>> 
>>> I see...
>>> The more i think about it, the more i feel it would be good to merge
>>> \set, \override and \tweak into one thingy.  Doing so would make music
>>> functions like above one quite simpler.
>> 
>> While I could see that perhaps we could combine \set and \override, we
>> cannot combine \tweak.
>> 
>> \override and \set modify everything at the current moment.
>> 
>> \tweak modifies only a single grob.
>> 
>> The distinction between \override and \tweak needs to stay because it is a
>> semantic distinction.
> 
> Hmm, i'd say that \once \override could work like tweak.  Currently
> \once \override affects all objects created at the same moment in
> given context, but i think it wouldn't be of much inconvenience if it
> affected only a single object, like tweak does

I guess we'll have this out in GLISS.  But I think it would be a major
inconvenience.  If I want to have the all the notes at the current instant
made red, I can do it with a single call to \once \override.  If we make
\once \override work like \tweak, I'd need a call for each note head.

> 
> The reason i'm so concerned about it is because today i managed to do
> unbelieveable amount of mistakes when trying to move a markup.  I've
> forgotten about the hash, the quote and the dash (in different
> combinations) before i finally wrote -\tweak #'X-offset #3 .  At some
> moment i even thought it cannot be done like that.
> A shame - only i'm not sure who should be ashamed more, me or Lily :P

The principles:

\tweak comes immediately before the object to be modified.

Any scheme value needs to be introduced with #

All properties are scheme identifiers, so they need a quote before them.

so

- \tweak #'X-offset #3 \markup {foo}

is what you need.

I don't think we'll have much change to this in GLISS, but I might be
wrong....

Thanks,
Carl




reply via email to

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