lilypond-user
[Top][All Lists]
Advanced

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

Re: getting repeat bar lines to print across an entire system


From: Thomas Morley
Subject: Re: getting repeat bar lines to print across an entire system
Date: Mon, 25 Jul 2016 20:59:01 +0200

2016-07-24 15:53 GMT+02:00 Robert Edge <address@hidden>:
> So there is a snippet here: http://lsr.di.unimi.it/LSR/Item?id=1032
>
> That gets pretty close.
>
> I am assuming that no one writes that much scheme code unless the
> functionality is broken in Lilypond proper.  I'll prepare a bug report.


It happens that I'm the one who wrote the printing-routine for the
bracket-bar-lines. As well as the mentioned LSR-snippet.

So some background:
LilyPond splits the bar-lines into BarLines and SpanBars (if in a
Context where SpanBars are supported). Those are different grobs and
can be addressed separately, see the output of:

\score {
  \new StaffGroup <<
    \new Staff { R1 R }
    \new Staff { R1 R }
  >>
  \layout {
    \context {
      \Score
      \override SpanBar.color = #cyan
    }
    \context {
      \Staff
      \override BarLine.color = #red
    }
  }
}

2016-07-24 17:43 GMT+02:00 Robert Edge <address@hidden>:
>> I'd also add that it is not so much the case the lilypond is broken
>> and fails to function, but that lilypond just fails to provide a
>> particular function that you have need of.
>
>
>
> By broken I mean failing to behave as the documentation says it should.
>
> see here:
> http://lilypond.org/doc/v2.18/Documentation/notation/bars#bar-lines
>
> "In scores with many staves, a \bar command in one staff is automatically
> applied to all staves. The resulting bar lines are connected between
> different staves of a StaffGroup, PianoStaff, or GrandStaff."

In the light of my words above I'd say the bracket-BarLines full-fill
exactly whats documented:
- They _are_ applied to all staves
- They are connected in StaffGroup, etc

Another example for this behaviour is the segno-bar-line. Try to
insert \bar "S" in all relevant places of my previous example and
you'll see every BarLine will get a segno-bar-line, but this
segno-sign is _not_ printed as a SpanBar.

So I'd say this part of the code is not broken but works as it should,
it's just not like you'd expect it should be.



That said, it _is_ sometimes wanted to add those brackettips, but it's
not possible by defining a certain BarLine. Or more precisely, it's
not impossible to define a BarLine only showing a bracketip
above-right and another with a bracketip above-left, and another for
above-left-and-right. Then the same for barckettips below. Then you
would need to set the relevant context-property (whichBar) every time.
I'd say: a can of worms, if I ever saw one.

Thus you need some other command to add those brackettips where
desired. And ofcourse it should be possible to print brackettips for
one StaffGroup but not for another StaffGroup of the same score (see
the commented part of the LSR-snippet for an example.)
Hence the LSR-snippet. It _is_ a workaround, yes, but until someone
comes up with a proper solution, the best method I can think of
(although I've to say I didn't looked into its code again, it could
likely be improved or shortened or ...)

I'm not sure how a proper implementation _could_ work. As said above I
doubt it can be done with BarLines.
For sure it's out of my depth.


Cheers,
  Harm



reply via email to

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