Arpeggio und Fingersatz

Begonnen von Hilflos-im-Code, Freitag, 9. März 2018, 10:12

« vorheriges - nächstes »

Hilflos-im-Code

BAu ich in diesen Code einen Fingersatz ein, wie weiter unten folgt, springt bei mir die Arpeggioschlange nach links und lässt einen große Lücke zwischen Schlange und Noten. Soll das so sein und warum? Aber für mich wesentlicher, wie bekomme ich die Schlange auf ihren urprünglichen Platz zurück?
\version "2.19.81"


\score {
 
 
  <<
   
    \new Staff
    \with {
     
      \consists "Span_arpeggio_engraver"
    }
    <<
      { \set Staff.connectArpeggios = ##t
       
        \new Voice = "Oberstimme"
        {
         \set fingeringOrientations = #'(left)   \voiceOne <e''>\arpeggio
         
         
        }
      }
      {
        \new Voice = "Mittelstimme"
        { \set fingeringOrientations = #'(left)
           \voiceThree
         <e'>\arpeggio
         
        }
      }
      {
        \new Voice = "Unterstimme"
        { \set fingeringOrientations = #'(left)
           \voiceTwo
         <e>\arpeggio
        }
      }
     
    >>
   
  >>
 
 
 
}


\version "2.19.81"


\score {
 
 
  <<
   
    \new Staff
    \with {
     
      \consists "Span_arpeggio_engraver"
    }
    <<
      { \set Staff.connectArpeggios = ##t
       
        \new Voice = "Oberstimme"
        {
         \set fingeringOrientations = #'(left)   \voiceOne <e''-2>\arpeggio
         
         
        }
      }
      {
        \new Voice = "Mittelstimme"
        { \set fingeringOrientations = #'(left)
           \voiceThree
         <e'-0>\arpeggio
         
        }
      }
      {
        \new Voice = "Unterstimme"
        { \set fingeringOrientations = #'(left)
           \voiceTwo
         <e-0>\arpeggio
        }
      }
     
    >>
   
  >>
 
 
 
}

harm6

#1
Hallo,

teil des Problems ist, daß das obere Ende des Arpeggios gerade eben ein bißchen zu kurz ist.
Hintergrund:
Rein rechnerisch endet es in Höhe der Notenkopfmitte. Allerdings ragen die Elemente aus dem das Arpeggiosymbol, die "Schlange", zusammengesetzt ist aus ihrer boundingbox heraus.
Siehe:
\markup \override #'(box-padding . 0) \box \musicglyph #"scripts.arpeggio"
Mit der Konsequenz, daß der visuelle Output nachher idR korrekt aussieht. Manchmal kommt es aber auch zu Rundungsproblemen, denn die Arpeggio-elemente können ja nur in ganzzahligen Vielfachen zusammengesetzt werden.
Allerdings nimmt LilyPond dann (vom Fingersatz für das e'' aus gesehen) das Arpeggio nicht wahr.
Abhilfe schafft Verlängerung des Arpeggios.

Warum die große Lücke entsteht ist mit unklar. Kann aber per padding eingeregelt werden.


\new Staff
  \with {
    \consists "Span_arpeggio_engraver"
    connectArpeggios = ##t
    \override Arpeggio.padding = -0.45
    \override Arpeggio.positions = #'(-6 . 2)
  }
  <<
      \new Voice = "Oberstimme" {
        \set fingeringOrientations = #'(left)   
        \voiceOne
        <e''-2>\arpeggio
      }
      \new Voice = "Mittelstimme" {
        \set fingeringOrientations = #'(left)
        \voiceThree
        <e'-0>\arpeggio
      }
      \new Voice = "Unterstimme" {
        \set fingeringOrientations = #'(left)
        \voiceTwo
        <e-0>\arpeggio
      }
  >>


HTH,
  Harm

Malte

#2
Zitat von: Hilflos-im-Code am Freitag,  9. März 2018, 10:12
Soll das so sein und warum?
Nein, das ist ein Bug, genauer gesagt issue 556.

Zitat
Aber für mich wesentlicher, wie bekomme ich die Schlange auf ihren urprünglichen Platz zurück?
Ungefähr so:
\version "2.19.81"

\new Staff \with {
  \consists "Span_arpeggio_engraver"
  connectArpeggios = ##t
} {
  \set Staff.fingeringOrientations = #'(left)
  \once \override Staff.Arpeggio.padding = -0.4
  <<
    {
      \once \override Fingering.padding = 1.5
      <e''-2>\arpeggio
    } \\ {
      <e-0>\arpeggio
    } \\ {
      <e'-0>\arpeggio
    }
  >>
}


Edit: Hab Harms Antwort total übersehen, aber vielleicht hilfts ja trotzdem noch irgendwie ;)

Hilflos-im-Code

Danke. Lese ich das richtig, dass das Problem 2008 gemeldet worden ist?

Malte

Scheint so, ja. Es gibt leider zu wenige Entwickler, um sich um alle Bugs zu kümmern und gerade bei speziellen Sachen wie ,,Arpeggio über mehrere Stimmen in Kombination mit nicht standardmäßig ausgerichteten Fingersätzen" ist dann vermutlich der Leidensdruck nicht hoch genug, um ausgerechnet die zuerst anzugehen. Eine berühmte Ausnahme ist issue 34, welches seit 2006 besteht, viele Leute betrifft und für das es trotzdem leider noch keine einfache Lösung gibt ...