Autor Thema: tweak-Befehl abkürzen  (Gelesen 2036 mal)

Castor

  • Member
tweak-Befehl abkürzen
« am: Mittwoch, 12. Februar 2014, 20:19 »
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
« Letzte Änderung: Mittwoch, 12. Februar 2014, 20:23 von Castor »

harm6

  • Member
Re: tweak-Befehl abkürzen
« Antwort #1 am: Donnerstag, 13. Februar 2014, 02:50 »
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
« Letzte Änderung: Donnerstag, 13. Februar 2014, 13:45 von harm6 »

trulli

  • Member
Re: tweak-Befehl abkürzen
« Antwort #2 am: Donnerstag, 13. Februar 2014, 20:08 »
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

  • Member
Re: tweak-Befehl abkürzen
« Antwort #3 am: Freitag, 14. Februar 2014, 11:39 »
@ 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. :)