Deutsches Lilypond Forum (Archiv)
Allgemein => Fragen zu Funktionen => Thema gestartet von: kilgore am Sonntag, 7. März 2010, 11:29
-
Hallo Lilys!
Wie gehe ich vor, wenn ich mein eigene BarLine schaffen möchte? Ich möchte es als PostScript zeichnen, und dann immer ungefähr so nutzen können: \bar "MyBar"
Variabeln definieren, PostScript zeichen, das kann ich! BarLine ersetzen? hm......... ???
Danke!
Kil
-
In Lilypond-Eigenbau bar-line.cc und span-bar.cc ergänzen.
Oder mit einer halben Sache (https://liarchiv.joonet.de/index.php?topic=195.msg1029#msg1029) sich zufrieden geben.
Gruss
-
Einige benutzen Scheme für Änderungen, andere bevorzugen x-offset, ich mag \markup. Mit \markup ist (meiner Meinung nach) alles möglich!
Wenn du postscript erzeugen kannst, \markup nehmt postscript gern. Dann einfach ersetzen!
%\version "2.12.3"
{
c'4 d' e' f'
\once \override Staff.BarLine #'stencil = #ly:text-interface::print
\once \override Staff.BarLine #'text = \markup \column { b a r }
g' f' e' d'
c'1
}
(http://h1.ripway.com/derHindemith/bar%20line.png)
-
aha! Dank Comper und Hindemith. Die "simple" variante werde ich probieren, wobei es sich um eine Partitur handelt, also die Linie muss zum Teil dur alle Systeme durchgezogen werden.
Comper, wo sind die Dateien? Ich habe den ganzen rechner gesucht, kein erfolg.....
-
Die .cc Dateien sind nur da wenn man lilypond selbst von Source kompiliert. Normalerweise sind sie nicht vorhanden.
-
Hm Ok..... Also soweit bin ich:
\version "2.12.2"
asynchron = \markup { \postscript #"
newpath
-.5 2 moveto
.5 1 lineto
-.5 0 lineto
.5 -1 lineto
-.5 -2 lineto
stroke
"
}
myBar = { \once \override Score.BarLine #'stencil = #ly:text-interface::print
\once \override Score.BarLine #'text = \markup { \asynchron }
%\once \override Score.SpanBar #'stencil = #ly:text-interface::print
%\once \override Score.SpanBar #'text = \markup { \myBar }
}
\new StaffGroup <<
\new Staff {
c'4 d' e' f'
\myBar
g' f' e' d'
c'1
}
\new Staff {
c'4 d' e' f'
g' f' e' d'
c'1
}
>>
Das Problem kommt dazwischen, wie man sieht..... Die auskommentierte Befehle waren ein versuch....hat aber nicht geklappt. Wie kann ich noch diese "Zwischen Linie" ändern?
Update: Um klar zu sein, mein Problem liegt beim SpanBar. Wenn ich versuche das SpanBar zu ändern, erscheint es über die oberste Stimme, statt zwischen den Stimmen.....
-
Von diesen Dateien ist der neueste Stand hier in git (http://git.savannah.gnu.org/gitweb/?p=lilypond.git&a=search&h=HEAD&st=grep&s=Bar_line%3A%3Aprint).
Sonst einen älteren Satz hier holen (http://download.linuxaudio.org/lilypond/sources/).
Und eben, mit Scheme ist SpanBar unkooperativ bis gleichgültig.
Z.B. in IR steht (http://lilypond.org/doc/v2.12/Documentation/user/lilypond-internals/SpanBar#SpanBa), SpanBar hair-thickness wäre 1.6, aber angewendet wird doch die 1.9 von BarLine.
Gruss