Autor Thema: Klammern für Stimmenzuweisung  (Gelesen 1199 mal)

chf

  • Jr. Member
  • **
  • Beiträge: 78
Klammern für Stimmenzuweisung
« am: Donnerstag, 10. Mai 2018, 17:34 »
\version "2.18.2"
global = {\key d \major}
upper =\relative c' {
  \clef treble 
<<{d8 d e fis4 fis }\\
  {a,4 cis8 d2 }>>
}
lower = \relative c, {
  \clef bass
<<{fis'4 g8 b4. a8 }\\
  {d, cis8 b4. b8 }>>
}
\score {
\new PianoStaff
       <<
         \new Staff = "upper"           
         <<\global \upper >>
         
         \new Staff = "lower"
         <<\global \lower >>
       >>
}

Liebe Freunde,

in diesem Beispiel sollen die 2. Stimme des oberen Systems und die 1. Stimme des unteren Systems  von der linken Hand übernommen werden,
die 2. Stimme des unteren Systems ist fürs Pedal gedacht (falls vorhanden).
Es handelt sich um einen Orgelpart, der offensichtlich auch von einem Positiv bewältigt werden soll...

Ich habe mich schon an einem Beitrag aus dem Archiv versucht  https://archiv.lilypondforum.de/index.php/topic,1781.0.html -leider ohne Erfolg.
« Letzte Änderung: Donnerstag, 10. Mai 2018, 17:39 von chf »

harm6

  • Sr. Member
  • ****
  • Beiträge: 397
Antw:Klammern für Stimmenzuweisung
« Antwort #1 am: Donnerstag, 10. Mai 2018, 20:11 »
Im Moment versuche ich ein PianoHandIndicator-grob zu erschaffen und in ScriptRow zu untegrieren, Deshalb meine eigene Frage:
http://lists.gnu.org/archive/html/lilypond-user/2018-05/msg00234.html

Du könntest aber auch meinen Code hier versuchen:
http://lists.gnu.org/archive/html/lilypond-user/2018-05/msg00167.html

Oder Simon's einfacheres Coding:
http://lists.gnu.org/archive/html/lilypond-user/2018-05/msg00148.html

Robin's code
http://lists.gnu.org/archive/html/lilypond-user/2009-07/msg00536.html
braucht wahrscheinlich ein upgrade (habs aber nicht getestet)


Eigentlich sollte was dabei sein ;)



Gruß,
  Harm

chf

  • Jr. Member
  • **
  • Beiträge: 78
Antw:Klammern für Stimmenzuweisung
« Antwort #2 am: Samstag, 12. Mai 2018, 12:14 »
Hallo Harm,

danke für Diene Tipps!
Ich habe mir mit einer - wie sagt ihr immer: "dirty" Lösung  geholfen.
\version "2.18.2"
#(define-markup-command (left-bracket layout props) ()
"Draw left hand bracket"
(let* ((th 0.2) ;; todo: take from GROB
(width (* 2.5 th)) ;; todo: take from GROB
(ext '(-4 . 4))) ;; todo: take line-count into account
(ly:bracket Y ext th width)))

leftBracket = {
\once\override BreathingSign #'text = #(make-left-bracket-markup)
\once\override BreathingSign #'break-visibility = #end-of-line-invisible
\once\override BreathingSign #'Y-offset = ##f
% Trick to print it after barlines and signatures:
\once \override BreathingSign #'break-align-symbol = #'custos
\breathe
}

#(define-markup-command (right-bracket layout props) ()
"Draw right hand bracket"
(let* ((th .2);;todo: take from GROB
(width (* 2.5 th)) ;; todo: take from GROB
(ext '(-4 . 4))) ;; todo: take line-count into account
(ly:bracket Y ext th (- width))))

rightBracket = {
\once\override BreathingSign #'text = #(make-right-bracket-markup)
\once\override BreathingSign #'Y-offset = ##f
\breathe
}

Mit ein bisschen Schummelei (angepasster Systemabstand und Einrichtung der Längsaudehnung) ist es gelungen.
Vielleicht kann's jemand brauchen?

Gruß
Christa