Autor Thema: Zentrierte Dynamik  (Gelesen 2354 mal)

lilyputaner

  • Gast
Zentrierte Dynamik
« am: Samstag, 14. November 2015, 22:51 »
Ich arbeite gerade an meinem ersten größeren Projekt mit Lilypond. Es handelt sich um ein Klaviersystem, bei dem die dynamischen und Ausdrucks-Anweisungen in der Mitte stehen sollen. Dabei mußte ich feststellen, dass  Dynamikbefehle in einer anderen Höhe angeordnet werden wie selbsterstellter Text. Trotz langem Suchens habe ich keine Möglichkeit gefunden, das abzustellen und bin dankbar  für Tipps dazu.

Hier noch ein Minimalbeispiel:

 \version "2.18.2"
 
 
 \score {\new PianoStaff
   <<
 \new Staff ="up"{  \relative c'' { c4 c    c  c  }    }
    
    
     \new Dynamics{
                    
                      s4\p

                    
                      
                      
                      s\< s\!
            
                      s^\markup{\italic dolce}
      }
      
      \new Staff ="down"{ \relative c'' { c4 c     c  c }    }
   
      
   >>}

Grüße und Danke!

harm6

  • Gast
Re: Zentrierte Dynamik
« Antwort #1 am: Sonntag, 15. November 2015, 12:22 »
Hallo lilyputaner,

willkommen im Forum.

Die NR empfiehlt `make-dynamic-script' zu benutzen, das führt zu:

\version "2.18.2"

dolce = \tweak DynamicText.X-offset #-1
        #(make-dynamic-script #{ \markup \normal-text \italic "dolce" #})

\score {
  \new PianoStaff <<
      \new Staff ="up"
        \relative c'' { c4 c  c  c  }
   
      \new Dynamics {
        s4\p
        s\< s\!
        s-\dolce
      }
     
      \new Staff ="down"
        \relative c'' { c4 c  c  c }
  >>
}

Allerdings mußt Du dann jede eigene Anmerkung, die Du einfügen willst einzeln definieren.
Das kann auch von einer event-function erledigt werden:

\version "2.18.2"

myDyn =
#(define-event-function (parser location txt)(markup?)
  (let* ((mrkp #{ \markup \normal-text \italic $txt #})
         (dyn (make-dynamic-script mrkp)))
  #{
    \tweak DynamicText.X-offset #-1
    $dyn
  #}))
 
 
\score {
  \new PianoStaff <<
      \new Staff ="up"
        \relative c'' { c4 c  c  c  }
   
      \new Dynamics {
        s4\p
        s\< s\!
        s\myDyn "dolce"
      }
     
      \new Staff ="down"
        \relative c'' { c4 c  c  c }
  >>
}

Der X-offset-tweak kann eventuell noch angepasst werden.

HTH,
  Harm

fugenkomponist

  • Gast
Re: Zentrierte Dynamik
« Antwort #2 am: Sonntag, 15. November 2015, 13:41 »
Alternativ könntest du den \dynamic-Befehl aus openlilylib verwenden. Aktuell liegt der Code dazu hier. Das vereinfacht nicht nur Angaben wie „dolce“, sondern auch zusammengesetzte wie „più p“ (setzt più kursiv und das p als Dynamik-p).

lilyputaner

  • Gast
Re: Zentrierte Dynamik
« Antwort #3 am: Montag, 16. November 2015, 21:59 »
Danke für die freundliche Begrüßung und Hilfe - es geht!