lilypond-user
[Top][All Lists]
Advanced

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

RE: Manual volta placement and invisible barline kills previous barline


From: Philip Thomas
Subject: RE: Manual volta placement and invisible barline kills previous barline
Date: Mon, 28 May 2012 12:59:43 +0200

>On 21/5/2012 Philip Thomas wrote:

>> At any rate,  my problem with the colliding volta bracket remains.

>On 21 May 2012 Thomas Morley replied:

>Perhaps you may want to try the code below, in which I used the break-
>visibility-property to deal with a TimeSignature.
>It's _very_ hackish and dirty. :)
>
>\version "2.14.2"
>
>% DEFINE volta-related variables for use in score:
>
>startVoltaOne = \set Score.repeatCommands = #'((volta "1."))
>
>startVoltaTwo = \set Score.repeatCommands = #'((volta #f)(volta "2.")
>end-repeat)
>
>endVolta = \set Score.repeatCommands = #'((volta #f))
>
>pointStencilTimeSignatureAtLineBegin = {
>  \once \override Score.TimeSignature #'stencil = #point-stencil
>  \once \override Score.TimeSignature #'break-visibility = #'#(#f #t #t)
>  \break
>  \time 4/4
>}
>
>\score { \relative c' {
>
>  \clef "treble"
>
>  \key g \major
>
>  \numericTimeSignature \time 4/4
>
>  c4 c4 c4 c4 | c4 c4 c4 c4 | c4 c4 c4 c4 |                        %1-3
>
>  c4 c4 c4 c4 |                                      %4
>
>  \pointStencilTimeSignatureAtLineBegin
>
>  \startVoltaOne  c4 c4 c4 c4 \endVolta  |           %5
>
>
>  \startVoltaTwo c4 c4 c4 c4 \endVolta |                             %6
>
>  c4 c4 c4 c4 | c4 c4 c4 c4 \bar "|."                              %7-8
>
>} }
>
>HTH,
>  Harm
>
>P.S. Please note that I changed your volta-related variables.

Thanks tons, Harm.

I pasted your code into my file, with variations to meet the particular
context, and got it to work in one place but not in another, where
repositioning always messed up the barline at the end of the previous line,
but in a different way from what I originally described. I'm very grateful
to you for the tweak that did work, and I'll keep experimenting on the one
that didn't.

But I want to try to understand what was going on so I can address problems
in the future. I searched the documentation, the user forum, and (with some
trepidation) all the .scm files. I couldn't find anything to explain
point-stencil, for example, let alone anything that would explain why your
hack worked. If it's not too much trouble, could you possibly try to explain
a little how it works?

In asking, could I mention a couple of other things.

I figured that a volta bracket (and/or a volta bracket spanner) must somehow
be told where to place itself -- at both the beginning and the end, but I
couldn't find how that is done. I dove into the break-align swamp but it
turned out to be more like quicksand. Although I couldn't find any
explanation of staff-bar, that seemed a likely candidate, but I got nowhere
trying to adjust the break-align-symbols or break-align-anchor properties of
VoltaBracket or VoltaBracketSpanner. For example, some trials that didn't
work included the following (the context is correctly Staff, I think, and
not Score, because I moved the Volta_engraver from the Score to Staff
context so that it would appear on each line in the vocal score):

\override Staff.VoltaBracketSpanner #'X-extent = #'(1 . -1)
\override Staff.VoltaBracketSpanner #'extra-X-extent = #'(1 . -1)
\override Staff.VoltaBracket #'extra-X-extent = #'(1 . -1)
\override Staff.VoltaBracket #'break-align-symbols = #'(clef)
\override Score.KeySignature #'break-align-anchor = #3

I haven't showed above all the permutations that I tried, but my conclusion
was that the grob-interface is by no means fully supported by the
VoltaBracket or VoltaBracketSpanner objects, and neither is any other
interface that I tried to use.

I also tried experimenting with extra-spacing-width of the components that
are in the break-align complex, but that got me nowhere too.

In fact the only thing that I was able to use successfully to adjust the
horizontal alignment of a volta bracket was:

\override Staff.VoltaBracket #'X-offset = #1

but then, of course, the end of the volta bracket moved to the right
together with the beginning, so I had a new collision on my hands.

I'm certainly not asking for a full explanation of all of these phenomena,
but I wanted at least to show that I have been trying to get a handle on
what is going on myself. And my basic problem still remains: how can I tweak
the horizontal alignment of volta brackets?

I must say that it feels a bit frustrating, after a while. I like using
LilyPond, but I wish it was a bit less of a challenge at times. The piece
I'm working on has repeats, but it is not in the nature of some avant-garde
monster that will inevitably be difficult to tame. While I greatly
appreciate the help of users on this forum -- including you -- it is
sometimes hard to escape the feeling that one can only get so far without
being a programmer.

Well, I haven't given up, but after all LilyPond is designed for
perfectionists (in terms of the appearance of the printed product), and I
don't want to produce my score with bloody collisions and/or ugly alignment
of such a mundane thing as a volta bracket!

Anyway, now that's off my chest, if you could possibly give me a brief
explanation of how on earth your hack works, and maybe some idea of why it
is so hard to tweak the horizontal alignment of a volta bracket, I'd be very
grateful.

Cheers, Philip





reply via email to

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