bug-lilypond
[Top][All Lists]
Advanced

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

Re: column command produce a compiler error


From: Thomas Morley
Subject: Re: column command produce a compiler error
Date: Sat, 7 Dec 2013 20:29:53 +0100

2013/12/7 Thomas Heidler <address@hidden>:
>> I'm not top posting.
>
> Hallo,
>
> I get a compiler error if I use column command in Score.repeatCommands.
> When I remove "column" then it works, but the message is to long for
> measure.
>
> Example:
> \version "2.16.0"
>
>
> voltaToNextSong = \markup {\text \column {"to go to" "next song" } }
> voltaToFinish = \markup {\text "to finish"}
>
> \relative c'' {
>         \set Score.repeatCommands = #'(start-repeat)
>         b1
>         \set Score.repeatCommands = #(list (list 'volta voltaToFinish))
>         b
>         \set Score.repeatCommands = #(list 'end-repeat (list 'volta #f) (list
> 'volta voltaToNextSong))
>         b
>         \set Score.repeatCommands = #'((volta #f))
> }
>
> produce:
> d:/Program Files
> (x86)/LilyPond/usr/share/lilypond/current/scm/stencil.scm:80:22: In
> procedure max in expression (max (+ # padding ...) baseline):
> d:/Program Files
> (x86)/LilyPond/usr/share/lilypond/current/scm/stencil.scm:80:22: Wrong type: 
> #f
>
> regards
>
> Thomas Heidler


Hi Thomas,

thanks for your report.
I could confirm it with 2.17.96.

Seems the default for baseline-skip isn't available while calling any
column-markup-command in the lists for repeatCommands.

A quick fix would be to change the baseline-skip-properties in those
commands to:
 #:properties ((baseline-skip 3))
I don't know if a better fix could be integrated in
repeat-acknowledge-engraver.cc, that's beyond my expertise.

A workaround for your example would be to explecitely declare the baseline-skip:

\version "2.16.0"

voltaToNextSong =
  \markup \override #'(baseline-skip . 1)
  {
        \text
        \column { "to go to" "next song" }
  }
voltaToFinish =
  \markup {\text "to finish"}

\relative c'' {
        \set Score.repeatCommands =
            #'(start-repeat)
        b1
        \set Score.repeatCommands =
            #(list (list 'volta voltaToFinish))
        b
        \set Score.repeatCommands =
            #(list 'end-repeat (list 'volta #f) (list 'volta voltaToNextSong))
        b
        \set Score.repeatCommands =
          #'((volta #f))
}


HTH,
  Harm



reply via email to

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