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
}
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
Danke Harm!
Wo sollte es krachen? Ich sehe das nicht, selbst wenn, ist es auch nicht tragisch :)