Liebe Freunde,
\version "2.22.0"
{\time 2/2
\omit Score.BarNumber
\omit Score.BarLine c'1 c' \undo \omit Score.BarLine \bar ":|."
\break
\omit Score.BarLine c'1 c' \undo \omit Score.BarLine \bar "|"
\break
\omit Score.BarLine c'1 c' \undo \omit Score.BarLine \bar "|."
was ich brauche, krieg ich nicht hin. Am Ende jeder Zeile sollte ein Taktstrich stenen...
Wisst ihr eine Lösung?
Ostergruß
Christa
Harm hat mir mal eine Funktion für ein ähnlich gelagertes Problem (https://lilypondforum.de/index.php/topic,519.new.html) geschrieben, ich habe die Funktion abgewandelt
Probier mal folgendes (das hat den Vorteil, dass Zeilenumbrüche automatisch berücksichtigt werden)
\version "2.22.0"
#(define my-repeat-bar-glyph-list
'(":|.:"
":..:"
":|.|:"
":.|.:"
":|."
".|:"
"[|:"
":|]"
":|][|:"
".|:-||"
":|.S"
"S.|:"
"|."
;; add more?
))
#(define restrict-span-bars
;; print SpanBar only at line-break abd for repeats
(lambda (grob)
(let* ((break-dir (ly:item-break-dir grob))
(glyph (ly:grob-property grob 'glyph)))
(if (or (not (zero? break-dir))
(member glyph my-repeat-bar-glyph-list))
(ly:grob-set-property! grob 'transparent #f)
(ly:grob-set-property! grob 'transparent #t)))))
\layout {
\context {
\Staff
\override BarLine.after-line-breaking = #restrict-span-bars
}
}
{
\time 2/2
\omit Score.BarNumber
c'1 c' \bar ":|."
\break
c'1 c'
\break
c'1 c' \bar "|."
}
PS: Dein Beispielcode kompiliert nicht wegen einer fehlenden geschwungenen Klammer am Schluss
Hallo Manuela,
danke!!! - auch für Deine Nachsicht. Ich war ziemlich genervt von meinen fruchtllosen Versuchen...
So funktionier's!
Noch einen schönen Feiertagt
Christa
Hallo Christa,
wenn ich Deinen Code anders formatiere:
{
\time 2/2
\omit Score.BarNumber
\omit Score.BarLine
c'1 c'
\undo \omit Score.BarLine
\bar ":|."
\break
\omit Score.BarLine
c'1 c'
\undo \omit Score.BarLine
\bar "|"
\break
\omit Score.BarLine
c'1 c'
\undo \omit Score.BarLine
\bar "|."
}
sollte deutlich werden warum Dein ursprünglicher Versuch nicht funktionieren kann:
...
\undo \omit Score.BarLine
\bar ":|."
\break
\omit Score.BarLine
...
Du hast zum selben musikalischen Zeitpunkt zwei sich widersprechende Befehle.
Genauso wie \undo \omit Score.BarLine vor der BarLine steht, sollte \omit Score.BarLine vor der nächsten BarLine stehen.
Also:
...
\undo \omit Score.BarLine
\bar ":|."
\break
c'1
\omit Score.BarLine
...
Wenn es aber wirklich nur darum geht die BarLine am Zeilenende ein- und alle anderen auszuschalten, dann verwende doch 'break-visibility:
{
\time 2/2
\omit Score.BarNumber
\override Staff.BarLine.break-visibility = ##(#t #f #f)
c'1 c'
\bar ":|."
\break
c'1 c'
\bar "|"
\break
c'1 c'
\bar "|."
}
Gruß,
Harm