denemo-devel
[Top][All Lists]
Advanced

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

[Denemo-devel] Breve and Longa response to change duration


From: Richard Shann
Subject: [Denemo-devel] Breve and Longa response to change duration
Date: Fri, 21 Jan 2011 17:52:59 +0000

Nils,

I said that there was *no way* that the built in d-ChangeX would be
looking at the directives and thinking, "hmm this is setting the
duration I should change that". Which is true enough. But ...
The set duration in ticks command does not, of course, create a
directive, and so it was possible to make the change of duration look at
the duration and decide to delete the chord directives that modify the
duration of the chord. These are those that do not have OVERRIDE_AFFIX
set. And this is what I did. (And forgot that I had done something so
cunning of course:).
Unfortunately when you applied \neohead you also changed the \breve to
being in the postfix field, which is not being looked for. The prefix
field comes before the duration and the postfix after it - as the
duration is being overriden (because of the duration in ticks being set)
this makes no difference in this case - in general the postfix field on
a chord is for something coming after the duration (again, if AFFIX were
set, it could mean yet something else, but nothing has been defined for
that case).
Anyway, I have moved the \breve etc back into the prefix field and
change duration is now working again.
I should also check for the AFFIX flag in the code, since directives
with that set are not associated with the duration, they are prefixing
the entire chord < >n. It is working at the moment because the relevant
directive comes first.

One thing though is that neohead is *not* deleted when you change the
duration, and I notice that LilyPond responds with some other sort of
head.
This really is because you have associated the graphic with the wrong
directive, it should be on the neohead directive, I think. But of course
it won't change just because you change the duration; for that you need
to replace d-ChangeN with a scripted version.

Richard





reply via email to

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