Deutsches Lilypond Forum (Archiv)
Allgemein => Fragen zu Funktionen => Thema gestartet von: chf am Freitag, 20. April 2012, 18:49
-
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
-
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\!
}
\version "2.14.2"
\relative c'' {
\override DynamicTextSpanner #'style = #'none
\crescTextCresc
c1*1/16\< s1*15/16\!
}- Oder mit DynamicScripts. Siehe diesen (https://liarchiv.joonet.de/index.php?topic=916.msg5080) 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.
-
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
-
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
-
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
-
Hallo,
ich habe mal folgendes definiert:
unsetCrescTextCresc = {
\unset crescendoText
\unset crescendoSpanner
}
Sollte funktionieren. Anwendung: -> Anhang
Gruß,
Harm
-
Probiers doch mal mit dem Einfügen von \crescHairpin oder \dimHairpin vor der Stelle, ab der du wieder Gabeln haben möchtest. Hilft das?
-
Hallo ihr beiden,
jetzt kann ich mir die Lösung aussuchen. Beide funktionieren. Danke!
und Gruß
chf
-
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
}
-
Hallo, Werner?
willkommen im deutschen Forum!
Interessanterweise wurde die originale Frage nicht wirklich beantwortet, daher hier eine Lösung.
[...]
Vielen Dank für Deinen Code.
Gruß,
Harm
-
Ich bin da zufällig drübergestolpert und konnte mir nicht verkneifen, meine Lösung zu zeigen, die ich schon seit vielen Jahren verwende :-)