• Willkommen im Forum „Archiviertes Lilypond Forum (2017)“.
 

Dies ist das Archiv des alten Forums (bis März 2017). Das aktuelle Forum ist unter lilypondforum.de zu finden.
This is the archive of the old forum (until March 2017). You can find the current forum at lilypondforum.de.

Hauptmenü

Akzidenzien irgendwo hin setzen

Begonnen von Glareanus, Montag, 3. Februar 2014, 19:33

Vorheriges Thema - Nächstes Thema

Glareanus

Hallo,

ich hab mal wieder ein Problem: Ich setze gerade den Anhang zu einer wiss. Arbeit zu mittelalterlicher Musik. Die Quellen haben die Eigenheit, dass ein Vorzeichen oft weit von der Note, auf die es sich bezieht, entfernt steht. Es kann also auf der Höhe eines c' stehen, obwohl weit und breit kein c' in Sicht ist. Diese Eigenheit soll die Edition auch genau so wiedergeben.

Ich hatte mir da (unter Verwendung von diversen Schnipseln) etwas (vielleicht etwas hanebüchenes) gebastelt, was in der Version 2.16.1 auch wunderbar funktioniert hat (im Grunde: eine Vorschlagsnote mit einem b-durum, vulgo Kreuz, überschreiben):


\version "2.16.1"

AkzidenzH = 
  #(define-music-function
  (parser location note)
  (ly:music?)
  #{
   \grace
   \tweak NoteHead #'stencil #ly:text-interface::print
   \tweak NoteHead #'text
    \markup { \large \musicglyph #"accidentals.sharp" }
    \tweak Stem #'stencil ##t
    #note
  #})
 

\relative c' { c \AkzidenzH f d e c d e c d e}


Leider tuts das in der aktuellen Lilypond-Version 2.18.0 nicht mehr... (auch nicht mit Versions-Angabe 2.16.1)
Was hat sich da geändert? Und: Sehe ich vielleicht den Wald vor lauter Bäumen nicht, und es ginge viel einfacher?

Für jeden Tipp dankbar ist

Bernhard

fugenkomponist

#1
Ab 2.18.0 kann man in Overrides ,,NoteHead.stencil" statt ,,NoteHead #'stencil" schreiben, in Tweaks muss man es anscheinend. Ich hab außerdem den Stem.stencil noch von ##t nach ##f geändert, was genau sollte ##t da sagen?
\version "2.18.0"

AkzidenzH = 
#(define-music-function
  (parser location note)
  (ly:music?)
  #{
    \grace
    \tweak NoteHead.stencil  #ly:text-interface::print
    \tweak NoteHead.text \markup { \large \musicglyph #"accidentals.sharp" }
    \tweak Stem.stencil ##f
    #note
  #})


\relative c' { c \AkzidenzH f d e c d e c d e}
Edit: Wenn ich das recht erinnere, wird die Schreibweise ,,NotHead #'stencil" irgendwann evtl. komplett abgeschafft. Siehe dazu http://lilypond.org/doc/v2.18/Documentation/changes/index.html, da wird auch erwähnt, dass die alte Schreibweise für manche Funktionen wie \overrideProperty nicht mehr geht. Anscheinend gehört \tweak auch dazu.

Glareanus

WOW! Ich hab ja ziemlich fest damit gerechnet, hier eine Lösung zu kriegen - aber so schnell?!?
Den besten Dank dafür!!!

Vielleicht sollte ich noch dazu sagen, dass ich mich als, naja, gelegentlicher Lilypondnutzer mit gelegentlichen exotischen Wünschen eben auch gelegentlich auf dem Schlauch stehe und mich irgendwo in den Handbüchern verheddere...

Nochmal ganz herzliches Dankeschön für die prompte Hilfe!

Bernhard