Saitenwechsel im Glissando vermeiden

Begonnen von eichhofener, Montag, 13. März 2023, 19:08

« vorheriges - nächstes »

eichhofener

Liebe Leser!
Beim Erstellen einer Tabulator für Saiteninstrumente mit Bünden (bei mir Banjo) verwendet man das Glissando für den "Slide".
Beispielsweise für einen Slide von c auf d siehe unten.

Lilypond berücksichtigt bei der Bestimmung der gespielten Saite leider nicht, ob die Note Teil eines Glissando-Events ist. Dadurch kommt es u.U. dazu, dass im Tab (wo man das ja sieht) die Zielnote auf einer anderen Saite als die Ausgangsnote steht.
Aber während eines Slides wird natürlich die Saite nicht gewechselt.

Natürlich gibt es die Möglichkeit bei der Zielnote die Saitenzahl explizit zu setzen (2. Beispiel) aber schöner wäre es, wenn man Lilypond beibringen könnte, die Saite von der Ausgangsnote beizubehalten.

Ich habe schon daran gedacht, für den Slide eine music function zu schreiben, bei der ich der Zielnote einen passenden StringNumberEvent als Artikulation hinzufüge, den man ja aus der ersten Note übernehmen könnte.
Aber in den meisten Fällen hat die Ausgangsnote selbst gar keinen StringNumberEvent, sondern die Saite wird automatisch von Lilypond ermittelt.
Evtl. müsste man dann selbst anhand des stringTunings aus dem TabStaff Kontext die Saitenzahl ermitteln (obwohl der Code dafür in Lilypond ja schon irgendwo vorhanden sein muss). Aber ich weiß nicht, wie ich an diese Information aus einer music function heraus herankommen.

Hat vielleicht jemand einen Tipp?

Vielen Dank
eichhofener


\version "2.25.2"
\new TabStaff \with { stringTunings=\stringTuning <g' d g b d'> }
{
  c'8 \glissando d' c'8 \glissando d'\2
}