Deutschsprachiges LilyPond-Forum

Allgemeine Fragen und Probleme => Fragen und Probleme aller Art => Thema gestartet von: Manuela am Donnerstag, 25. November 2021, 23:01

Titel: Verzierungen bei Akkorden verschieben
Beitrag von: Manuela am Donnerstag, 25. November 2021, 23:01
Hi, ich möchte die Platzierung der Verzierung vor den Akkord verschieben, sodass er vor der oberen Note steht. Standardmäßig wird er unterhalb geschrieben.

Gibt es eine elegantere Lösungsmöglichkeit als die folgende?

\version "2.22.0"

\relative c' {
  \voiceTwo
  < g' d >4\mordent s s %% default
  \override Script.X-offset = #-1.5
  \override Script.Y-offset = #-1
  < g d >4\mordent
}
Titel: Antw:Verzierungen bei Akkorden verschieben
Beitrag von: harm6 am Donnerstag, 25. November 2021, 23:57
Ein erster Gedanke:

\version "2.22.0"

firstShot = {
  \override Script.X-offset = #ly:side-position-interface::x-aligned-side
  \override Script.direction = #LEFT
  \override Script.padding = 0.5
  \override Script.Y-offset =
    #(lambda (grob)
      (let ((nhd (ly:grob-parent grob X)))
        (if (grob::has-interface nhd 'note-head-interface)
            (/ (ly:grob-property nhd 'staff-position) 2)
            (ly:error
              "Script at left side needs NoteHead as parent, got ~a" nhd))))
                 
               
}

%% mordent at left side needs to be set *in-chord*
{
  \once \firstShot
  < g'\mordent d' >4
  \once \firstShot
  < g' d'\mordent >4
  \once \firstShot
  <g'\mordent >
 
  %% defaults
  < g'\mordent d' >4
  < g' d'\mordent >4
  < g' d' >4\mordent
}

Geht aber wahrscheinlich irgendwo krachen, mußt Du halt testen.


Gruß,
  Harm
Titel: Antw:Verzierungen bei Akkorden verschieben
Beitrag von: Manuela am Samstag, 27. November 2021, 15:56
Danke Harm!

Wo sollte es krachen? Ich sehe das nicht, selbst wenn, ist es auch nicht tragisch  :)