Autor Thema: whiteout-Eigenschaft  (Gelesen 1356 mal)

LaLuneNoir

  • Member
whiteout-Eigenschaft
« am: Freitag, 15. Februar 2013, 01:00 »
Hallo,

ich habe gerade folgendes Problem: Der Balken einer 32-tel-Gruppe soll über einen Taktstrich hinweggehen, um genauer zu sein über ein Wiederholungszeichen. Leider ist der Balken aber ziemlich genau in der Mitte des Systems, was dazu führt, dass er genau auf den Wiederholungspunkten liegt und diese verdeckt – hässlich und unleserlich. Jetzt würde ich mich gerne der whiteout-Eigenschaft bedienen, um das Problem zu lösen und die Balken einfach hinter den Taktstrichen verschwinden lassen. Leider funktioniert das ganze aber nicht wirklich schön, da der weiße Hintergrund wirklich nur genauso groß ist wie der Taktstrich, was nicht besonders gut aussieht. Ich habe hier mal einen Code gebastelt, der das Problem verdeutlicht:

{
\override Staff.BarLine #'whiteout = ##t
\override Staff.BarLine #'layer = #-1
\override Beam #'layer = #-2
b32[ b b b \bar "|:" b b b]
}

In den Snippets gibt es zwar eine Möglichkeit, die stammt aber noch aus der Zeit vor whiteout, glaube ich.
http://lsr.dsi.unimi.it/LSR/Item?id=613
Ich fände es wesentlich eleganter, wenn ich Lilypond dazu bringen könnte, den weißen Kasten einfach ein wenig größer zu machen. Habt ihr irgendwelche Ideen?

Vielen Dank für eure Hilfe

Jonas

harm6

  • Member
Re: whiteout-Eigenschaft
« Antwort #1 am: Freitag, 15. Februar 2013, 02:38 »
Hallo Jonas,

schau mal ob das hilft:

\version "2.16.1"

largerStencil =
\once \override Staff.BarLine #'stencil =
  #(lambda (grob)
    (let* ((stil (ly:bar-line::print grob))
           (stil-x-ext (ly:stencil-extent stil X))
           (stil-y-ext (ly:stencil-extent stil Y))
           (dummy (ly:make-stencil "" (interval-widen stil-x-ext 1) stil-y-ext)))
           (ly:stencil-add
           dummy
           stil)))

{
\override Staff.BarLine #'whiteout = ##t
\override Staff.BarLine #'layer = #-1
\override Beam #'layer = #-2
b32[ b b b \largerStencil \bar "|:" b b b]
}

Die 1 in (interval-widen stil-x-ext 1) mußt Du evtl. anpassen.

Gruß,
  Harm

LaLuneNoir

  • Member
Re: whiteout-Eigenschaft
« Antwort #2 am: Freitag, 15. Februar 2013, 11:37 »
Vielen Dank, das funktioniert. Irgendwann muss ich wohl auch mal Scheme lernen...
Finde das Ganze nur generell etwas merkwürdig: Bei whiteout ergibt sich doch eigentlich immer das Problem, dass man noch einen kleinen weißen Rand haben will. Verstehe nicht, warum das nicht implementiert wird. Bin ihc der einzige, der andauernd als whiteoutet? Ist aber wahrscheinlich doch deutlich komplizierter als nur ein weißes Rechteck drunterzukleben.

Vielen Dank auf jeden Fall

Jonas