lilypond-devel
[Top][All Lists]
Advanced

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

Re: Quoting \set and \override (for cue notes etc.)


From: Reinhold Kainhofer
Subject: Re: Quoting \set and \override (for cue notes etc.)
Date: Sat, 22 Aug 2009 13:36:33 +0200
User-agent: KMail/1.11.4 (Linux/2.6.29-02062906-generic; KDE/4.2.4; i686; ; )

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Am Samstag, 22. August 2009 13:06:59 schrieb Reinhold Kainhofer:
> Am Donnerstag, 20. August 2009 00:19:41 schrieb Neil Puttock:
> > 2009/8/14 Reinhold Kainhofer <address@hidden>:
> > > I tried adding various classes to the quotedEventTypes list, e.g.
> > > override- property-event general-music override-property
> > > OverrideProperty property-set PropertySet, but nothing seems to have
> > > any effect. Any idea how to make lilypond also quote overrides and \set
> > > commands?
> >
> > As I hinted in the discussion you mentioned, it's partly due to how
> > recording-group-emulate is coded:
>
> Ah, I would have never guessed that recording-group-emulate would be
> involved...
>
> Shouldn't add-quotable and recording-group-emulate be moved out of the
> partcombiner code and somewhere more general?
>
> > If you change this to listen to 'StreamEvent, the other classes will
> > be acknowledged, which will allow simple context settings to work
> > (like fontSize).
> >
> > Unfortunately, there's still a problem with \override and \revert;
> > they're recorded, but it seems the events associated with them either
> > aren't broadcast, or they're ignored by the Engraver_group.
[...]
> -) \once\override Grob #'prop = #val works, but the override without \once
> does not work. Unfortunately, acciaccatura etc. use \override without
> \once. These overrides are recorded (i.e. they are checked for in
> Quote_iterator::accept_music_type), but they don't seem to have an effect.

Actually, the Engraver_Group receives and processes them perfectly well. The 
real problem is that each \override (without \once) is immediately followed by 
a corresponding Revert event, of course rendering that override ineffective:

Event class: note-event  (in Quote_iterator::accept_music_type)
Event class: Override  (in Quote_iterator::accept_music_type)
    Engraver_group::override: Stem, (stroke-style), "grace"
Event class: Revert  (in Quote_iterator::accept_music_type)
    Engraver_group::revert: Stem, (stroke-style),
Event class: note-event  (in Quote_iterator::accept_music_type)
Event class: note-event  (in Quote_iterator::accept_music_type)

So, I suppose this is a problem with the recording-group-emulator rather than 
the Engraver_group or the broadcasting.

Cheers,
Reinhold
- -- 
- ------------------------------------------------------------------
Reinhold Kainhofer, address@hidden, http://reinhold.kainhofer.com/
 * Financial & Actuarial Math., Vienna Univ. of Technology, Austria
 * http://www.fam.tuwien.ac.at/, DVR: 0005886
 * LilyPond, Music typesetting, http://www.lilypond.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iD8DBQFKj9hBTqjEwhXvPN0RAq9rAKCgk//ORr/n/luwqUfFUHa1OztTWgCfd7UV
54ImQVoIOoAuphMYvAG5cNg=
=gYey
-----END PGP SIGNATURE-----




reply via email to

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