|
From: | Lukas-Fabian Moser |
Subject: | Re: Problem with blackpetrucci |
Date: | Sat, 7 Aug 2021 13:53:20 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 |
Hi Kees,
On Thu, Aug 5, 2021 at 8:39 PM Kees van den Doel <kvdoel@gmail.com> wrote:
But there's also blackmensural.ly by Lukas Pietsch; it's quite old (and to be honest I don't know it at all and can't say how it deals with your problem), but maybe it's of use to you: http://www.lukas-pietsch.de/Music/
I got everything to work fine, except the special note shapes. Interestingly the blackmensural.pdf is illustrated with the begin of the same piece I'm typesetting and has those note shapes perfectly.
Unfortunately it doesn't work with 2.22 and convert-ly gives a long list of errors to fix manually which is beyond my capability.
Actually, despite getting many warnings like below, blackmensural.ly seems to work fine. It's actually quite wonderful and complete and has everything one needs to typeset music from before ~1450.
Actually, I _think_ the ligature code cannot have worked with 2.22; did you try it? (It relied on ancient LilyPond's habit of wrapping everything in EventChords.)
I had time now to look through blackmensural.ly and update it a bit to accomodate for part of what's changed in LilyPond in the last ten years. Now it compiles without complaints on my 2.22.0, see attached.
And oh gosh golly, has LilyPond's scheme integration simplified over that time! (I think thanks to David K.) Behold: Instead of
(make-music
'ContextSpeccedMusic
'context-type 'Staff
'element
(make-music
'SequentialMusic
'elements (list
(make-music
'OverrideProperty
'symbol 'Clef
'grob-property-path (list 'stencil)
'grob-value mystencil)
(make-music ; dummy setting
'PropertySet
'symbol 'clefGlyph
'value "clefs.C")
(make-music
'PropertySet
'symbol 'middleCClefPosition
'value midCpos)
(make-music
'PropertySet
'symbol 'clefPosition
'value linepos)
(make-music
'ApplyContext
'procedure ly:set-middle-C!)
)))
we may now write
#{
\context Staff {
\override Staff.Clef.stencil = #mystencil
\set Staff.clefGlyph = "clefs.C"
\set Staff.middleCClefPosition = #midCpos
\set Staff.clefPosition = #linepos
\applyContext #ly:set-middle-C!
}
#}
(maybe this would have partly worked in 2.12, but if I understand in correctly, there used to be issues regarding _when_ integrated Lilypond code is being interpreted).
I can't guarantee that there won't arise subtle problems (spacing differences, features I didn't test yet etc., especially since I also had to "update" some things that I didn't fully understand), but at least it should be a good starting point for further work.
Lukas
blackmensural.ly
Description: Text Data
[Prev in Thread] | Current Thread | [Next in Thread] |