Autor Thema: Bindebogen und \afterGrace - warum?!?  (Gelesen 1530 mal)

kilgore

  • Member
Bindebogen und \afterGrace - warum?!?
« am: Sonntag, 19. April 2015, 10:38 »
Hi Lilys!

Eigentlich habe ich kein dringendes Problem, nur nervt diese Fehlermeldung beim binden von einem \afterGrace. Ich möchte nur verstehen warum das so ist. Mit Legatobogen ist alles einfach gelöst aber Bindebogen "sollte" auch gehen, oder?!?   :o

\version "2.18.0"

\relative c' {
 c~ \grace c8~ c4 r2
 \afterGrace c4~ c8~ c4 r2
}

Gruß
kil
« Letzte Änderung: Sonntag, 19. April 2015, 10:42 von kilgore »

harm6

  • Member
Re: Bindebogen und \afterGrace - warum?!?
« Antwort #1 am: Sonntag, 19. April 2015, 21:30 »
Hi kil :)

die Ursache liegt in der Definition von afterGrace.

Compilier mal folgenden Code (unverändert!)
\relative c' { \afterGrace c2~ c8~ c2 }Das Ergebnis wird Dich vielleicht überraschen.

De facto ist das visuelle Endergebnis welches mit afterGrace intendiert wird ein fake. Gemacht mit einer Kombination aus sequentiellen und simultanen Musikausdrücken.
(Wenn man keinen Kontext angibt, wie in obigem Beispiel, ist das überdeutlich sichtbar.)

Ausgeschrieben in LilyPond-Syntax ist obiges Beispiel:
\relative c' {
  <<
    c2~
    { \skip 4. \grace c8~ } %% <---- hier fehlt was
  >>
  c2
}

Nun kann man sehen, daß in der Unterstimme ein Achtel zur Dauer der Oberstimme fehlt.
Deshalb kann ein Tie nicht funktionieren.

Es sei denn Du setzt tieWaitForNote (da ist eine Setzung der Voice übrigens schon mit drin):
\relative c' {
   \set tieWaitForNote = ##t %% inherits setting a 'Voice
   \afterGrace c2~  c8~
    c2
}

Viele Grüße,
  Harm

kilgore

  • Member
Re: Bindebogen und \afterGrace - warum?!?
« Antwort #2 am: Montag, 20. April 2015, 00:43 »
Zitat
Compilier mal folgenden Code (unverändert!)
Code: [Auswählen]

\relative c' { \afterGrace c2~ c8~ c2 }

Das Ergebnis wird Dich vielleicht überraschen.

Tatsächlich!!  ???

Ich wusste das muss irgendein "workaround" sein.  Voll interessant und einleuchtend, danke harm! Warum dann aber funktioniert Dynamik, was ja auch bei so einer Situation (zB ein crescendo bei Zweistimmigkeit das in Einstimmigkeit enden sollte) eigentlich nicht geht... ?

Zitat
Es sei denn Du setzt tieWaitForNote (da ist eine Setzung der Voice übrigens schon mit drin):

another good workaround :) tieWaitForNote kannte ich noch gar nicht!!

Gruß
kil