[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