Autor Thema: Barré - Dicke verändern  (Gelesen 7597 mal)

apalapucia

  • Newbie
  • *
  • Beiträge: 5
Barré - Dicke verändern
« am: Freitag, 28. Juli 2017, 21:50 »
Ich bin über diesen Code http://paste.ubuntu.com/9670605/ gestolpert (siehe Anhang), der auch  im alten Forum diskutiert wurde, allerdings konnte ich nicht herausfinden, ob und wie es möglich ist, die "Barre-Klammer" dicker zu machen.
Weiß irgendwer darüber etwas oder kennt Alternativen, bei denen der Barre-Strich in die Noten gezeichnet werden kann - dicker als hier?

harm6

  • Hero Member
  • *****
  • Beiträge: 774
Antw:Barré - Dicke verändern
« Antwort #1 am: Freitag, 28. Juli 2017, 23:56 »
Hallo,

willkommen im Forum.

Wenn ich arpeggio.cc richtig verstehe, gibt es keine Möglichkeit die Arpeggio.thickness für ly:arpeggio::brew-chord-bracket und ly:arpeggio::brew-chord-slur zu verändern, genauer gesagt: man kann das property schon setzen aber es wird nicht gelesen, sondern die Dicke wird vielmehr nach line-thickness aus layout bestimmt.
Somit kann für die barre-Funktion die Dicke ebenfalls nicht verändert werden.

Ich halte das aber für eine ärgerliche Einschränkung und hab' dann gleich einen patch dazu eingereicht.
https://sourceforge.net/p/testlilyissues/issues/5168/
Allerdings muß er natürlich noch den review-Prozeß überstehen und wird dann auch frühestens für 2.19.66 verfügbar sein.

In der Zwischenzeit kannst Du vielleicht folgenden Code verwenden:
barre = #(define-music-function (parser location grow) (number?)
#{
  \override Arpeggio.stencil =
    #(lambda (grob)
       (let* ((iv (ly:arpeggio::calc-positions grob))
              (staff-space (ly:staff-symbol-staff-space grob))
              (thick (ly:grob-property grob 'thickness 0.1))
              (pot (ly:grob-property grob 'potrusion 0.4))
              (grow-hi (max 0 (/ grow 2)))
              (grow-lo (min 0 (/ grow 2)))
              (new-pos (cons (+ (car iv) grow-lo) (+ (cdr iv) grow-hi))))
      (ly:bracket Y (interval-widen new-pos (* staff-space 3/4)) thick pot)))
  <>\arpeggio
#})

\relative c, {
     \override Staff.TimeSignature #'stencil = ##f
     \clef "treble_8"
     \set fingeringOrientations = #'(left)
     
     \override Arpeggio.thickness = #0.3
         
     \barre #0
     <f c' f a c f>1
     
     \override Arpeggio.padding = #2.1 %Klammer verschieben
   
     \barre #0
     <
       f
       c'-\tweak padding #-2 -3
       f-\tweak padding #-2 -4
       a-\tweak padding #-2 -2
       c
       f
     >1^\markup { \hspace #.5 "I"}
     
      \barre #0
     <
       f
       c'-\tweak padding #-2 -3
       f-\tweak padding #-2 -4
       a-\tweak padding #-2 -2
       c
       f
     >1^\markup { \hspace #-2 "BI"}
}   

Hier wird Arpeggio.thickness gelesen und verarbeitet.

Gruß,
  Harm

apalapucia

  • Newbie
  • *
  • Beiträge: 5
Antw:Barré - Dicke verändern
« Antwort #2 am: Samstag, 29. Juli 2017, 08:29 »
Vielen, vielen Dank für die schnelle und ausführliche Hilfe!
Der Code ist genau das, was ich gesucht habe.