Autor Thema: Fingersatz bei Akkorden, der eine Sekund enthält (gelöst, geht viel einfacher ;)  (Gelesen 2556 mal)

Manuela

  • Member
Wie kriege ich Lilypond dazu, die Fingersätze übereinander zu schreiben und nicht nebeneinander?

Im Beispiel stehen die Ziffern nebeneinander:

\version "2.19.52"

\relative c'' {
   \set fingeringOrientations = #'(up)
  < g-1 f-2 >
}
« Letzte Änderung: Sonntag, 8. Januar 2017, 11:45 von Manuela »

harm6

  • Member
Re: Fingersatz bei Akkorden, der eine Sekund enthält
« Antwort #1 am: Freitag, 23. Dezember 2016, 20:28 »
Möglicherweise geht es auch besser, aber der Code unten setzt das Eltern-grob zu NoteColumn, et voilà.

\version "2.19.52"

\relative c'' {
   \set fingeringOrientations = #'(up)
   
   \once \override Fingering.before-line-breaking =
   #(lambda (grob)
     (ly:grob-set-parent! grob X (ly:grob-parent (ly:grob-parent grob X) X)))
  < g-1 f-2 >
}

HTH,
  Harm

Manuela

  • Member
Re: Fingersatz bei Akkorden, der eine Sekund enthält
« Antwort #2 am: Freitag, 23. Dezember 2016, 23:37 »
Danke, Harm, das klappt hervorragend. Ich habe mir gleich eine Funktion gebastelt, weil ich das mehrmals brauche:

\version "2.19.52"

fingershift =
#(define-music-function () ()
   #{
     \once \override Fingering.before-line-breaking =
     #(lambda (grob)
        (ly:grob-set-parent! grob X (ly:grob-parent (ly:grob-parent grob X) X)))
   #}
   )

\relative c''
{
  \set fingeringOrientations = #'(up)
  \fingershift < g-1 f-2 >
}

harm6

  • Member
Re: Fingersatz bei Akkorden, der eine Sekund enthält
« Antwort #3 am: Samstag, 24. Dezember 2016, 00:51 »
Warum eine Funktion?

fingershift =
     \once \override Fingering.before-line-breaking =
     #(lambda (grob)
        (ly:grob-set-parent! grob X (ly:grob-parent (ly:grob-parent grob X) X)))

Ist völlig hinreichend.

Gruß,
  Harm

Manuela

  • Member
Re: Fingersatz bei Akkorden, der eine Sekund enthält
« Antwort #4 am: Samstag, 24. Dezember 2016, 09:28 »
Warum eine Funktion?
Ist völlig hinreichend.

Warum einfach, wenn es umständlich auch geht?  ;)

Danke für den Hinweis, werde ich in meinen Code einbauen.

Manuela

  • Member
Manchmal bin ich wirklich vernagelt.

Die einfachste Lösung: den Fingersatz einfach außerhalb des Akkords schreiben.

\version "2.19.52"

\relative c'' {
  < d e >-2-3
}

harm6

  • Member
Die Fingersätze stehen allerdings an anderer Position und sprechen nicht mehr auf fingeringOrientations an (stattdessen müßte man einen override für Fingering.direction verwenden).

Siehe:
\relative c' {
   \set fingeringOrientations = #'(up)
   
   \once \override Fingering.before-line-breaking =
   #(lambda (grob)
     (ly:grob-set-parent! grob X (ly:grob-parent (ly:grob-parent grob X) X)))
  < d-2 e-3 >
 
  < d e >-2-3
}

\relative c' {
   \set fingeringOrientations = #'(down)
   
   \once \override Fingering.before-line-breaking =
   #(lambda (grob)
     (ly:grob-set-parent! grob X (ly:grob-parent (ly:grob-parent grob X) X)))
  < d-2 e-3 >
 
  %\once \override Fingering.direction = #-1
  < d e >-2-3
}

Gruß,
  Harm

Manuela

  • Member
Die Fingersätze stehen allerdings an anderer Position und sprechen nicht mehr auf fingeringOrientations an (stattdessen müßte man einen override für Fingering.direction verwenden).

Danke für den Hinweis Harm. Die Fingersätze außerhalb der Akkordklammer werden behandelt wie Fingersätze von Einzelnoten, sehe ich das richtig?