-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am Mittwoch, 27. August 2008 schrieb Daniel Hulme: > On Wed, Aug 27, 2008 at 10:32:31PM +0200, Reinhold Kainhofer wrote: > > Am Mittwoch, 27. August 2008 schrieb James E. Bailey: > > > Oddly, in the attached code, if the appoggiatura is commented out, > > > then the stems follow how they're supposed to. Is this a bug or a > > > super-special feature of graceMusic that I just didn't know about? > > > > It seems that the grace note commands are yet another example of a > > command that messes up ooiceOne/voiceTwo settings (by simply reverting > > the stem direction instead of restoring the previous value). Other > > examples I'm aware of are the cue commands. > > I'm glad someone has pointed this out, as it explains some previously > mysterious behaviour. As I use Lilypond mostly for typesetting drum > parts, pretty much every piece has grace notes and multiple voices. > > If someone who knows could point me towards the appropriate bit of code, > it would give me great pleasure to cook up a patch and send to -devel.
Unfortunately it's not that simple to even understand where the problem
happens. I looked at the internal music expression with and without the
\voiceOne and there is no explicit stem direction change after the grace
note. So it is not a problem of e.g. make-voice-props-revert, but rather a
by-product of the processing!
I noticed that my initial assumption was wrong that the grace command reverts
the stem direction. If you add any note or rest between the \voiceOne and the
\appoggiatura, everything will work just fine. Apparently the stem change by
\voiceOne is never recorded, because that seems to happen only on notes/rests
and the first note after the \voiceOne is the grace note, which has its stem
explicitly set to #UP.
Thus, lilypond never realizes that the stem direction should be set to #UP for
all notes.
Please note that other settings of \voiceOne are correctly applied (like the
rest position)
I suppose this is a bug in Lilypond, which can be summarized as:
"\voiceOne immediately before a grace command does not properly set
the stem direction".
A minimal example is attached for the bug tracker. Can this be added as a bug
if it's not already known?
Cheers,
Reinhold
- --
- ------------------------------------------------------------------
Reinhold Kainhofer, Vienna University of Technology, Austria
email: [EMAIL PROTECTED], http://reinhold.kainhofer.com/
* Financial and Actuarial Mathematics, TU Wien, http://www.fam.tuwien.ac.at/
* K Desktop Environment, http://www.kde.org, KOrganizer maintainer
* Chorvereinigung "Jung-Wien", http://www.jung-wien.at/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQFIteWPTqjEwhXvPN0RAvwjAKCDFpPi3LuARhfPir+6PXrUIAzgCgCfXoMf
atEI+1xl91KwOmcpXiKYP9o=
=W1KV
-----END PGP SIGNATURE-----
\version "2.11.57"
{
% \voiceOne immediately before a grace does not properly set the stem direction.
% Other properties set by \voiceOne (like rest placement) work just fine:
\voiceOne \appoggiatura e''4 f'' r e'' r |
\oneVoice R1 | % let the \oneVoice take effect
% If there is any note/rest between voiceOne and the grace command, everything works:
\voiceOne r4 \appoggiatura e''4 f'' r e'' |
}
grace_voiceOne_stemdirection.pdf
Description: Adobe PDF document
_______________________________________________ lilypond-user mailing list [email protected] http://lists.gnu.org/mailman/listinfo/lilypond-user
