• Willkommen im Forum „Archiviertes Lilypond Forum (2017)“.
 

Dies ist das Archiv des alten Forums (bis März 2017). Das aktuelle Forum ist unter lilypondforum.de zu finden.
This is the archive of the old forum (until March 2017). You can find the current forum at lilypondforum.de.

Hauptmenü

DynamicText

Begonnen von chf, Freitag, 20. April 2012, 18:49

Vorheriges Thema - Nächstes Thema

chf

Liebe Freunde,

lasst mich eine alte Frage noch einmal aufgreifen:
Wie kann ich zu  e i n m a l i g e r  Anwendung von  " \crescTextCresc"  kommen?
Mit   \once  oder \revert  Erfolg gleich 0...

Gruß
chf

harm6

#1
Hallo Christa,

was genau möchtest Du erreichen?
\crescTextCresc wandelt die Hairpin (ein Spanner-Objekt) in Schrift plus line-spanner um.

Falls Du einfach nur Schrift und sonst nichts haben willst könntest Du eine der folgenden Möglichkeiten benutzen:

  • \markup als simpelste Variante
  • Um einen Spanner auf einer Note zu bekommen muß man etwas tricksen:

\version "2.14.2"

\relative c'' {
  \override DynamicTextSpanner #'style = #'none
  \crescTextCresc
  \grace s4\< c1\!
}


  • oder
\version "2.14.2"

\relative c'' {
  \override DynamicTextSpanner #'style = #'none
  \crescTextCresc
  c1*1/16\< s1*15/16\!
}


  • Oder mit DynamicScripts. Siehe diesen Thread.
    Du könntest  customDynamicDefs.ily runterladen, via \include einbinden und dann Deine eigenen dynamischen Zeichen definieren.
    Z.B.

    • crscCenter = #(dynCenter "cresc.")
    • crscRight = #(dynRight "cresc.")

    • crscLeft = #(dynLeft "cresc.")
    Die Richtungsangaben (left, right, center) deuten an wie "cresc." aligned wird.
    (Das ist bei so einem kurzen Wort noch nicht von großer Bedeutung, aber Du kannst ja mal im o.a. Thread auf die Bilder schauen.)
    Anwendungsbeispiele in customDynamicDefs-kurzTest.ly

Bild im Anhang (die markup-Möglichkeit habe ich ausgelassen)

Code dazu:\version "2.14.2"

\include "customDynamicDefs.ily"

\markup \bold "mit \\grace"

\relative c'' {
  \override DynamicTextSpanner #'style = #'none
  \crescTextCresc
  \grace s4\< c1\!
}

\markup \bold "Aufspaltung der Note"

\relative c'' {
  \override DynamicTextSpanner #'style = #'none
  \crescTextCresc
  c1*1/16\< s1*15/16\!
}

crscCenter = #(dynCenter "cresc.")
crscRight = #(dynRight "cresc.")
crscLeft = #(dynLeft "cresc.")

\markup \bold "mittels customDynamicDefs.ily"

\relative c'' {
  c1\crscCenter
  c\crscRight
  c\crscLeft
}


HTH,
  Harm

EDIT: Invaliden link korrigiert.

chf

Hallo Harm,

bei einem Crescendo über eine längere Passage würde ich gerne \crescTextCresc anwenden, weil eine überlange Gabel mich stört.
Will ich nachfolgend aber wieder Gabeln schreiben, erscheint immer der Textspanner.
Aus dieser Zwickmühle möchte ich raus.
Das ging wohl aus meiner Anfrage nicht so gut hervor...

Gruß
Christa

harm6

Hallo,

meinst Du:

\version "2.14.2"

\relative c' {
        \crescTextCresc
        \override DynamicTextSpanner #'style = #'none
        c1\<
        \repeat unfold 5 { d4 e f g }
        a1\! b2 a\>
        \repeat unfold 5 { g4 f e d}
        c1\!
}


Falls nicht, so gib bitte ein Beispiel an.


Gruß,
  Harm

chf

Hallo Harm,

also: im Beispiel siehst du den Textspanner dort, wo ich ihn haben will.
Dann aber kommen zwei weitere, kürzere, die ich nicht haben will, stattdessen sollen dort Gabeln stehen. Wie geht das?

Gruß
Christa

harm6

Hallo,

ich habe mal folgendes definiert:

unsetCrescTextCresc = {
    \unset crescendoText
    \unset crescendoSpanner
}



Sollte funktionieren. Anwendung:  -> Anhang


Gruß,
  Harm


complanar

Probiers doch mal mit dem Einfügen von \crescHairpin oder \dimHairpin vor der Stelle, ab der du wieder Gabeln haben möchtest. Hilft das?

chf

Hallo ihr beiden,

jetzt kann ich mir die Lösung aussuchen. Beide funktionieren. Danke!

und Gruß
chf

lemzwerg

Interessanterweise wurde die originale Frage nicht wirklich beantwortet, daher hier eine Lösung.  Die unten definierten Befehle \usecresc und \usedim tun genau das, was ursprünglich verlangt.  Will man die kleinen Strichlein haben, einfach die #'style-Zeilen auskommentieren.


usecresc = {
  \once \set crescendoText = \markup { \italic "cresc." }
  \once \set crescendoSpanner = #'text
  \once \override DynamicTextSpanner #'style = #'none
}
usedim = {
  \once \set decrescendoText = \markup { \italic "dim." }
  \once \set decrescendoSpanner = #'text
  \once \override DynamicTextSpanner #'style = #'none
}

harm6

Hallo, Werner?

willkommen im deutschen Forum!

Zitat von: lemzwerg
Interessanterweise wurde die originale Frage nicht wirklich beantwortet, daher hier eine Lösung. 
[...]

Vielen Dank für Deinen Code.


Gruß,
  Harm

lemzwerg

Ich bin da zufällig drübergestolpert und konnte mir nicht verkneifen, meine Lösung zu zeigen, die ich schon seit vielen Jahren verwende :-)