lilypond-user
[Top][All Lists]
Advanced

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

Re: Questions on beaming and barring


From: Neil Puttock
Subject: Re: Questions on beaming and barring
Date: Wed, 17 Sep 2008 21:12:14 +0100

2008/9/17 Kieren MacMillan <address@hidden>:

> Usually, I would suggest running convert-ly, but that appears not to work on
> this file for some reason (which I'm too busy to figure out right now) —
> instead, I manually updated the following function definition for you:

Some of the changes to line spanners in 2.11 were too involved for
automatic conversion using convert-ly.

> barre = #(define-music-function (parser location padding text shorten)
> (number? string? pair?)
> #{
>        \once \override TextSpanner #'dash-fraction = #1
>        \once \override TextSpanner #'font-shape = #'upright
>        \once \override TextSpanner #'edge-height = #'(0 . 1)
>        \once \override TextSpanner #'padding = #$padding
>        \once \override TextSpanner #'bound-details #'left #'text = #$text
>        \once \override TextSpanner #'shorten-pair = $shorten
> #})

Edge-height and shorten-pair don't work with spanners any more. To add
bracket edges you have to draw lines in 'bound-details using markup
instead.

barre = #(define-music-function (parser location padding text shorten)
(number? string? pair?)
#{
  \once \override TextSpanner #'style = #'line
  \once \override TextSpanner #'font-shape = #'upright
  %draw a bracket edge on RHS
  \once \override TextSpanner #'bound-details #'right #'text = \markup
{ \draw-line #'(0 . -1) }
  \once \override TextSpanner #'padding = $padding
  \once \override TextSpanner #'bound-details #'left #'text = $text
  % set alignment of line with reference to left text
  \once \override TextSpanner #'bound-details #'left
#'stencil-align-dir-y = #CENTER
  \once \override TextSpanner #'bound-details #'left #'padding = #(car $shorten)
  \once \override TextSpanner #'bound-details #'right #'padding =
#(cdr $shorten)
  % optional overrides to remove text and bracket edge at line breaks
  \once \override TextSpanner #'bound-details #'left-broken #'text = ##f
  \once \override TextSpanner #'bound-details #'right-broken #'text = ##f
#})

Regards,
Neil

reply via email to

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