• 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ü

tweak-Befehl abkürzen

Begonnen von Castor, Mittwoch, 12. Februar 2014, 20:19

Vorheriges Thema - Nächstes Thema

Castor

Hallo liebe Lily-Leute,

leider muss ich schonwieder mit ner Befehlsabkürzung nerven, da ich keine Ahnugn davon hab wie man das macht; das was in der Notationsreferenz steht nicht verstehe und mir das aus den funktionierenden Funktionen nicht ableiten kann. Dieser code (Bild im Anhang "test.png"):

\version "2.18.0"

\relative c' {
 
  \override Fingering #'staff-padding = #'()
 
  c4-3 d-0 e-2 f-3 }


soll bezüglich Fingersatz folgendermaßen geändert werden:

\version "2.18.0"

\relative c' {
 
  \override Fingering #'staff-padding = #'()
 
  c4-\tweak #'X-offset #-.2 -3 d-\tweak #'X-offset #-.2 -0
  e-\tweak #'X-offset #-.2 -2 f-\tweak #'X-offset #-.2 -3 }


Um (in größeren Werken) nicht immer -\tweak #'X-offset #-.2 schreiben zu müssen, dachte ich an eine Funktion wie z.b. yl = ... oder so, die einfach nur besagte "tweak"-Zeile ersetzt und ich dann c4\yl d\yl usw. schreiben kann.

Alternative und bessere Lösung sind nicht notwendig, aber ich bin offen für bessere Ideen :)

lg Castor

harm6

#1
Hallo,

drei Vorschläge/Möglichkeiten

1. genereller \override
\version "2.18.0"

\relative c' {
 
  \override Fingering #'staff-padding = #'()
  \override Fingering #'self-alignment-X = #1
 
  c4-3 d-0 e-2 f-3
}


2. Funktion mit Variable
und
3. Funktion mit statischem Wert
(Ich habe hier 'X-offset genommen, 'self-alignment-X wird wohl auch gehen, aber nicht getestet)

\version "2.18.0"

yl¹ =
#(define-event-function (parser location x-off evt)(number? ly:event?)
#{
  \tweak #'X-offset #x-off
  $evt
#})

yl² =
#(define-event-function (parser location evt)(ly:event?)
#{
  \tweak #'X-offset #-0.2
  $evt
#})

\relative c' {
 
  \override Fingering #'staff-padding = #'()
 
  c4\yl¹ #-0.2 -3
  d\yl² -0
  e-\tweak #'X-offset #-.2 -2
  f-\tweak #'X-offset #-.2 -3
}


HTH,
  Harm

trulli

Hi Castor,

warum schreibst du nicht (wie üblich) den Fingersatz der linken Hand links neben die Note? Da kommt man gewöhnlich ohne /tweak aus. Besonders dann, wenn die Noten etwas auseinander gerückt sind (das macht im folgenden Code der SpacingSpanner-Befehl).

\version "2.18.0"

\score {

\relative c' {
 
  \set fingeringOrientations = #'(left)

  <c-3>4 <d-0> <e-2> <f-3> }


\layout {
    \context {
      \Score
      \override SpacingSpanner
                #'base-shortest-duration = #(ly:make-moment 1 16)
                   }
             }
        }


Grüße

Castor

@ harm:

Suuuper vielen Dank, ich bin begeistert :D

@ trulli:

ja mach ich für gewöhnlich auch, nur in dem Stück, was ich gerade mit verbessertem Fingersatz abschreibe, sieht es an vielen Stellen einfach besser aus. Außerdem gibt es viele Glissandos und ich müsste dort genauso die Zahlen aus dem Weg tweaken. Aber ja, du hast recht, normalerweise landet bei mir alles an Fingersatz immer links. :)