Autor Thema: Akzidenzien irgendwo hin setzen  (Gelesen 1705 mal)

Glareanus

  • Member
Akzidenzien irgendwo hin setzen
« am: Montag, 3. Februar 2014, 19:33 »
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

  • Member
Re: Akzidenzien irgendwo hin setzen
« Antwort #1 am: Montag, 3. Februar 2014, 20:27 »
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.
« Letzte Änderung: Montag, 3. Februar 2014, 20:30 von fugenkomponist »

Glareanus

  • Member
Re: Akzidenzien irgendwo hin setzen
« Antwort #2 am: Montag, 3. Februar 2014, 21:36 »
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