lilypond-user
[Top][All Lists]
Advanced

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

Re: Overriding tie-configuration & \shape breaks custom Scheme function


From: David Kastrup
Subject: Re: Overriding tie-configuration & \shape breaks custom Scheme function since 2.19.24
Date: Sun, 10 Jan 2016 10:57:53 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux)

Malte Meyn <address@hidden> writes:

> Am 10.01.2016 um 02:50 schrieb Peter Crighton:
>>                       (if (or (music-is-of-type? mus 'rest-event)
>>                               (music-is-of-type? mus 'multi-measure-rest))
>
> The overrides fall into the ‘else’ case and then the tweaks are applied.
> I’m not sure why this is changing all of the following note heads (bug?)

Intentional.  It's

commit 11a9e5701316d46d34993fadb85482282c9753cc
Author: David Kastrup <address@hidden>
Date:   Sat Jul 11 13:13:34 2015 +0200

    Issue 4500: Support chaining \tweak variant of overrides
    
    Something like
    
    { \once \tweak color #red \tweak font-size 2 NoteHead
      <c' e'>2 c'2
    }
    
    previously failed to result in having both tweaks register.

(version 2.19.24) which made sense while \tweak could also be used as an
override, namely between

commit 6e0f8d53951bfad582204df9a85a776463ac6614
Author: David Kastrup <address@hidden>
Date:   Thu Oct 25 14:46:15 2012 +0200

    Issue 2929: Allow \tweak to act as a stand-in for \once\override
    
    Making tweak optionally accept a grob specification instead of music
    to tweak makes it compatible with the behavior of functions such as
    \footnote and \shape, and actually serves to simplify their
    implementation.
    
    One slight complication occurs in lyrics mode, as demonstrated by the
    change necessary to input/regression/lyric-tweak.ly: with
    
        \tweak color #red reddish fish,
    
    LilyPond tries an override for a grob named "reddish" and fails.
    Tweaks in lyrics mode are highly unusual, have not been supported for
    long, and their effect can usually better be accomplished in markup
    mode instead.  The fix here is to write
    
        \tweak color #red \markup reddish fish,
    
    since LilyPond does not consider explicit markup a candidate for
    conversion into symbols.  The same problem is inherent with other
    commands using the same kind of symbol-list-or-music? interface, like
    \footnote, \hide, \omit.

(version 2.17.6) and

commit 269d0c6d104c40f75e225f93459fd827f4065905
Author: David Kastrup <address@hidden>
Date:   Sat Jul 18 17:30:26 2015 +0200

    Issue 4533: Stop the generic \tweak command from working as override
    
    The problem with letting the generic \tweak command work as an override
    is that the tweaking of lyric events becomes awkward since plain lyrics
    are hard to distinguish from property names.
    
    This renames the combined tweak/override command into \propertyTweak and
    changes all callers requiring the combined functionality to call
    \propertyTweak (or its Scheme equivalent) rather than \tweak.
    
    The original issue allowing \tweak to act as an override was issue 2929.
    The issue allowing tweaks to function in \lyricmode is issue 2543.

(version 2.19.25)

Now that only \propertyTweak does that, maybe \tweak should not do this
kind of chaining but leave it to \propertyTweak.

What should \tweak do then?  Just go forward with the tweak on override
(which achieves nothing)?  Give a warning instead (we don't generally
get one for non-effective tweaks)?  Silently ignore it?

-- 
David Kastrup



reply via email to

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