Deutsches Lilypond Forum (Archiv)

Allgemein => Fragen zu Funktionen => Thema gestartet von: brf am Dienstag, 13. Mai 2008, 10:30

Titel: Verzierungssechzehntel als Ausführungsmarkup (acciaccatura)
Beitrag von: brf am Dienstag, 13. Mai 2008, 10:30
Ich habe mehrere Stunden die Lilyponddokumentation durchgesehen und keine Lösung gefunden. Wie kann man unter dem Notensystem in eckigen Klammern als Markup Verzierungssechzehntel (Achtel mit Schrägstrich!) als Ausführungshinweis setzen?

(Vielleicht zur genaueren Erklärung: Ich will mit kleinem Schriftgrad unter dem Notensystem einen Ausführungshinweis mit \grace{}-Noten (daher Verzierung) setzen, noch genauer als \acciaccatura. Etwa so:

    [.|' .|'] --- nur das die Achtel noch mit einem schrägen Querstrich durchgestrichen sein sollen

)
Titel: Re: Verzierungssechzehntel als Ausführungsmarkup (acciaccatura)
Beitrag von: derHindemith am Mittwoch, 14. Mai 2008, 14:08
Ich schläge es so vor:
<< \new Staff { c'4 e'4 g'4 c''4 d''4 f''4 e''4 a'4 }
        \new Staff \with {
                \remove "Time_signature_engraver"
                \remove "Clef_engraver"
                \remove "Staff_symbol_engraver"
                fontSize = #-2 }
        {s1 s2 \acciaccatura { \stemDown c''16 c''16 } s2} >>

Titel: Re: Verzierungssechzehntel als Ausführungsmarkup (acciaccatura)
Beitrag von: brf am Mittwoch, 14. Mai 2008, 16:54
Danke; das probiere ich heute abend gleich mal aus.

Ich habe selbst nur unter \markup gesucht.
Titel: Re: Verzierungssechzehntel als Ausführungsmarkup (acciaccatura)
Beitrag von: Andre am Donnerstag, 15. Mai 2008, 12:59
Sieht nicht sehr chic aus aber es geht auch mit \markup :)

_\markup { [ \fontsize #-6 \note #"8" #1 \translate #(cons -1.5 0) { / } \normalsize ] }
Titel: Re: Verzierungssechzehntel als Ausführungsmarkup (acciaccatura)
Beitrag von: ding-dong am Donnerstag, 15. Mai 2008, 14:17
@andre
also ich finde das funktionell und elegant! :D
Titel: Re: Verzierungssechzehntel als Ausführungsmarkup (acciaccatura)
Beitrag von: brf am Donnerstag, 15. Mai 2008, 15:31
Noch mal vielen Dank.

Auf Anhieb hat mir zunächst die markup-Lösung besser gefallen. Aber nach dem Ausprobieren haben beide Varianten noch Nachteile.

Auszug:

movB = \transpose c c'' {
 \key g \major
 \time 2/4
 \set tupletSpannerDuration = #(ly:make-moment 1 8)
 \override Script #'padding = #1
  b4 e |
  g16 fis e dis e8 c |

...
  g,8 g4 f16 e |
  \appoggiatura f16
  _\markup { [ \fontsize #-6 \note #"8" #1
  \translate #(cons -1.5 0) { / } \normalsize ] }
  e8 d r b ~ |
...
  \appoggiatura d16
<<  {c8}
\new Staff \with {
\remove "Time_signature_engraver"
\remove "Clef_engraver"
\remove "Staff_symbol_engraver"
fontSize = #-2 }
{\acciaccatura { \stemDown d'8  } } >>

b,16 a, b, d g8 ~ |


zu markup: Der Schrägstrich ist zu steil und sollte deutlich durch Notenhalt und Achtelfähnchen gehen. So ist es beim Spielen schlecht erkennbar.

zu newstaff: Ich bekomme den accaciatura nicht unter den appociatura (wo er eigentlich hingehört); er hat einen (hier falschen) Bindebogen und anschließend werden alls folgenden Noten zu grace-Noten ???
Titel: Re: Verzierungssechzehntel als Ausführungsmarkup (acciaccatura)
Beitrag von: ding-dong am Donnerstag, 15. Mai 2008, 17:27
man kann mit allen grössen ein bisschen herumspielen:
{ \acciaccatura f 16 _
\markup { 
\hspace #-1.6 [
\fontsize #-6
\note #"8" #1.4
\translate #( cons -1.2 0.5) { \rotate #-30 \fontsize #-1 \bold / } 
\normalsize
]
}
g 4
}
alles ist hängt jedoch zusammen sodass man beim ändern des einen auch das andere wieder verändern muss...
viel spass!
Titel: Re: Verzierungssechzehntel als Ausführungsmarkup (acciaccatura)
Beitrag von: etilli33 am Donnerstag, 15. Mai 2008, 20:38
Hei, wenn ihr eine funktionierende Lösung gefunden hat, wär es schön, wenn ihr sie im Schnipsel-Reservoir ablegen könntet:
http://lsr.dsi.unimi.it/

Gruß
Till
Titel: Re: Verzierungssechzehntel als Ausführungsmarkup (acciaccatura)
Beitrag von: brf am Freitag, 16. Mai 2008, 09:03
In dieser Diskussion ist mir wie ich gerade feststelle mein zweites Anliegen untergegangen. Ich suche eine Lösung für mein Satzproblem. Aber ich glaube, dass es möglich sein muss, die accacciaturas und appocciaturas auch im markup setzen zu können. Und zwar als einfache Glyphen beliebiger Größe. Das wäre doch eigentlich die gute Lösung. Warum kriege ich das nicht hin und warum finde ich nirgendwo in der Dokumentation einen Hinweis?

Wenn es hier keine Antwort gibt, nehme ich natürlich eine der vorgeschlagenen Wege.
Titel: Re: Verzierungssechzehntel als Ausführungsmarkup (acciaccatura)
Beitrag von: ding-dong am Freitag, 16. Mai 2008, 09:08
welches glyph denn?
Titel: Re: Verzierungssechzehntel als Ausführungsmarkup (acciaccatura)
Beitrag von: brf am Freitag, 16. Mai 2008, 11:14
Nun mit Glyph meine ich die konkrete Ausführung eines Schriftsymbols und hier des accacciatura-Symbols (  .|'  )
Titel: Re: Verzierungssechzehntel als Ausführungsmarkup (acciaccatura)
Beitrag von: derHindemith am Freitag, 16. Mai 2008, 15:33
Leider existiert in lilypond kein "acciaccatura" glyph. Alle Glyphs im Schrift Emmentaler und Feta sind in section B.4. der Lilypond Anleitung  http://lilypond.org/doc/v2.11/Documentation/user/lilypond/The-Feta-font#The-Feta-font  (http://lilypond.org/doc/v2.11/Documentation/user/lilypond/The-Feta-font#The-Feta-font).

Wenn du wirklich ein "acciaccatura" willst, bräuchst so sowas ähnliches: _\markup { [ \fontsize #-6 \note #"8" #1 \translate #(cons -1.5 0) { \musicglyph #"flags.ugrace" } \normalsize ] }

Dass ist nur die note mit dem "grace" Balken.
Titel: Re: Verzierungssechzehntel als Ausführungsmarkup (acciaccatura)
Beitrag von: brf am Samstag, 17. Mai 2008, 19:00
Toll, das scheint eine gute Lösung zu sein.

  \appoggiatura f16
_\markup { [ \fontsize #-6 \note #"8" #1
\translate #(cons -1.05 1.5) { \fontsize #-6 \musicglyph #"flags.ugrace" }
\normalsize ] }
  e8 d r b ~ |

schaut ganz gut aus.

Allerdings ist das größenabhängig. Bei normalem Font muss man andere offsets wählen:


  \appoggiatura f16
_\markup { [ \note #"8" #1
\translate #(cons -1.5 2.9) { \musicglyph #"flags.ugrace" } ] }
  e8 d r b ~ |

(Alles rein experimentell. Wo sind denn die Positionierungsalgorithmen erläutert? Nur im Sourcecode. In der Doku habe ich nichts aufgetrieben)

DANKE an ALLE für Eure Hilfe