[Top][All Lists]
[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-----