I found some solution that I post here to get some feedback and/or other
suggestions.

Here they are 4 different ways to add fingering to a musical expression:

*1 Standard:*

\version "2.21.0"
\fixed c' {a-1 c' f'-\finger\markup\circle 3 a'-4}


*2 Different context *(thanks Pierre Perol-Schneider for your help!)*:*

\version "2.21.0"
<<
  \new Dynamics \with { \consists Fingering_engraver } {s-1 s
s-\finger\markup\circle 3 s-4}
  \new Staff \fixed c' {a c' f' a'}
>>

*3 Multiple voices* (please correct me if my terminology is not correct!):

\version "2.21.0"
\new Voice {
  <<
    { s-1 s s-\finger\markup\circle 3 s-4}
    \fixed c'{ a c' f' a' }
  >>
}


*4 addFingering*

\version "2.21.0"
\include "addFingering.ly"
\addStringNumber \addFingering \fixed c'{a c' f' a'} "1xx4" "xx3x"


The engraved results are the same except for example 2 where the output is
less pleasant because fingering doesn't follow the flow of the notes.
The solution 4 is a bit special because I used the addFingering external
function (thanks Gilles Thibault!).

* * *

Let me discuss a bit about solution 3.

Here it is:


\version "2.21.0"
\new Voice {
  <<
    { s-1 s s-\finger\markup\circle 3 s-4}
    \fixed c'{ a c' f' a' }
  >>
}


I rewrite it using variables:


\version "2.21.0"
myMusic = \fixed c'{ a c' f' a' }

myFing = { s-1 s s-\finger\markup\circle 3 s-4}

\new Voice << \myMusic \myFing  >>


Now lets me compare it with the standard solution:

\fixed c' {a-1 c' f'-\finger\markup\circle 3 a'-4}


If I'm not wrong to generate the two variables (myMusic and myFing) from
the previous code should not be that difficult.

1 I duplicate the music expression
2 In the variable where I want to put the music I remove the fingering
3 In the variable where I want to put the fingering I remove all the
articulations and I substitute each note occurrence with their octave with
s.


In frescobaldi there is already a snippet to remove fingering and remove
many type of articulations. And to substitute each note occurrence with 's'
a regex expression should do it pretty easily.

Any comments?
Thank you, g.
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to