Autor Thema: eigene Zeichen verwenden  (Gelesen 38 mal)

erich

  • Full Member
  • ***
  • Beiträge: 178
eigene Zeichen verwenden
« am: Mittwoch, 15. Mai 2019, 12:09 »
Hallo allen,

Vorzeichen kann ich mit
\version "2.19.83"
\include "quintgen36.ly"
\paper {indent = 0}

       \score {
         \new Staff \with {\remove Time_signature_engraver \eClef}
         <<
         \new Voice {\u1 \time 5/2
                     \C c'2 ee' g' ae' be'  \N c'2 ee' g' ae' be'}
         \new Lyrics \lyricmode {C E↓ G A↓ B↓ C E↓ G A↓ C↓  }
         >>
         
       }
korrekt in meinem Sinne ausgeben (siehe unten); dabei verwende ich folgende Snipsel
pitchGlyphs = #`(
                  ( 0 . "")
                  (20856/199999 . "accidentals.sharp")
                  (-20856/199999 . "accidentals.flat")
                )
und
N =  \set Staff.keyAlterations =  #`(  )

C = \set Staff.keyAlterations =
       #`(
           (3 . ,(- KOMMA))
           (4 . ,(- KOMMA))
           (8 . ,KOMMA)
           (9 . ,(- KOMMA)) 
           (10 . ,KOMMA)
           (11 . ,(- KOMMA)) 
           )

Die Vor- bzw. Versetungszeichen werden hier missbräuchlich für Alterationen um etwa ein syntonisches Komma verwendet. Um Fehlinterpretationen zu vermeiden, möchte ich statt der traditionellen Versetzungszeichen eigene Zeichen verwenden, die z.B. als EPS-Dateien vorliegen können.

Ich weiß leider nicht, wie ich das über die pitchGlyphs-Definition erreichen kann. Kann mit eine oder einer dabei helfen?

Gruß Erich

harm6

  • Hero Member
  • *****
  • Beiträge: 517
Antw:eigene Zeichen verwenden
« Antwort #1 am: Mittwoch, 15. Mai 2019, 23:51 »
Hallo Erich,

die stencil-proceduren für Accidental, KeySignature etc akzeptieren nur Schriftglypen, afaiu.
Falls Du eigene markups dort sehen willst, so mußt Du neue stencil-proceduren schreiben.

Für Accidental ist das einfach:

my-natural = \markup \vcenter { \epsfile #X #10 "note.eps" → }

#(define-public my-glyphs
  `(
    (0 . ,my-natural)
    ))

{
  \override Accidental.layer = -200
  \override Accidental.glyph-name-alist = #my-glyphs
  \override Accidental.stencil =
    #(lambda (grob)
       (grob-interpret-markup grob
         (assoc-get
           (ly:grob-property grob 'alteration)
           my-glyphs
           (make-vcenter-markup "??"))))
         
  b! c'! d'!
}

Aber eine neue stencil-procedure für KeySignature tu ich mir nicht an. Sorry.


Gruß,
  Harm

erich

  • Full Member
  • ***
  • Beiträge: 178
Antw:eigene Zeichen verwenden
« Antwort #2 am: Donnerstag, 16. Mai 2019, 08:24 »
Hallo Harm,

eigentlich wollte ich zwei symmetrische Zeichen erzeugen, merke aber, dass es besser ist, welche zu nehmen, die sich gut unterscheiden wie ♯ und ♭. Es gibt für türkische Musik das Koma als Zeichen für das pythagoreische Komma (accidentals.sharp.slashslash.stem, accidentals.mirroredflat) die das bezeichnen, was mir vorschwebt; ich werde also diese beiden Zeichen verwenden.

Danke, für Deine Hilfe!
Gruß Erich