lilypond-user
[Top][All Lists]
Advanced

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

Re: Ottava mark: edge dashed line


From: Thomas Morley
Subject: Re: Ottava mark: edge dashed line
Date: Mon, 16 Apr 2018 21:55:47 +0200

2018-04-16 13:17 GMT+02:00 foxfanfare <address@hidden>:
> Hi everyone,
>
> I cannot figure why I cannot change the ottava mark as I'd like.
>
> I am interested in using a dashed line, but also for the right edge, as
> shown in this exemple:
> http://lilypond.org/doc/v2.18/Documentation/snippets-big-page.html#text-ottava-text
> <http://lilypond.org/doc/v2.18/Documentation/snippets-big-page.html#text-ottava-text>
>
> I don't understand why mine always appear filled!?
>
> \version "2.19.80"
[...]

Please always use the docs of your lily-version.
The link points to 2.18, but you're using 2.19.80

It was changed with

commit 0119c1b84108674cf2b1c72bd8c231d831ce1f0f
Author: Keith OHara <address@hidden>
Date:   Sun Aug 24 15:54:45 2014 -0700

    Ottava Bracket bounds; issue 3690

    Ottava Bracket: do not dash edges; issue 3866

Which is in the source since 2.19.14
See:
https://sourceforge.net/p/testlilyissues/issues/3866/
https://sourceforge.net/p/testlilyissues/issues/3690/


2018-04-16 13:39 GMT+02:00 foxfanfare <address@hidden>:
> Oh, I just found a clue to do that:
>
> \version "2.19.80"
>
> \relative c' {
>   \override Staff.OttavaBracket.stencil = #ly:line-spanner::print
>   \override Staff.OttavaBracket.bound-details =
>     #`((left . ((Y . 0) ; Change the integer here
>                 (attach-dir . ,LEFT)
>                 (padding . 0)
>                 (stencil-align-dir-y . ,UP)))
>        (right . ((Y . 0) ; Change the integer here
>                  (padding . 0)
>                  (attach-dir . ,RIGHT)
>                  (text . ,(make-draw-dashed-line-markup (cons 0 -2.5))))))
>
>   \override Staff.OttavaBracket.style = #'dashed-line
>   \override Staff.OttavaBracket.dash-fraction = #0.2
>   \override Staff.OttavaBracket.dash-period = #0.65
>   \override Staff.OttavaBracket.thickness = #1.5
>   \override Staff.OttavaBracket.left-bound-info =
>      #ly:line-spanner::calc-left-bound-info-and-text
>   \override Staff.OttavaBracket.right-bound-info =
>      #ly:line-spanner::calc-right-bound-info
>
>   \ottava #1
>   \set Staff.ottavation = #"8"
>   c'''1 a f
>
> }
>
> But now I struggle finding how to change the end corner dashed fraction...

draw-line-markup has some properties you could use: on, off, probably
full-length (it's #t per default, meaning the dashed-line will be
scaled to full-fill the specified length, partly disregarding your
on/off-values) and thickness (thickness will default to 1 or the
grob's thickness)

\relative c' {
  \override Staff.OttavaBracket.stencil = #ly:line-spanner::print
  \override Staff.OttavaBracket.bound-details =
    #`((left . ((Y . 0) ; Change the integer here
                (attach-dir . ,LEFT)
                (padding . 0)
                (stencil-align-dir-y . ,UP)))
       (right . ((Y . 0) ; Change the integer here
                 (padding . 0)
                 (attach-dir . ,RIGHT)
                 (text .
                   ;,(make-draw-dashed-line-markup (cons 0 -2.5))
                   ,#{
                          \markup
                            \override #'(full-length . #f)
                            \override #'(on . 0.2)
                            \override #'(off . 0.45)
                            \draw-dashed-line #'(0 . -4)
                   #}


                   ))))

  \override Staff.OttavaBracket.style = #'dashed-line
  \override Staff.OttavaBracket.dash-fraction = #0.2
  \override Staff.OttavaBracket.dash-period = #0.65
  \override Staff.OttavaBracket.thickness = #1.5
  \override Staff.OttavaBracket.left-bound-info =
     #ly:line-spanner::calc-left-bound-info-and-text
  \override Staff.OttavaBracket.right-bound-info =
     #ly:line-spanner::calc-right-bound-info

  \ottava #1
  \set Staff.ottavation = #"8"

  c'''1 a
  f
}


HTH,
  Harm



reply via email to

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