|
From: | Graham Breed |
Subject: | Re: Persian musical koron and sori |
Date: | Thu, 19 Feb 2009 08:09:34 +0800 |
User-agent: | Thunderbird 2.0.0.19 (X11/20090105) |
Kees van den Doel wrote:
Then in "\context" add \override Accidental #'stencil = #ly:text-interface::print \override Accidental #'font-name = #"???" \override Accidental #'font-size = #? \override Accidental #'text = #(lambda (grob)(cdr (assoc (ly:grob-property grob 'alteration)persianStrings))) \override Accidental #'X-extent = #'(0 . 1) \override Accidental #'Y-extent = #'(-1 . 1)Works great with the typo's fixed. Is there a way to do this only for koron and sori and render the normal accidentals as usual?
There surely is, but it won't be pretty. You can try:-- Scheme functions for all these properties, that check if the alteration requires the new font, and default to the original values if it doesn't.
-- Putting all the \override commands in a variable, and calling it with \once when you need it.
-- Writing all the normal accidentals as \markup blocks that load the correct glyphs.
Note that if you want two glyphs at the same time for the same note they have to be strings or markup.
and so on for KeySignatureIf I do the same for KeySignature \override KeySignature #'text = #(lambda (grob)(cdr (assoc (ly:grob-property grob 'alteration)persianStrings))) gives me an error. It's been almost 20 years since I've used Scheme and I don't remember enough to be able to guess what the problem is...
Ah, yes. That's not going to work. The key signatures are drawn differently to accidentals. They have to place all the glyphs, not only one glyph for a given accidental. Maybe somebody on the list can suggest a way to override
them... Graham
[Prev in Thread] | Current Thread | [Next in Thread] |