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

Fragen zu Fingersatznummer

Begonnen von fairsein, Sonntag, 23. September 2012, 12:12

Vorheriges Thema - Nächstes Thema

fairsein

Hallo ihr Lieben,

Ich habe mal wieder ein Problem. Ich gebe folgende Code ein:
\relative c''
{\key d \major
\time 6/8 
a8-5([   g)]  fis  e4.
d4-1  d8  a'4-3  a8
d4-5  d8  cis4.
b4  d8  a4.
g4-4  a8  fis4  d8
}

Dabei werden die Fingersatzangaben immer in Abhängigkeit der Note und nicht in einer Reihe, so wie ich ich gerne hätte angezeigt. Wie kann ich so etwas erzeugen?

Gruß fairsein 

harm6

Hallo,

ich persönlich finde, daß die Fingersätze nahe an den jeweiligen Noten platziert werden sollten und sehe deshalb überhaupt kein Problem mit dem Erscheinumgsbild so wie es ist.

Falls Du die Fingersätze aber wirklich "in einer Reihe" haben möchtest so probier mal:


\layout {
        \context {
        \Voice
        \override Fingering #'staff-padding = #3
        }
}


Den Wert #3 mußt Du eventuell noch anpassen.


Gruß,
  Harm

fairsein


fairsein

So. Ich habe das Problem so super schon öfter angewendet.

Wie bekommt man aber nun die ^\markup { \finger "3 - 1" }- Ausdrücke auf die gleiche Höhe?

Gruß fairsein

Be-3

Zitat von: fairsein am Dienstag, 20. November 2012, 15:36
Wie bekommt man aber nun die ^\markup { \finger "3 - 1" }- Ausdrücke auf die gleiche Höhe?

Bei \markup { \finger "3 - 1" } handelt es nicht um einen regulären Fingersatz, sondern ein ganz "normales" Text-Markup. Du mußt dessen padding-Wert genauso einstellen wie das Fingersatz-Padding, dann kommt es auf die gleiche Höhe.
Harms Beispiel um das hier zuständige Layout-Objekt "TextScript" erweitert sähe dann folgendermaßen aus:


\layout {
        \context {
        \Voice
        \override Fingering #'staff-padding = #3
        \override TextScript #'staff-padding = #3
        }
}


... und schon stehen Fingersätze und \markup auf gleicher Höhe.

Viele Grüße
Torsten

harm6

Hallo fairsein,

Zitat von: fairsein
Wie bekommt man aber nun die ^\markup { \finger "3 - 1" }- Ausdrücke auf die gleiche Höhe?

Der Ausdruck "3-1" bedeutet doch einen "stummen" Wechsel vom dritten auf den ersten Finger!?
Wenn es gelingt, diesen Ausdruck als Fingersatz und nicht als TextScript zu kodieren, so kann man die sich auf Fingersätze beziehenden Befehle anwenden ohne zwischen `Fingering´ und `TextScript´ differenzieren zu müssen.

Mit 2.14.2 kann man folgenden Code benutzen:

\version "2.14.2"

switchFinger =
#(define-music-function (parser location arg)(markup?)
(let ((finger-a (car (string-split arg #\- )))
      (finger-b (cadr (string-split arg #\- )))
      (dash (markup  #:normal-text #:fontsize 3 "-"))
      (finger (make-music 'FingeringEvent)))
   (set! (ly:music-property finger 'tweaks)
         (acons 'text (markup #:concat (finger-a dash #:hspace 0.1 finger-b))
                (ly:music-property finger 'tweaks)))
   finger))

\relative c'' {
        c-1
        d-\switchFinger "1-3"
%        \set fingeringOrientations = #'(right)
        <e-\switchFinger "1-2" g-\switchFinger "2-3" b-\switchFinger "3-4">
        f-4

}


In 2.16.0 funktioniert das zwar auch, aber mit der neuen stable kann man sehr viel einfacher Kodieren und es besteht danach auch keine Notwendigkeit mehr für das "-" vor \switchFinger.

\version "2.16.0"
 
switchFinger =
#(define-event-function (parser location arg)(markup?)
(let ((finger-a (car (string-split arg #\- )))
      (finger-b (cadr (string-split arg #\- )))
      (dash #{ \markup { \normal-text \fontsize #3 "-" } #}))
#{
        \tweak #'text \markup
                  \concat {
                    #finger-a
                    #dash
                    \hspace #0.1
                    #finger-b
                  }
                  -0
#}))
 

\relative c'' {
        c-1
        d\switchFinger "1-3"
%        \set fingeringOrientations = #'(right)
        <e\switchFinger "1-2" g\switchFinger "2-3" b\switchFinger "3-4">
        f-4

}


Anmerkung: In beide Definitionen habe ich `hspace´ eingefügt, da mir der output damit mehr zusagte. Falls es jemanden stört, kann man es einfach rauslöschen.


HTH,
  Harm

fairsein

Danke harm6,

das ist die Lösung die ich gesucht habe.

fairsein

Ich habe noch mal eine Frage zu den Fingersatznummern. Wie kann man diese in die Schriftgröße verändern?

Gruß fairsein

eluze

wie bei allen grobs:
\override Fingering #'font-size = #-8viel erfolg 8)
Eluze

fairsein