• Willkommen im Forum „Archiviertes Lilypond Forum (2017)“.
 

Dies ist das Archiv des alten Forums (bis März 2017). Das aktuelle Forum ist unter lilypondforum.de zu finden.
This is the archive of the old forum (until March 2017). You can find the current forum at lilypondforum.de.

Hauptmenü

Barline mit Eigenes ersetzen

Begonnen von kilgore, Sonntag, 7. März 2010, 11:29

Vorheriges Thema - Nächstes Thema

kilgore

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

comper

#1
In Lilypond-Eigenbau bar-line.cc und span-bar.cc ergänzen.  
Oder mit einer halben Sache sich zufrieden geben.

Gruss

derHindemith

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
}


kilgore

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.....

derHindemith

Die .cc Dateien sind nur da wenn man lilypond selbst von Source kompiliert. Normalerweise sind sie nicht vorhanden.

kilgore

#5
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.....

comper

Von diesen Dateien ist der neueste Stand hier in git.
Sonst einen älteren Satz hier holen.

Und eben, mit Scheme ist SpanBar unkooperativ bis gleichgültig.
Z.B. in IR steht, SpanBar hair-thickness wäre 1.6, aber angewendet wird doch die 1.9 von BarLine.

Gruss