Re: Parenthesize bass figures as a whole

2017-04-26 Thread Lukas-Fabian Moser
>
> You know you can insert brackets doing what you want?
>

No, in fact I didn't - it never occured to me that the brackets inside
figures <6 4> could be put around more than one figure at a time.
Your solution fits my need perfectly - thanks very much!!

Best!
Lukas
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Parenthesize bass figures as a whole

2017-04-25 Thread Thomas Morley
2017-04-25 12:45 GMT+02:00 Lukas-Fabian Moser :
> Hello,
>
> I hope I don't mess up completely, this being my first posting to this list
> (which I nevertheless often consulted before).

You know you can insert brackets doing what you want?

To have them look like rounded paranthesis is more difficult.
Currently I've only an ugly hack for you (see below), mayne someone
comes up with a better idea.

hack =
\override BassFigureBracket.stencil =
  #(lambda (grob)
 (let* ((default-stil (ly:enclosing-bracket::print grob))
(x-ext (ly:stencil-extent default-stil X))
(y-ext (ly:stencil-extent default-stil Y))
(thick (ly:grob-property grob 'thickness 0.1))
(height-limit 0.7)
(ratio 0.15)
(padding -0.3)
;; taken from bezier-bow.cc
(F0_1
  (lambda (x) (* (/ 2 PI) (atan (* PI x 0.5)
(bow-height
  (lambda (w h_inf r_0) (F0_1 (* (/ (* w r_0) h_inf) h_inf
;; length from bow start to end
(lngth (abs (- (cdr y-ext) (car y-ext
(angularity 0.5)
(height (bow-height lngth height-limit ratio)))
   (parenthesize-stencil
 (make-transparent-box-stencil x-ext y-ext)
 thick
 height
 angularity
 padding)))

tst-figures =
\figuremode {
  <[2]>
  <[2 4]>
  <[2 4 5]>
  <[2 4 5 7]>
  <[2 4 5 7 8]>
  <[2] [4 5 7 8]>
  <[2 4] [5 7 8]>
}

\new FiguredBass {
  \tst-figures
  \hack
  \tst-figures
}

Cheers,
  Harm

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user