Autor Thema: Notenabstand in Verzierungen  (Gelesen 80 mal)

chf

  • Full Member
  • ***
  • Beiträge: 108
Notenabstand in Verzierungen
« am: Sonntag, 10. Februar 2019, 11:36 »
\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
}

« Letzte Änderung: Montag, 11. Februar 2019, 10:30 von chf »

harm6

  • Sr. Member
  • ****
  • Beiträge: 464
Antw:Notenabstand in Verzierungen
« Antwort #1 am: Montag, 11. Februar 2019, 00:13 »
Hallo,

zunächst zu
Zitat
Und 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.

Zitat
gerne 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
« Letzte Änderung: Montag, 11. Februar 2019, 01:54 von harm6 »

chf

  • Full Member
  • ***
  • Beiträge: 108
Antw:Notenabstand in Verzierungen
« Antwort #2 am: Montag, 11. Februar 2019, 10:35 »
Hallo Harm,

das ist wunderbar!

Nach einem langen Stand "auf dem Schlauch" habe ich den Code korrigiert...

Danke
Christa

harm6

  • Sr. Member
  • ****
  • Beiträge: 464
Antw:Notenabstand in Verzierungen
« Antwort #3 am: Montag, 11. Februar 2019, 13:25 »
Hmm, schön das der Beispiel-code korrigiert ist. Den Text Deiner Frage hättest Du aber nicht löschen sollen.