[Top][All Lists]

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

Re: Broken slurs won't overlap end-of-measure clef change

From: David Kastrup
Subject: Re: Broken slurs won't overlap end-of-measure clef change
Date: Wed, 19 Oct 2016 09:42:40 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux)

David Nalesnik <address@hidden> writes:

> On Tue, Oct 18, 2016 at 4:56 PM, Javier Ruiz-Alma <address@hidden> wrote:
>> The first segment of a slur that spans to the next system is typeset short 
>> if a clef change is present at the end of the originating measure.  The 
>> first segment won't overlap the space above the changed clef.
>> Javier Ruiz-Alma
>> \version "2.18.2"
>> \score {
>>   <<
>>    { c''2 c''4\( c''  \break
>>      c''1\)
>>      c''4 c'' c'' c''(      \break
>>      c''1)
>>    }
>>    { c''1 \clef bass
>>      c'  c' \clef treble
>>      c'
>>    }
>>   >>
>>   \layout { ragged-right = ##t indent = 0 }
>> }
> The problem you're seeing is that the right-bound of the slur is set
> to the *left* extent of the NonMusicalPaperColumn that encompasses the
> end materials of the line: Ordinarily, this means that a slur will end
> slightly before a barline, which looks fine.  Unfortunately, the
> cautionary clef belongs to the NonMusicalPaperColumn at the end of the
> line, hence the distortion you're seeing.
> (The endpoint seems to be created in
> Slur_score_state::get_base_attachments in lily/slur-scoring.cc.)
> What's needed is the ability to align the endpoint of a slur to
> specific elements within the 'elements array of the paper column
> bound.  Something like the 'break-alignable-interface which allows
> flexible alignments to grobs like BarNumber.

Would the behavior be correct if the clef/key change happened in the
system of the slur itself?  Or should we just aim for the right end of
the NonMusicalPaperColumn minus an offset?

David Kastrup

reply via email to

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