[Top][All Lists]

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

Re: [PATCH] Fix 524 (pitched trill accidental forgetfulness)

From: Han-Wen Nienhuys
Subject: Re: [PATCH] Fix 524 (pitched trill accidental forgetfulness)
Date: Sun, 22 Jun 2008 00:45:43 +0200

On Wed, Jun 18, 2008 at 10:26 PM, Neil Puttock <address@hidden> wrote:
> 2008/6/12 Han-Wen Nienhuys <address@hidden>:
>> the inefficiency of computing things twice is not that important.  I'm
>> a bit more concerned with duplication of logic, if there is any.  Can
>> you fold things together into a common function?
> As it stands the only duplication would be the code for checking the
> bar number, so that could quite easily be folded into a common
> function.
>> I think there are a
>> couple more utility functions for contexts/engravers, so you could add
>> to that.
> Do you mean something like the functions in


context.hh:Moment measure_position (Context const *context);
context.hh:Rational measure_length (Context const *context);

> Of course, it would be desirable for the accidental behaviour for
> pitched trills to follow that of normal accidentals (excepting the
> 'natural-always-visible' rule); but that would require a much more
> complicated rewrite of both engravers.


>> it should happen automatically if you set force-accidental on the
>> corresponding music event in the parser.
> Well, I can see that force-accidental is set on the trill pitch in the
> parser, but the stumbling block is that there's no music event passed
> by the parser for a pitched trill - as far as my limited scheme
> knowledge goes, it appears that the \pitchedTrill function filters out
> the trill-span-event from the main note, then adds the trill pitch to
> the list, which the Pitched_trill_engraver notices.
> I've tried reading the force-accidental property from the music event,
> then adding it to the trill-span-event list, but it causes a segfault.
> :(

That's strange; can you show the code for that? As far as I can see,
you should be extracting force-accidental from the secondary-note and
set that property in the place where you set the trill-pitch property.
Then the property reaches the engraver in the same way that the
trill-pitch does.

Han-Wen Nienhuys - address@hidden -

reply via email to

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