[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Articulate and tied tremolo - unexpected result
From: |
David Kastrup |
Subject: |
Re: Articulate and tied tremolo - unexpected result |
Date: |
Sat, 02 Jun 2018 22:24:18 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux) |
David Kastrup <address@hidden> writes:
> Thomas Morley <address@hidden> writes:
>
>> 2018-06-02 13:04 GMT+02:00 David Baptista <address@hidden>:
>>> Good morning to all, I have recently picked up an unexpected behaviour when
>>> using the articulate script in conjuction with tremolo and ties. Here is a
>>> minimal example:
>>>
>>> \include "articulate.ly"
>>>
>>> \score{
>>> c'1:16~ c'1:16
>>> \layout{}
>>> }
>>>
>>> \score{
>>> \articulate { c'1:16~ c'1:16 }
>>> \layout{}
>>> }
>>>
>>> When this type of notation appears in scores, the meaning is that the
>>> tremolo is to last (in this example) for 2 measures. But the resulting
>>> output of articulate has one long sustained note with tremolo only in the
>>> second measure. I suspect the underlying bug is that the tied C is being
>>> replicated resulting in a sequence of tied Cs, but musically this is an
>>> incorrect behaviour.
>>>
>>> I reproduced this bug both in the latest stable (2.18.2) and unstable
>>> (2.19.48) release.
>>
>>
>> Hi,
>>
>> to me it looks more like a problem of \unfoldRepeats:
>>
>> mus = {
>> \repeat tremolo 16 c'16
>> ~
>> \repeat tremolo 16 c'16
>> }
>
> This is misleadingly formatted since it is interpreted as
>
> mus = {
> \repeat tremolo 16
> c'16~
> \repeat tremolo 16
> c'16
> }
>
> My own gut feeling is that c'1:16~ is supposed to mean something
> different, applying ~ to the whole rather than its parts. But what with
> things like ( \( ) \) -. -- and such?
>
>> So a fix may be tricky.
>
> We'd need to figure out what stuff means before fixing it.
Probably worth pointing out that x:y produces a TremoloEvent (not fazed
in any manner by \expandRepeats) while \repeat tremolo produces a
TremoloRepeatedMusic event.
--
David Kastrup