Thanks Jean, both for the solution and for the education.

> On 21 May 2023, at 13:58, Jean Abou Samra <j...@abou-samra.fr> wrote:
> 
> 
>> 
>> Le dimanche 21 mai 2023 à 12:09 +0100, Graham King a écrit :
>> 
>> In the following code, I would expect the tie between the final two notes to 
>> be dotted.  The actual output is a solid tie.  Not sure whether this is a 
>> bug or just my doing something wrong...
>> 
>> \version "2.25.0"
>> 
>> { c''2
>>   \once \tieDotted
>>   \set melismaBusyProperties = #'()
>>   1 ~ 2
>> }
>> 
>> \layout {
>>   \context {
>>     \Voice
>>     \remove "Note_heads_engraver"
>>     \consists "Completion_heads_engraver"
>>   }
>> }
>> I can work around this pretty easily, but I'd rather preserve the note 
>> durations of the original mensural notation if possible.
>> 
> That the second tie is not dotted is perfectly normal since \once makes a 
> command apply only at the current moment, and that tie starts later.
> 
I feared that this might be the case.  I'll have to be much more circumspect 
when using the Completion_heads_engraver, in case a change of barline 
distribution triggers this unexpectedly.
> What is more surprising is that the first tie is not dotted; this is harder 
> to explain simply, it's caused by shenanigans in the internals of 
> Completion_heads_engrver (it creates ties “retroactively”, later than when 
> they start).
> 
> Try
> 
> \version "2.24.1"
> 
> { c''2
>   \once \override Tie.color = red
>   \set melismaBusyProperties = #'()
>   1 \single \tieDotted ~ 2
> }
> 
> \layout {
>   \context {
>     \Voice
>     \remove "Note_heads_engraver"
>     \consists "Completion_heads_engraver"
>   }
> }
That works!  I didn't know about \single (and I hadn't thought of using a 
tweak).  I might convert all my dotted-tie instances to this mechanism, to 
avoid the impression that the decisions of the Completion_heads_engraver are 
changing the semantics of the .ly file.

Reply via email to