Hallo,
zunächst zu
ZitatUnd eine Frage zu #(define afterGraceFraction (cons 3 4)) :
Wie wird das zurückgenommen?
Es handelt sich um nativen scheme-code, welcher das pair (cons 3 4) im aktuellen module an den Namen afterGraceFraction bindet.
Du kannst es nicht so einfach "zurücknehmen". Du kannst es neu setzen mittels erneutem define oder set!
Siehe in einem ly-file:
#(define afterGraceFraction (cons 3 4))
#(format #t "\nafterGraceFraction: ~a"
(module-ref (current-module) 'afterGraceFraction))
#(set! afterGraceFraction (cons 7 8))
#(format #t "\nafterGraceFraction: ~a"
(module-ref (current-module) 'afterGraceFraction))
#(define afterGraceFraction (cons 10 11))
#(format #t "\nafterGraceFraction: ~a"
(module-ref (current-module) 'afterGraceFraction))
->
Zitat von: terminal
afterGraceFraction: (3 . 4)
afterGraceFraction: (7 . 8)
afterGraceFraction: (10 . 11)
Aber wozu?
In 2.19.82 hat afterGrace ein optionales Argument mit welchem die afterGraceFraction für den aktuellen Aufruf mitgegeben werden kann.
Syntax ist dann also:
\afterGrace OptionalerBruch Musik1 Musik2
So auch im Beispiel unten.
Zitatgerne hätte ich die Verzierungen noch etwas enger und dazu näher am Taktstrich.
Ist das möglich?
Nicht so einfach...
Generell solltest Du den Wert des OptionalerBruch in afterGrace ganz nahe an 1 setzen.
In einem ähnlichen Fall habe ich schon mal taktweise mit
\newSpacingSection
\set Score.proportionalNotationDuration = #(ly:make-moment <whatever>)
gearbeitet.
Führt hier zu (Dein Original ist oben):
\version "2.19.49"
\relative c' {
\clef bass
\time 4/4
\set Score.proportionalNotationDuration = #(ly:make-moment 1/4)
#(define afterGraceFraction (cons 3 4))
R1 \afterGrace R1
{ e32\f [(b as f e des] }
\afterGrace <f, c'>1 )
{ e''32\p [(b as f e des] }
<f, c'>1 )~<f c'>~ <f c'>4
}
\version "2.19.49"
\relative c' {
\clef bass
\time 4/4
\set Score.proportionalNotationDuration = #(ly:make-moment 1/5)
R1
\newSpacingSection
\set Score.proportionalNotationDuration = #(ly:make-moment 1/9)
\afterGrace 100/101
R1
{ e32\f [(b as f e des] }
\newSpacingSection
\set Score.proportionalNotationDuration = #(ly:make-moment 1/5)
\afterGrace 100/101
<f, c'>1)
{ e''32\p [(b as f e des] }
\newSpacingSection
\set Score.proportionalNotationDuration = #(ly:make-moment 1/6)
<f, c'>1 )~<f c'>~ <f c'>4
}
Ist schon ganz passabel, imho.
Aber vielleicht fällt jemandem noch was besseres ein.
Gruß,
Harm
P.S.
Bitte korrigiere noch Dein Code-Beispiel.
EDIT Überflüssigen Code gelöscht
Hmm, schön das der Beispiel-code korrigiert ist. Den Text Deiner Frage hättest Du aber nicht löschen sollen.