lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Problem with blackpetrucci


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,

Am 06.08.21 um 19:07 schrieb Kees van den Doel:


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

Attachment: blackmensural.ly
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]