bug-lilypond
[Top][All Lists]
Advanced

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

Re: Feature request: some way of manually breaking slurs, ties and lyric


From: address@hidden
Subject: Re: Feature request: some way of manually breaking slurs, ties and lyric extenders
Date: Tue, 11 Dec 2012 23:11:08 +0100

On 11 déc. 2012, at 22:58, Colin Hall <address@hidden> wrote:

> On Tue, Dec 11, 2012 at 07:14:33PM +0100, Mike Solomon wrote:
>> 
>> On 11 déc. 2012, at 18:56, Ben Rudiak-Gould <address@hidden> wrote:
>> 
>>> On Mon, Dec 10, 2012 at 10:59 PM, address@hidden
>>> <address@hidden> wrote:
>>>> The website says that the file cannot be accessed for copyright reasons. 
>>>> Could you post a public-domain score on a site that can be accessed by any 
>>>> user?
>>> 
>>> It must be restricted by country since I can view it without any
>>> special privileges. It's the Works of Henry Purcell vol. 22: Catches,
>>> Rounds, Two-part and Three-part songs, published 1922. Here's another
>>> example:
>>> 
>>> http://archive.org/stream/nationalsongbook00stan#page/n255/mode/2up
>>> 
>>> "She weepeth sore" (middle right) has a tie and a lyric extender
>>> across parts, and a final half measure.
>>> 
>>> -- Ben
>> 
>> Got it.  In theory all of this is hackable via Scheme.  What you'd wanna do 
>> is create custom engravers for both lyric extenders and ties.  The engravers 
>> would attach these Spanners to the targeted note as well as the next or 
>> previous NonMusicalPaperColumn (and broken variants thereof).  By "attach" I 
>> mean use them as left and right bounds.  The rest should take care of itself 
>> - LilyPond already knows how to engrave most spanners between a 
>> NonMusicalPaperColumn and a note.
>> 
>> Cheers,
>> MS
> 
> Thanks for the suggestion, Ben.
> 
> Mike, Ben, do you want a tracker for this?
> 
> Are you going to design a custom engraver, Ben, using Mike's
> suggestion above, and try it out on your score first?
> 
> Give me a title for the tracker that makes sense to you.

I think perhaps "Allow for non-continuing broken spanners".
What would be awesome is to find a generic way to implement this for all 
spanners.  The idea may go as such :

1) Create an engraver "Broken_spanner_engraver".
2) The engraver will read a context property breakSpannerAtColumn which will 
have LEFT, RIGHT, or #f. LEFT means that the spanner ends at the note, RIGHT 
means it begins there, and #f means that it is just a normal spanner. If set to 
LEFT or RIGHT, the grob property "break-at-column" will be set to either LEFT 
or RIGHT and the correct NonMusicalPaperColumn will be assigned as the bound.
3) When NonMusicalPaperColumns are broken, we'll have to make sure that the 
correct broken version is chosen (if making a custom engraver, this is the only 
part that'd need to be done outside of the engraver and in a property callback).
4) After this, everything should be automatic - every spanner that I know of 
can treat a NonMusicalPaperColumn as a bound.

This can be done either as an advanced hack or a feature.  As it'd add a grob 
property, probably better to do it as a feature.  I'll be able to work on it in 
2026 - if someone wants it done before then, I can give pointers!

Cheers,
MS


reply via email to

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