Autor Thema: Verzierungen bei Akkorden verschieben  (Gelesen 59 mal)

Manuela

  • Hero Member
  • *****
  • Beiträge: 653
    • Manuelas Lilypond Wiki
Verzierungen bei Akkorden verschieben
« 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
}
Danke für eure Hilfe
viele Grüße
-- Manuela

harm6

  • Hero Member
  • *****
  • Beiträge: 962
Antw:Verzierungen bei Akkorden verschieben
« Antwort #1 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

Manuela

  • Hero Member
  • *****
  • Beiträge: 653
    • Manuelas Lilypond Wiki
Antw:Verzierungen bei Akkorden verschieben
« Antwort #2 am: Samstag, 27. November 2021, 15:56 »
Danke Harm!

Wo sollte es krachen? Ich sehe das nicht, selbst wenn, ist es auch nicht tragisch  :)
Danke für eure Hilfe
viele Grüße
-- Manuela