Deutsches Lilypond Forum (Archiv)
Allgemein => Fragen zu Funktionen => Thema gestartet von: Joei am Dienstag, 22. März 2016, 22:39
-
Moin,
gibt es eine Möglichkeit (korrigiere: sicher gibt es die.. geht ja irgendwie immer in Lily :P ) wie man ein Wiederholungszeichen bei der Notation mit Mensurstrichen erzeugt? Quasi eine divisio major mit Wiederholung?Das soll rauskommen:
(http://joeigraphie.de/lily/wieder.png)
Dank und Gruß,
Joei
P. S.: Diesen Artikel habe ich gelesen: https://liarchiv.joonet.de/index.php?topic=2124.msg11711#msg11711 - trifft aber nicht ganz was ich möchte...
-
Die Auflösung des Bilds ist sehr schlecht, ich bin mir nicht sicher, aber meinst Du sowas:
\version "2.18.2"
#(define-bar-line ":|." ":|." #f " |")
#(define-bar-line ".|:" "|" ".|:" "| ")
#(define-bar-line ":|.|:" ":|." ".|:" " | ")
\layout {
\context {
\Score
defaultBarType = #""
}
\context {
\Staff
\override BarLine.thick-thickness = 1.9
\override BarLine.bar-extent = #'(-1 . 1)
}
}
mus = {
s1 \bar ".|:"
s1 \bar ":|."
s1 \bar ":|.|:"
s1
\revert Staff.BarLine.bar-extent
\bar "|."
}
\new StaffGroup
<<
\new Staff \mus
\new Staff \mus
>>
HTH,
Harm
-
TH definitely :) - großartig wie immer...
2 Dinge noch:
Wie mache ich mit dieser Methode die Takte vor und nach der Wiederholung (siehe Grafik oben) - da sollen ja nur die Mensuralstriche auftauchen - ich habe das jetzt so gelöst - oder kann man das eleganter machen:
\version "2.18.2"
#(define-bar-line ":|." ":|." #f " |")
#(define-bar-line ".|:" "|" ".|:" "| ")
#(define-bar-line ":|.|:" ":|." ".|:" " | ")
\layout {
\context {
\Staff
\override BarLine.thick-thickness = 1.9
\override BarLine.bar-extent = #'(-1 . 1)
}
}
mus = {
\hide Staff.BarLine s1 s1 \undo \hide Staff.BarLine \bar ".|:"
s1 \undo \hide Staff.BarLine \bar ":|."
s1 \undo \hide Staff.BarLine\bar ":|.|:"
s1
\revert Staff.BarLine.bar-extent
\bar "|."
}
\new StaffGroup
<<
\new Staff \mus
\new Staff \mus
>>
Nur für mein Verständnis und zukünftige Anwendungen - was passiert hier:
#(define-bar-line ":|." ":|." #f " |")
#(define-bar-line ".|:" "|" ".|:" "| ")
#(define-bar-line ":|.|:" ":|." ".|:" " | ")
edit: zumal ich feststelle, dass sich nichts ändert, ob ich die Zeilen im Code habe oder nicht (oder liegt dass daran, dass ich auf der 2.19er Version das probiert habe?)
der Rest ist mir klar.
VIELEN DANK!
-
Wie mache ich mit dieser Methode die Takte vor und nach der Wiederholung (siehe Grafik oben) - da sollen ja nur die Mensuralstriche auftauchen - ich habe das jetzt so gelöst - oder kann man das eleganter machen:
Naja, man kann das ganze \undo \hide in ne Funktion \showbar packen:\version "2.19.38"
#(define-bar-line ":|." ":|." #f " |")
#(define-bar-line ".|:" "|" ".|:" "| ")
#(define-bar-line ":|.|:" ":|." ".|:" " | ")
\layout {
\context {
\Staff
\override BarLine.thick-thickness = 1.9
\override BarLine.bar-extent = #'(-1 . 1)
\hide BarLine
}
}
showbar =
#(define-music-function (barline) (string?)
#{
\once \undo \hide Staff.BarLine \bar #barline
#})
mus = {
s1
s1 \showbar ".|:"
s1 \showbar ":|."
s1 \showbar ":|.|:"
s1
\revert Staff.BarLine.bar-extent
\showbar "|."
}
\new StaffGroup
<<
\new Staff \mus
\new Staff \mus
>>Nur für mein Verständnis und zukünftige Anwendungen - was passiert hier:
#(define-bar-line ":|." ":|." #f " |")
#(define-bar-line ".|:" "|" ".|:" "| ")
#(define-bar-line ":|.|:" ":|." ".|:" " | ")
#(define-bar-line a b c d) definiert den Taktstrich namens a als „mitten in der Zeile a, vor einem Zeilenumbruch b, nach einem Zeilenumbruch c, SpanBars d“. D. h. hier wird dafür gesorgt, dass diese Taktstriche die richtigen SpanBars (und das richtige Verhalten an Zeilenwechsel, das sie aber standardmäßig auch schon ihaben) bekommen.
edit: zumal ich feststelle, dass sich nichts ändert, ob ich die Zeilen im Code habe oder nicht (oder liegt dass daran, dass ich auf der 2.19er Version das probiert habe?)
Doch, das ändert die SpanBars (die dann nicht mehr doppelt oder dreifach, sondern nur einfach sind auch bei Wiederholungen), auch in 2.19.
-
Vielen Dank!