Autor Thema: Barline mit Eigenes ersetzen  (Gelesen 2762 mal)

kilgore

  • Member
Barline mit Eigenes ersetzen
« 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

comper

  • Member
Re:Barline mit Eigenes ersetzen
« Antwort #1 am: Sonntag, 7. März 2010, 11:55 »
In Lilypond-Eigenbau bar-line.cc und span-bar.cc ergänzen.  
Oder mit einer halben Sache sich zufrieden geben.

Gruss
« Letzte Änderung: Sonntag, 7. März 2010, 11:59 von comper »

derHindemith

  • Member
Re:Barline mit Eigenes ersetzen
« Antwort #2 am: Sonntag, 7. März 2010, 12:23 »
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

  • Member
Re:Barline mit Eigenes ersetzen
« Antwort #3 am: Sonntag, 7. März 2010, 12:25 »
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

  • Member
Re:Barline mit Eigenes ersetzen
« Antwort #4 am: Sonntag, 7. März 2010, 12:31 »
Die .cc Dateien sind nur da wenn man lilypond selbst von Source kompiliert. Normalerweise sind sie nicht vorhanden.

kilgore

  • Member
Re:Barline mit Eigenes ersetzen
« Antwort #5 am: Sonntag, 7. März 2010, 13:08 »
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.....
« Letzte Änderung: Sonntag, 7. März 2010, 15:52 von kilgore »

comper

  • Member
Re:Barline mit Eigenes ersetzen
« Antwort #6 am: Sonntag, 7. März 2010, 17:52 »
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