Autor Thema: DynamicText  (Gelesen 2914 mal)

chf

  • Member
DynamicText
« 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

harm6

  • Member
Re: DynamicText
« Antwort #1 am: Samstag, 21. April 2012, 00:47 »
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.
« Letzte Änderung: Samstag, 21. April 2012, 09:03 von harm6 »

chf

  • Member
Re: DynamicText
« Antwort #2 am: Samstag, 21. April 2012, 20:01 »
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

  • Member
Re: DynamicText
« Antwort #3 am: Samstag, 21. April 2012, 20:21 »
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

  • Member
Re: DynamicText
« Antwort #4 am: Mittwoch, 25. April 2012, 19:25 »
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

  • Member
Re: DynamicText
« Antwort #5 am: Mittwoch, 25. April 2012, 20:07 »
Hallo,

ich habe mal folgendes definiert:

unsetCrescTextCresc = {
    \unset crescendoText
    \unset crescendoSpanner
}


Sollte funktionieren. Anwendung:  -> Anhang


Gruß,
  Harm


complanar

  • Member
Re: DynamicText
« Antwort #6 am: Donnerstag, 26. April 2012, 16:26 »
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

  • Member
Re: DynamicText
« Antwort #7 am: Donnerstag, 26. April 2012, 17:56 »
Hallo ihr beiden,

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

und Gruß
chf

lemzwerg

  • Member
Re: DynamicText
« Antwort #8 am: Montag, 19. November 2012, 22:13 »
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

  • Member
Re: DynamicText
« Antwort #9 am: Dienstag, 20. November 2012, 01:11 »
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

  • Member
Re: DynamicText
« Antwort #10 am: Dienstag, 20. November 2012, 22:06 »
Ich bin da zufällig drübergestolpert und konnte mir nicht verkneifen, meine Lösung zu zeigen, die ich schon seit vielen Jahren verwende :-)