Zahl zu Akkord im \chordmode via chException hinzufügen [gelöst]

Begonnen von Markus W. Kropp, Mittwoch, 2. August 2017, 09:43

« vorheriges - nächstes »

Markus W. Kropp

Hallo Leute,

ich stehe mal wieder vor einem für mich unlösbaren Problem. Ich finde einfach nichts im Netz, wie ich eine (hochgestellte) Zahl zu einem Akkord, der im \chrdmode geschrieben wird, hinzuaddieren kann. Momentan arbeite ich mit

chExceptions = #( append
  ( sequential-music-to-chord-exceptions chExceptionMusic #t)
  ignatzekExceptions
)


... und meine chExceptionMusic sieht wiefolgt aus:

chExceptionMusic = {

  % Durchgestrichener Kreis / Ellipse
  <c es ges bes>1-\markup { \raise #2.2 { \override #' (y-padding . 0.7) \override #' (x-padding . -0.1) \override #' (thickness . 1.7) \ellipse { " " } } \hspace #-1.35 \raise #1.45 \override #' (thickness . 1.3) \draw-line #'(1.4 . 1.4) \hspace #0.4 \raise #1.5 \small "7" }

}


und definiere meine eigenen Ausnahmen. Im bild1 sieht man das Ergebnis, was ich haben will. Im bild2 sieht man, was standardmäßig ohne chExceptions gestochen wird, wenn ich den Akkord, um den es konkret geht (ohne die "7", die muss ich immer "per Hand" dran hängen):

b:7.3-.5-

eingebe.

Lange Rede, kurzer Sinn: wie kann ich in einer chExceptions nicht ein Symbol austauschen (in diesem Falle den durchgestrichenen Kreis), sondern einfach eine Zahl an das bestehende Symbol (in diesem Fall der durchgestrichener Kreis) per chExceptions hinten dran hängen? Damit es aussieht wie in bild1? Der durchgestrichene Kreis, wie in den Bildern zu sehen, kann man schlecht genau so nachzeichnen mittels \ellipse. Er stammt aus dem lilyjazz-font und muss erhalten bleiben.


mal wieder kopfzerbrechende Grüße

Markus

PS meine Frickellösung ist momentan, dass ich den Akkord wie in bild1 per \chordmode stechen lasse um dann per \markup eine "7" hinten dran zu fummeln. Keine elegante, eher eine zeitraubende Lösung.

harm6


chExceptionMusic = {
<c es ges bes>-\markup {
    %%  f8 is o with slash.
    \super { #(ly:wide-char->utf-8 #x00f8) "7" }
  }
}

chExceptions = #( append
  ( sequential-music-to-chord-exceptions chExceptionMusic #t)
  ignatzekExceptions
)

\new ChordNames
\chordmode { \set chordNameExceptions = #chExceptions b:7.3-.5- }


Siehe auch chord-modifiers-init.ly

HTH,
  Harm

Markus W. Kropp

wow, danke! Dazu habe ich im Netz nix gefunden. Nach chord-modifiers-init.ly zu suchen wäre ich nicht gekommen. Mal wieder was dazu gelernt.

Mal wieder: tausend Dank!!


LG Markus

Markus W. Kropp

noch für andere user:

besagte Datei "chord-modifiers-init.ly" liegt unter Debian-Linux im Verzeichnis "/usr/share/lilypond/2.18.2/ly".

Oder im Netz hier:

https://github.com/lilypond/lilypond/blob/master/ly/chord-modifiers-init.ly


LG Markus