Hi Gilberto,

On Sat, Dec 5, 2015 at 5:11 AM, Gilberto Agostinho <
gilbertohasn...@gmail.com> wrote:

> Hi all,
>
> Is it possible to automatically change the text of a spanner so that if
> they
> last for more than one system they get parenthesized? I would like to apply
> this both to the ottava indications as well as for the mixed style of
> sustain pedalling (actually we don't show any text at all when Ped. lasts
> for more than one system).
>

It's not difficult to do this for ottava indications.  Below I simply check
to see if the left-bound of the spanner is broken.  If it is, I reset the
'text property, and call the print function to use the new value of that
property.  Otherwise, we use the default stencil.

 \version "2.18"

\paper {
  ragged-right = ##t
}

{
  \override Staff.OttavaBracket.stencil =
  #(lambda (grob)
     (let ((text (ly:grob-property grob 'text))
           (lb (ly:spanner-bound grob LEFT)))
       (if (= (ly:item-break-dir lb) CENTER)
           (ly:ottava-bracket::print grob)
           (begin
            (set! (ly:grob-property grob 'text)
                  (make-concat-markup (list "(" text ")")))
            (ly:ottava-bracket::print grob)))))

  \ottava #1
  \repeat unfold 100 {
    c'''
  }
}


> In the case of the ottava, the parenthesis in a new system are not
> required,
> but some authors do use them. But in the case of the pedalling, it makes
> the
> score much clearer in my opinion. See a faked version created on GIMP
> below:
>
> <http://lilypond.1069038.n5.nabble.com/file/n184494/18.png>
>
> This is even more evident when there is a page turn in between the systems.
>
> Would that be possible?
>

Probably.  From my inspection of the code, though, this seems to be a
rather bigger enterprise than a modification of OttavaBracket.  This should
be tackled in C++, and the code seems awfully convoluted,  I can't put the
time in to figuring it out given such sparse comments, though your idea
would be useful for my own music.

A first step would be to have an actual SustainPedal grob at the broken
left-bound.

(I'm sure someone could come up with a stencil-replacement which would
redraw the bracket to get the parenthesized text, but this would be a lot
of trouble for a hack!  I speak from experience: you can see a relevant
example at http://www.mail-archive.com/lilypond-user%40gnu.org/msg97099.html
)


>
>
> --
> View this message in context:
> http://lilypond.1069038.n5.nabble.com/Spanner-text-in-parenthesis-on-a-new-system-tp184494.html
> Sent from the User mailing list archive at Nabble.com.
>
> _______________________________________________
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to